You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否删除EC2实例的nvme0n1?改用nvme1n1规避EBS费用

关于移除EC2 c5d.xlarge实例上的EBS卷(nvme0n1)改用本地NVMe的方案

核心结论

可以移除nvme0n1(EBS卷)并改用nvme1n1(本地NVMe存储)来规避EBS费用,但前提是nvme0n1不是实例的系统盘。如果它是系统盘,需要先把系统迁移到本地NVMe后才能移除。

第一步:确认nvme0n1的用途

先通过以下命令判断该EBS卷是否为系统盘:

lsblk -f

查看输出中nvme0n1对应的挂载点,如果是/(根目录),那它就是系统盘;如果是其他挂载点(比如/data),则为数据盘,可直接移除。

情况1:nvme0n1是数据盘(非系统盘)

1. 卸载挂载的EBS卷

先停止使用该卷上的所有进程,然后卸载:

umount /dev/nvme0n1p1  # 替换为实际的挂载分区,比如nvme0n1的分区

如果提示“target is busy”,可以用fuser -mv /mount/path找到占用进程,停止后再卸载。

2. 在AWS控制台分离EBS卷

  • 登录AWS EC2控制台,找到你的c5d.xlarge实例
  • 进入「存储」标签,找到对应的9GB EBS卷(nvme0n1)
  • 点击「分离卷」,确认操作即可。注意:运行中的实例也可以热分离,但必须先完成卸载步骤

3. 配置使用nvme1n1(本地NVMe)

如果还没格式化本地盘,先格式化(注意会清除所有数据):

mkfs.ext4 /dev/nvme1n1

然后创建挂载点并挂载:

mkdir /local-storage
mount /dev/nvme1n1 /local-storage

如果需要开机自动挂载,编辑/etc/fstab添加一行:

echo "/dev/nvme1n1 /local-storage ext4 defaults 0 0" >> /etc/fstab

情况2:nvme0n1是系统盘

这种情况不能直接移除,需要先把系统迁移到本地NVMe(nvme1n1),步骤如下:

  1. 停止实例(不能用终止),分离当前的系统EBS卷(作为备份)
  2. 启动一个临时EC2实例,将备份的EBS卷挂载到临时实例,同时确保临时实例的本地NVMe可访问
  3. 用rsync将EBS卷上的系统数据完整复制到本地NVMe:
    rsync -aAXv /mnt/ebs-system/ /mnt/local-nvme/
    
  4. 调整本地NVMe的引导配置:修复GRUB引导项,更新/etc/fstab中的磁盘UUID为本地NVMe的UUID
  5. 停止临时实例,将原c5d.xlarge实例重新启动,此时系统会从本地NVMe引导
  6. 确认系统正常运行后,即可删除原EBS卷

重要提醒

  • c5d系列的本地NVMe存储是实例自带的,不会产生额外EBS费用,但实例终止后本地盘的数据会永久丢失,务必做好定期备份
  • 所有操作前请确认关键数据已备份,避免数据丢失

内容的提问来源于stack exchange,提问作者Rick Shin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 11:15:41