亚马逊云个人实名 亚马逊云如何增加磁盘容量

亚马逊aws / 2026-04-17 17:13:49

你有没有过这种时刻:凌晨三点,服务器报警说根目录只剩2%空间;你火速登录EC2,发现df -h/那一行红得像番茄酱;你手抖复制粘贴网上搜来的“扩容教程”,结果执行到resize2fs时弹出“Invalid argument”……然后你盯着黑屏,默默点了重启——顺便重启了人生。

别慌。今天咱们不讲概念,不堆术语,就当是坐在你工位旁边,泡着枸杞茶,一边敲命令一边唠嗑:亚马逊云(AWS)里到底怎么给磁盘加容量?不是“删日志凑合用”,也不是“重装系统求心安”,而是实打实、可回滚、不丢数据的扩容三步法:改云盘、调分区、扩文件系统。全程基于真实环境(Amazon Linux 2 / Ubuntu 22.04 + x86_64 + EBS gp3卷),命令带解释,报错有对策,连lsblk输出为啥多出个p1都给你画重点。

第一步:先搞清你在扩谁的肚子

AWS里磁盘不是一块铁板,它分三层:最上是文件系统(比如ext4),中间是分区表(MBR或GPT),底下才是EBS卷本身。扩容失败90%因为搞混了这仨——就像想给西装加肥,却去剪领带。

先登进你的EC2实例,跑这句:

lsblk -f

看输出里类似这样的结构:

NAME    FSTYPE LABEL UUID                                 MOUNTPOINT
nvme0n1                                                                 
└─nvme0n1p1 ext4         1a2b3c4d-5e6f-7g8h-9i0j-k1l2m3n4o5p6 /

注意!nvme0n1是EBS卷本体,nvme0n1p1是它上面的分区,/是挂载点。如果你看到的是nvme0n1直接挂载(没p1),说明用了无分区直挂——这种情况反而更简单,但极少见。99%人面对的是带p1的结构。

第二步:云上扩容——动EBS卷,不动实例

重点来了:扩容EBS卷无需关机(但强烈建议快照备份!)。打开AWS控制台 → EC2 → 左侧“弹性块存储”→“卷”,找到你实例挂载的卷(看“附件”列),右键→“修改卷”。把“大小”从当前值(比如30GiB)改成目标值(比如50GiB),点“修改”。

等状态变成“in-use”且“已优化”,别急着进系统!这时候lsblk依然显示旧大小——因为OS还没“感知”到新空间。你得手动通知它:

sudo nvme format -s 1 /dev/nvme0n1  # 仅限Nitro实例(新机型)
sudo growpart /dev/nvme0n1 1        # 扩展分区1占满新卷空间

亚马逊云个人实名 ⚠️注意:如果设备名是xvda(老一代实例),命令换成sudo growpart /dev/xvda 1;如果growpart报“command not found”,装它:sudo yum install cloud-utils-growpart -y(AL2)或sudo apt install cloud-guest-utils -y(Ubuntu)。

再跑lsblk,你会看到nvme0n1p1大小变了!但df -h还是老样子——分区是胖了,衣服(文件系统)还没换。

第三步:地上扩容——让文件系统吞下新地盘

根据文件系统类型选命令:

  • ext4(最常见)sudo resize2fs /dev/nvme0n1p1
  • xfssudo xfs_growfs /(注意:这里填挂载点/,不是设备名!)

执行完立刻df -h——恭喜,/目录容量已更新!

避坑指南:那些让你想砸键盘的瞬间

❌ 坑1:“扩容后空间没变!”
八成卡在growpart没执行,或执行了但忘了resize2fs。记住口诀:卷大了→分区要撑开→文件系统得吃饭

❌ 坑2:“resize2fs报错‘The filesystem is mounted’”
这是正常提示!ext4支持在线扩容,它只是提醒你“我在动活体”,不是报错。继续执行就行。

❌ 坑3:“xfs_growfs提示‘data size changed’但df没变”
检查挂载点是否写错(比如写了/dev/nvme0n1p1而非/),或确认文件系统确实是xfs:df -T /

❌ 坑4:“扩容后启动不了?”
只可能发生在你误操作了/boot分区或GRUB配置。本文方法只动根分区,只要不碰/boot目录和grub.cfg,绝对安全。

Bonus:数据卷扩容(比如挂载在/mnt/data)

步骤几乎一样,唯一区别:卸载再操作

  1. sudo umount /mnt/data
  2. 控制台扩容EBS卷
  3. sudo growpart /dev/nvme1n1 1(假设设备名是nvme1n1)
  4. sudo resize2fs /dev/nvme1n1p1(或xfs_growfs /mnt/data
  5. sudo mount /mnt/data

为什么数据卷要卸载?因为某些旧内核对挂载中xfs扩容支持不稳定。保险起见,卸载总没错。

最后送你三条保命原则

快照永远第一顺位:扩容前花1分钟打个快照,比救火快十倍;
别信一键脚本:网上那些“复制即扩容”的Shell,往往忽略分区表类型(GPT需额外处理);
验证比速度重要:扩容后跑sudo touch /testfile && sudo rm /testfile,确保读写正常。

所以你看,AWS磁盘扩容哪是什么玄学?它就是拧三颗螺丝:云上拧松卷尺寸,系统里拧开分区边界,最后给文件系统发张“扩容许可证”。下次再看到磁盘告急,别慌——泡杯茶,打开终端,按顺序拧,拧完还能顺手给运维同事发条消息:“刚给服务器做了个微创增肥手术,它现在胃口很好。”

Telegram售前客服
客服ID
@cloudcup
联系
Telegram售后客服
客服ID
@yanhuacloud
联系