华为云 ECS 磁盘扩容后空间没变化?分区与文件系统扩容完整步骤
【摘要】 控制台扩容云硬盘成功,df -h 里还是旧大小。原因是要在系统内再做一步分区/文件系统扩容,完整命令在此。
在华为云控制台把 EVS 云硬盘从 40GB 扩到 100GB,控制台显示成功,但登录 ECS 执行 df -h 发现空间没变。这是正常现象:控制台扩容只扩大了「云盘容量」,系统内的分区和文件系统还需要手动扩展。完整步骤如下。
一、先确认扩容已到达系统
用 lsblk 看块设备:
lsblk
# NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
# vda 252:0 0 100G 0 disk
# └─vda1 252:1 0 40G 0 part /
如果 disk 层已经是新大小(100G)而 part 层还是旧的(40G),说明云盘扩容到位,接下来扩分区;如果 disk 层也没变,先在控制台确认是否勾选了「随实例扩容」或重启了 ECS(部分老规格扩容后需要重启才生效)。
二、扩分区(growpart)
推荐用 cloud-utils 包里的 growpart,直接把分区扩到磁盘末尾:
yun install cloud-utils-growpart # CentOS/openEuler
apt install cloud-guest-utils # Ubuntu
growpart /dev/vda 1
扩完后 lsblk 里 part 层就变成 100G 了。注意根分区在线扩容通常不需要重启,也不会断业务。
三、扩文件系统
文件系统类型不同,命令不同:
# ext4
resize2fs /dev/vda1
# xfs
xfs_growfs / # 注意 xfs 用挂载点而不是设备名
执行完再 df -h,根分区就能看到扩容后的空间了。整个过程对 ext4/xfs 都是在线操作,不需要 umount。
四、LVM 场景的差异
如果用了 LVM,流程多一层 PV 扩容:
growpart /dev/vda 2
pvresize /dev/vda2
lvextend -l +100%FREE /dev/mapper/centos-root
# ext4:
resize2fs /dev/mapper/centos-root
# xfs:
xfs_growfs /
五、几个提醒
- 扩容前对重要数据盘做快照,虽然在线扩容本身很安全,但快照是最后的兜底;
- MBR 分区表的单盘上限是 2TB,超过 2TB 的数据盘要用 GPT,格式化时就要选好;
- Windows ECS 用「磁盘管理」里的「扩展卷」图形操作即可,同样要先扩分区再扩卷。
一句话总结:控制台扩的是盘,系统里还要 growpart 扩分区、resize2fs/xfs_growfs 扩文件系统,三步都做完空间才真正可用。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)