1、检查磁盘是否支持在线扩容
https://help.aliyun.com/document_detail/113316.html
2、云盘创建快照
3、在线扩容
- 购买
4、登录服务器查看磁盘情况
# 查看云盘分区情况
[root@middleware ~]# fdisk -l
Disk /dev/vda: 200 GiB, 214748364800 bytes, 419430400 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x1863aa79
Device Boot Start End Sectors Size Id Type
/dev/vda1 * 2048 104857566 104855519 50G 83 Linux
# 确认已有分区的文件系统类型为xfs
[root@middleware ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 7.7G 0 7.7G 0% /dev
tmpfs tmpfs 7.7G 0 7.7G 0% /dev/shm
tmpfs tmpfs 7.7G 540K 7.7G 1% /run
tmpfs tmpfs 7.7G 0 7.7G 0% /sys/fs/cgroup
/dev/vda1 xfs 50G 39G 12G 77% /
tmpfs tmpfs 1.6G 0 1.6G 0% /run/user/0
序号 | 分区 | 说明 |
---|---|---|
① | /dev/vda1 | 系统盘,System取值Linux表示为MBR分区。 |
② | /dev/vdb1 | 数据盘,System取值Linux表示为MBR分区。 |
③ | /dev/vdc1 | 数据盘,System取值GPT表示为GPT分区。 |
5、扩容分区
通过查看云盘分区情况,在ECS实例内分区和文件系统并未扩容。此步骤介绍如何在ECS实例内部扩容云盘分区。
5.1 在ECS实例内部,安装gdisk工具。
如果您的分区为GPT格式,必须执行此步骤;如果您的分区为MBR格式,请跳过此步骤。
yum install gdisk -y
5.2安装growpart工具。
- Alibaba Cloud Linux 2/3版本、CentOS 7及以上版本运行以下命令。
yum install -y cloud-utils-growpart
- Debian 8及以上版本、Ubuntu14及以上版本运行以下命令。
更新软件源。
apt-get update
安装cloud-guest-utils。
apt-get install -y cloud-guest-utils
5.3运行以下命令扩容分区。
[root@middleware ~]# growpart /dev/vda 1
CHANGED: partition=1 start=2048 old: size=104855519 end=104857567 new: size=419428319 end=419430367
此示例以扩容系统盘为例,/dev/vda和1之间需要空格分隔。如果需要扩容其他分区,请根据实际情况修改命令。执行结果如下所示。表示扩容的/dev/vda 的第一个分区。
说明 您在执行此步骤时,可能出现报错信息unexpected output in sfdisk --version [sfdisk,来自 util-linux 2.23.2]。关于如何排查此问题,请参见本文的常见问题部分。
6、扩容文件系统
6.1 在ECS实例内部,根据查询的文件系统类型,扩容文件系统。
[root@middleware ~]# blkid
/dev/vda1: UUID="e32cfa7a-df48-4031-8fdf-5eec92ee3039" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="1863aa79-01"
[root@middleware ~]#
[root@middleware ~]#
[root@middleware ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 200G 0 disk
└─vda1 253:1 0 200G 0 part /
# 扩容ext*(例如ext4)文件系统:运行以下命令扩容文件系统。
-- # 扩容系统盘/dev/vda1的文件系统
[root@middleware ~]# resize2fs /dev/vda1
-- # 扩容数据盘/dev/vdb1的文件系统
[root@middleware ~]# resize2fs /dev/vdb1
# 扩容xfs文件系统:运行以下命令扩容数据盘/dev/vda1的文件系统。
[root@middleware ~]# xfs_growfs /dev/vda1
meta-data=/dev/vda1 isize=512 agcount=11, agsize=1310656 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=13106939, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 13106939 to 52428539
# 扩容btrfs文件系统:如果您的数据盘文件系统为btrfs,则需要运行以下命令扩容文件系统。
[root@middleware ~]# btrfs filesystem resize max /mountpoint
说明: /mountpoint为数据盘对应的挂载点,您需要根据实际情况修改。
6.2运行以下命令检查扩容后结果。
[root@middleware ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 7.7G 0 7.7G 0% /dev
tmpfs 7.7G 0 7.7G 0% /dev/shm
tmpfs 7.7G 540K 7.7G 1% /run
tmpfs 7.7G 0 7.7G 0% /sys/fs/cgroup
/dev/vda1 200G 40G 161G 20% /
tmpfs 1.6G 0 1.6G 0% /run/user/0
扩容完成后,您需要根据实际情况检查数据是否正常。
- 如果扩容成功,ECS实例中的业务程序能够正常运行,则完成操作。
- 如果扩容失败,则通过备份的快照回滚数据。