AWS 云磁盘在线扩容
1.操作流程
1.控制台扩容磁盘卷大小
2.磁盘卷扩容完成后登录主机查看磁盘卷扩容结果
3.扩容磁盘卷大小
4.扩容磁盘分区大小
2.安装扩容工具
# growpart 为分区表修改工具
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
yum search growpart
yum install cloud-utils-growpart
apt install -y cloud-guest-utils
# Ubuntu 系统
apt install -y cloud-guest-utils
# GPT 分区需要安装以下工具
yum install gdisk -y
# xfs 文件系统扩容
yum install xfsprogs -y
3.磁盘扩容
3.1.查看磁盘状态
df -h
lsblk
# 查看分区类型,确认使用哪种扩容工具
file -s /dev/nvme?n*
3.2.修改分区表-自动识别修改
# 修改分区表 ssd 磁盘
growpart /dev/xvdb 1
lsblk
# 修改分区表 nvme 磁盘(根磁盘)
growpart /dev/nvme1n1 1
lsblk
# 修改磁盘分区表(第二磁盘)
growpart /dev/nvme0n1 1
lsblk
3.3.扩容磁盘分区-刷新文件系统
# 扩容分区空间
resize2fs /dev/xvdb1
df -h
# 扩容分区空间(根磁盘)
resize2fs /dev/nvme1n1p1
df -h
# 扩容分区空间(第二磁盘)
resize2fs /dev/nvme0n1p1
df -h
--------------------
- xfs 文件系统,分区表修改和磁盘扩容可以一步到位
# 扩容磁盘(XFS 文件系统),参数可以使 设备名 /dev/vdb 或者 挂载点 /data
df -h
xfs_growfs -d /data
xfs_growfs -d /dev/vdb
lsblk
df -h|grep /dev/vdb
4.实例演示
4.1.SSD 磁盘
# 扩容前检查磁盘分区信息
-----------------
root@zuiyoujie:/opt/tools# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 7.8G 3.6G 3.9G 49% / # 检查磁盘分区信息
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 1.9G 12K 1.9G 1% /dev
tmpfs 377M 352K 377M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 1.9G 0 1.9G 0% /run/shm
none 100M 0 100M 0% /run/user
/dev/xvdb 15G 39M 15G 1% /mnt
root@zuiyoujie:/opt/tools# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 8G 0 disk
└─xvda1 202:1 0 8G 0 part / # 检查磁盘块信息
xvdb 202:16 0 15.3G 0 disk /mnt
xvdc 202:32 0 15.3G 0 disk
root@zuiyoujie:/opt/tools# file -s /dev/xvda
/dev/xvda: x86 boot sector
-----------------
# 扩容分区并检查磁盘信息
root@zuiyoujie:/opt/tools# growpart /dev/xvda 1
CHANGED: partition=1 start=16065 old: size=16755795 end=16771860 new: size=104840190,end=104856255
# 磁盘容量扩容已生效,分区表已变更
root@zuiyoujie:/opt/tools# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 50G 0 disk
└─xvda1 202:1 0 50G 0 part / # 磁盘分区生效
xvdb 202:16 0 15.3G 0 disk /mnt
xvdc 202:32 0 15.3G 0 disk
# 此时磁盘可用容量未增加
root@zuiyoujie:/opt/tools# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 7.8G 3.6G 3.9G 49% / # 修改分区表,容量还未生效
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 1.9G 12K 1.9G 1% /dev
tmpfs 377M 352K 377M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 1.9G 0 1.9G 0% /run/shm
none 100M 0 100M 0% /run/user
/dev/xvdb 15G 39M 15G 1% /mnt
# 扩容磁盘分区并检查分区信息
root@zuiyoujie:/opt/tools# resize2fs /dev/xvda1
resize2fs 1.42.9 (4-Feb-2014)
Filesystem at /dev/xvda1 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 4
The filesystem on /dev/xvda1 is now 13105023 blocks long.
# 此时磁盘可用容量已增加
root@zuiyoujie:/opt/tools# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 50G 3.6G 44G 8% / # 扩容完毕,容量生效
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 1.9G 12K 1.9G 1% /dev
tmpfs 377M 352K 377M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 1.9G 0 1.9G 0% /run/shm
none 100M 0 100M 0% /run/user
/dev/xvdb 15G 39M 15G 1% /mnt
---------------------------
4.2.NVME 磁盘
# 扩容前检查磁盘状态
--------------------
root@zuiyoujie:/opt/tools# df -h
Filesystem Size Used Avail Use% Mounted on
udev 3.8G 0 3.8G 0% /dev
tmpfs 764M 78M 687M 11% /run
/dev/nvme0n1p1 20G 15G 5.1G 74% /
tmpfs 3.8G 0 3.8G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
tmpfs 764M 0 764M 0% /run/user/0
root@zuiyoujie:/opt/tools# file -s /dev/nvme?n*
/dev/nvme0n1: DOS/MBR boot sector
/dev/nvme0n1p1: Linux rev 1.0 ext4 filesystem data, UUID=01909065-0362-439c-9af2-29d0fc837f6b, volume name "cloudimg-rootfs"
(needs journal recovery) (extents)
(large files) (huge files)
-------------------
# 扩容后查看磁盘容量变更
root@zuiyoujie:/opt/tools# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1 259:0 0 100G 0 disk # 磁盘大小已经修改为 100GB
└─nvme0n1p1 259:1 0 20G 0 part / # 分区大小为 20GB
# 修改分区表
root@zuiyoujie:/opt/tools# growpart /dev/nvme0n1 1
CHANGED: partition=1 start=2048 old: size=41940959 end=41943007 new: size=209713119,end=209715167
# 查看修改后的磁盘分区表
root@zuiyoujie:/opt/tools# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1 259:0 0 100G 0 disk
└─nvme0n1p1 259:1 0 100G 0 part / # 分区表已经扩容(识别)为 100GB
# 此时磁盘分区可用容量未生效
root@zuiyoujie:/opt/tools# df -h
Filesystem Size Used Avail Use% Mounted on
udev 3.8G 0 3.8G 0% /dev
tmpfs 764M 78M 687M 11% /run
/dev/nvme0n1p1 20G 15G 5.1G 74% / # 未执行 resize2fs 命令,磁盘容量未增加
tmpfs 3.8G 0 3.8G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
tmpfs 764M 0 764M 0% /run/user/0
# 扩容磁盘分区
root@zuiyoujie:/opt/tools# resize2fs /dev/nvme0n1p1 # 执行扩容命令,扩容磁盘
resize2fs 1.42.13 (17-May-2015)
Filesystem at /dev/nvme0n1p1 is mounted on /; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 7
The filesystem on /dev/nvme0n1p1 is now 26214139 (4k) blocks long.
# 此时磁盘分区可用容量已经生效
root@zuiyoujie:/opt/tools# df -h
Filesystem Size Used Avail Use% Mounted on
udev 3.8G 0 3.8G 0% /dev
tmpfs 764M 78M 687M 11% /run
/dev/nvme0n1p1 97G 15G 83G 15% / # 实际分区大小为 100GB
tmpfs 3.8G 0 3.8G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
tmpfs 764M 0 764M 0% /run/user/0
------------------------------------------------
10.参考地址
https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/recognize-expanded-volume-linux.html#extend-linux-volume-partition
https://help.aliyun.com/document_detail/113316.html?spm=a2c4g.11186623.2.18.6fe75d6brpDtOv#concept-syg-jxz-2hb