Stage 4:扩容文件系统 (没做记录,这步引用官方教程)
4.1 运行以下命令,获取需要扩容的文件系统的类型和挂载目录。
????????公司服务器数据盘不够需要扩容(不停机)
服务器:阿里云ecs
系统:Ubuntu 16.04??
数据盘:500G (安装docker,微服务,redis,mongo,mysql,nginx)
系统盘:100G
云盘只能扩容,不能缩小容量
扩容前请做好备份,防止操作失误导致数据丢失,方法:创建快照
MBR分区类型云盘扩容后容量大于2 TiB,需先转换分区为GPT分区(这里注意:转换分区是需要格式化所有数据,所以务必做好备份)
sudo fdisk -lu
Disk /dev/vda(系统盘)?、Disk /dev/vdb (数据盘)?:表示有两块盘
Device? :表示分区名称,图中每个盘下各一个分区。如?/dev/vda1
?/dev/vda1:数字1表示分区编号
dos
dos
表示MBR分区(本示例)
gpt
表示GPT分区
Disk /dev/vda:100GB :表示系统盘大小100GB
/dev/vda1? ...? ?100G :表示系统盘1号分区大小100G = 系统盘,所以不需要扩容?
Disk /dev/vdb:1.6TiB :表示数据盘大小1.6TiB
/dev/vdb1? ...? ?500G :表示数据盘1号分区大小500G < 数据盘,所以需要扩容?
本示例为:Disklabel type:dos -?
MBR分区
sudo apt-get update
type growpart || sudo apt-get install -y cloud-guest-utils
sudo LC_ALL=en_US.UTF-8 growpart /dev/vdb 1
CHANGED
表示分区扩容成功df -Th
Type
值为文件系统类型,Mounted on
值为分区的挂载目录。如下图表示/dev/vdb1
分区的文件系统类型为ext4,挂载目录为/mnt。
如果Filesystem取值后缀不带数字(例如/dev/vdc
),则为裸设备。
扩容命令因文件系统类型而异,请您根据上一步中查询到的文件系统类型选择以下命令。
说明
云盘和文件系统正在被使用的状态下,采用resize2fs等工具在线扩容文件系统,有可能会触发文件系统数据问题,该问题与镜像内核版本、resize2fs工具版本相关,与云盘扩容本身无关。建议您为云盘创建快照,做好数据备份。具体操作,请参见创建一个云盘快照。
ext*(例如ext2、ext3、ext4)文件系统
以扩容云盘分区/dev/vdb1
的ext*文件系统为例,则运行如下命令:
sudo resize2fs /dev/vdb1
说明:如果您扩容的是系统盘,命令中的/dev/vdb1
需要替换为/dev/vda1
。
以扩容裸设备/dev/vdc
的ext*文件系统为例,则运行如下命令:
sudo resize2fs /dev/vdc
df -Th
当查询结果中的文件系统容量和控制台容量一致时,表示扩容成功。
如下图所示,分区/dev/vdb1
文件系统容量(59 GiB)和云盘容量(60 GiB)基本一致(因为文件系统本身会占用部分存储空间),表示扩容完成。
扩容完成后,您需要根据实际情况检查云盘数据是否正常。
如果扩容成功,ECS实例中的业务程序能够正常运行,则完成操作。
如果扩容失败,您可以通过备份的快照回滚数据。具体操作,请参见使用快照回滚云盘。