电话咨询 微信答疑 领取资料 认证报考

阿里云ECS磁盘扩容怎么做(3种扩容场景与5步实操路径)

云服务器用着用着磁盘不够了,这事儿太常见了。日志越攒越多,数据库一天天膨胀,业务文件越堆越大。很多人第一反应是买新盘挂载,其实大多数情况下直接扩容现有磁盘就够了。

摩尔狮在产品实战培训中发现,ECS磁盘扩容是运维工程师的日常高频操作,但真正能做对的人并不多。扩容不只是控制台点一下的事,扩完之后的分区扩展、文件系统刷新才是关键。

一、先搞清楚你是什么磁盘类型

阿里云ECS的磁盘分两种:系统盘和数据盘。系统盘装操作系统,默认40-60GB;数据盘挂载业务数据,可以单独扩容。两种盘都支持在线扩容,不需要停机。

磁盘规格上,ESSD(增强型SSD)性能最好,SSD盘次之,高效云盘最便宜但性能最弱。扩容前你得确认磁盘类型,因为不同类型支持的最大容量不一样。ESSD最高32TB,高效云盘也是32TB,但老的云盘上限可能只有2TB。

想了解不同磁盘怎么选,参考这篇ECS选型避坑指南,磁盘配置是关键一环。

二、3种扩容场景

场景一,系统盘扩容。系统盘满了,/目录使用率超过90%。这种情况直接在ECS控制台扩容系统盘,扩容完需要在系统内执行growpart和resize2fs(或者xfs_growfs)让文件系统识别新空间。

场景二,数据盘扩容。数据盘空间不够,直接控制台扩数据盘容量。如果是EXT4文件系统用resize2fs,XFS用xfs_growfs。注意LVM管理的盘操作路径不一样,得先lvextend再resize。

场景三,挂载新磁盘。不是扩容而是新增一块盘。这种情况下你需要fdisk分区、mkfs格式化、mount挂载、写fstab实现开机自动挂载。严格来说这不算扩容,但实际场景经常和扩容一起遇到。

三、5步实操路径(以Linux数据盘扩容为例)

第一步,控制台扩容磁盘。进入ECS实例详情,找到云盘,点扩容,输入目标容量。这一步是纯控制台操作,30秒搞定。注意扩容只能增大不能缩小,想好了再填。

第二步,登录实例确认磁盘状态。ssh登录服务器,执行lsblk查看磁盘大小。这时候你会看到磁盘总容量已经变大了,但分区还没扩展。比如/dev/vdb显示100G,但/dev/vdb1还是50G。

第三步,扩展分区。执行growpart命令:growpart /dev/vdb 1。这个命令会把分区扩展到磁盘最大容量。注意中间有空格,设备名和分区号之间用空格隔开。如果报错说没装growpart,yum install cloud-utils-growpart装一下。

第四步,扩展文件系统。先确认文件系统类型:df -Th。如果是ext4,执行resize2fs /dev/vdb1;如果是xfs,执行xfs_growfs /mnt/data(注意xfs_growfs后面跟的是挂载点不是设备名)。这一步完成后再df -h就能看到新空间了。

第五步,验证扩容结果。df -h确认文件系统容量正确,mount确认挂载正常,然后跑个简单的dd测试写入性能是否正常。如果都没问题,扩容就算完成了。

四、3个常见踩坑点

踩坑一,扩容后忘了刷文件系统。控制台扩完了,但Linux里没执行growpart和resize,df -h还是老容量。很多人以为扩容失败了,其实就差最后一步。

踩坑二,MBR分区表超过2TB。MBR分区最大支持2TB,如果你的盘扩到超过2TB还用MBR就会出问题。解决方案是转成GPT分区表,但转换有数据风险,建议一开始就用GPT。

踩坑三,LVM环境操作顺序搞反。LVM管理的磁盘扩容路径是:先扩云盘,再pvresize扩PV,再lvextend扩LV,最后resize2fs扩文件系统。顺序错了哪一步都不会生效。

五、扩容费用怎么算

ECS磁盘扩容按容量差计费,补差价就行。比如50G的ESSD PL0扩到100G,补50G的差额费用。包年包月的按剩余时长折算差价,按量付费的直接调整每小时费用。

有个省钱技巧:如果你的数据冷热分明,可以把历史日志等冷数据迁移到OSS存储,只留热数据在云盘上。这样扩容压力小很多,成本也低。OSS的存储成本只有ESSD的十分之一。

ECS磁盘扩容看起来简单,但细节不少。建议每次扩之前在业务低峰期操作,虽然支持在线扩容,但文件系统刷新那一下IO会短暂抖动。配合ECS实例迁移一起做的时候更要注意数据完整性。

更多关于阿里云认证机构的产品实战内容,建议结合ACP认证体系系统学习。

更多阿里云认证资讯,请关注公众号:摩尔狮云证通