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