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

AWS Linux实例卷扩容后合并分区解决磁盘空间不足问题

AWS Linux实例卷扩容后合并分区解决磁盘空间不足问题

嗨,看起来你遇到了AWS卷扩容后常见的小坑,别着急,咱们一步步理清楚解决:

首先先澄清一个关键误解:AWS里扩容现有卷不会生成新卷,所以你控制台看到两个卷(8GB和500GB),大概率是操作时误创建了新卷,而非直接扩容原卷;也可能是控制台显示的旧快照残留。不过先不管这个,先解决实例里磁盘空间不足的核心问题。

第一步:先搞懂当前磁盘状态

先看你手里的lsblk和df -hT输出,核心无非两种情况:

  • 情况1:扩容后的500GB磁盘已经挂载,但分区/文件系统没扩展到整个磁盘大小,所以df还是显示8GB
  • 情况2:实例同时挂载了原8GB卷和新500GB卷,根目录还在旧卷上,导致空间不足

情况1:分区未扩展到整个磁盘(最常见)

如果lsblk显示类似这样的结果:

NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda       8:0    0  500G  0 disk
└─sda1    8:1    0    8G  0 part /

说明磁盘本身已经是500GB了,但分区(sda1)还停留在原来的8GB,只需要扩展分区和文件系统即可:

  1. 先通过df -hT确认文件系统类型:
    • 如果是xfs类型:
      直接执行命令扩展文件系统,无需先扩展分区:
      sudo xfs_growfs /
      
      执行完再用df -h验证,就能看到500GB的可用空间了。
    • 如果是ext4(或ext2/ext3)类型:
      先安装分区扩展工具(如果没装的话):
      # Amazon Linux/CentOS用这个
      sudo yum install cloud-utils-growpart
      # Ubuntu/Debian用这个
      sudo apt install cloud-guest-utils
      
      然后扩展分区:
      sudo growpart /dev/sda 1
      
      最后扩展文件系统:
      sudo resize2fs /dev/sda1
      
      再用df -h确认空间是否正常。

情况2:实例挂载了两个独立卷

如果lsblk显示两个磁盘(比如sda是8GB挂载在/,sdb是500GB未挂载或挂在其他目录),那你需要把500GB卷设为新的根目录:

  1. 先格式化新卷(注意:格式化会清空数据,有重要数据先备份):
    sudo mkfs.xfs /dev/sdb  # 偏好ext4的话换成mkfs.ext4
    
  2. 临时挂载新卷到临时目录:
    sudo mount /dev/sdb /mnt/newvol
    
  3. 同步原根目录的所有数据到新卷:
    sudo rsync -avx / /mnt/newvol
    
  4. 修改/etc/fstab让新卷开机自动挂载为根目录:
    先获取新卷的UUID:
    sudo blkid /dev/sdb
    
    编辑fstab文件:
    sudo vi /etc/fstab
    
    添加一行(替换成你的UUID和文件系统类型):
    UUID=xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx / xfs defaults 0 0
    
  5. 重启实例,重启后原8GB卷就可以卸载,甚至在AWS控制台删除了。

最后关于控制台的两个卷:你可以在实例详情的「存储」标签里,查看挂载的卷ID,对应控制台里的卷条目,把没用的那个(比如未挂载的8GB或500GB卷)删除,避免后续混淆。

备注:内容来源于stack exchange,提问作者marciokoko

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 11:04:52