如何配置EC2 i3.large实例获取475GB存储?实际存储不符解惑
为什么i3.large实例的存储显示和标称不符?
我来帮你拆解这个问题,其实核心是混淆了EC2实例的两种不同存储类型:
1. 为什么df -h看到的总存储只有22.5GB?
你输出里的几个文件系统都不是实例的标称存储:
/dev/xvda1是EBS根卷:AWS默认给EC2实例分配的根卷通常是8GB左右(不同AMI镜像可能略有差异),这就是你看到7.8G的原因,而且它已经被完全占满了。devtmpfs和tmpfs是内存挂载的临时文件系统:它们占用的是i3.large实例的8GB内存空间,并不是真正的磁盘存储,重启实例后这些文件系统里的数据会直接消失。
把这几个的大小加起来就是你看到的22.5GB,但这完全不是实例的标称存储容量。
2. 实例类型表中的0.475TB指的是什么?
这个0.475TB是i3.large实例自带的本地NVMe SSD实例存储——这种存储是直接挂载在物理服务器上的高速磁盘,和EBS云卷是完全独立的。
默认情况下,AWS不会自动挂载这种本地存储,所以你用df -h看不到它。要验证它的存在,执行lsblk命令,你会看到一个名为nvme0n1(或类似命名)的块设备,它的大小就是约475GB。
如何使用这块本地存储?
如果要用上它,步骤很简单(注意:格式化会清空设备上的所有数据,新实例直接操作即可):
- 格式化设备:
mkfs.ext4 /dev/nvme0n1 - 创建挂载点:
mkdir /data - 挂载设备:
mount /dev/nvme0n1 /data - 再执行
df -h,就能看到这块475GB的存储了。
如果需要开机自动挂载,可以把以下内容添加到/etc/fstab文件中:
/dev/nvme0n1 /data ext4 defaults,nofail 0 2
⚠️ 重要提醒:本地实例存储是临时存储,如果实例停止、终止或者所在物理服务器出现故障,存储里的数据会永久丢失。所以它适合存放缓存、临时计算数据这类不需要长期保留的内容,核心数据还是存在EBS卷或对象存储里更稳妥。
另外,你的根卷已经满了,可以考虑清理/目录下的无用日志、临时文件,或者通过AWS控制台扩展EBS根卷的大小来解决。
内容的提问来源于stack exchange,提问作者Cherry
相关产品推荐
相关产品推荐

