本文最后更新于 2019年5月16日。
主要分为两步:扩展分区与扩展文件系统
首先用lsblk命令查看卷大小与分区情况
卷大小15G,只有一个8G的xvda1分区,挂载到了根目录
然后使用growpart展开扩展后的分区
此时df -hl 仍然反应原始大小
再次lsdlk查询
df -T 查看分区及文件系统
看出其为xfs的系统类型
应使用命令xfs_growfs 命令扩展卷上文件系统
再次df -hl查看分区已经扩展了
注意:
使用官方示例resize2fs /dev/xvda1命令会报错,文件系统不一样
附录1:(aws官方教程)
扩展分区(如果需要)
您的 EBS 卷可能有一个包含文件系统和数据的分区。增加卷的大小不会增加分区的大小。在调整大小后的卷上扩展文件系统之前,请检查卷是否具有必须扩展到卷的新大小的分区。
使用 lsblk 命令显示有关附加到实例的块储存设备的信息。如果调整大小后的卷有一个分区且该分区不反映卷的新大小,请使用 growpart 命令扩展该分区。有关扩展 LVM 分区的信息,请参阅扩展逻辑卷。
例 示例:基于 Nitro 的实例上的分区
以下示例显示了基于 Nitro 的实例上的卷:
[ec2-user ~]$ lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme1n1 259:0 0 30G 0 disk /data nvme0n1 259:1 0 16G 0 disk └─nvme0n1p1 259:2 0 8G 0 part / └─nvme0n1p128 259:3 0 1M 0 part
l 根卷 /dev/nvme0n1 具有一个分区 /dev/nvme0n1p1。当根卷的大小反映新大小 16 GB 时,分区的大小会反映原始大小 8 GB 并且必须先进行扩展,然后才能扩展文件系统。
l 卷 /dev/nvme1n1 没有分区。卷的大小反映新大小 30 GB。
要在根卷上扩展分区,请使用以下 growpart 命令。请注意,设备名称和分区编号之间有空格。
[ec2-user ~]$ sudo growpart /dev/nvme0n1 1
您可以再次使用 lsblk 命令来验证分区是否反映增加的卷大小。
[ec2-user ~]$ lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme1n1 259:0 0 30G 0 disk /data nvme0n1 259:1 0 16G 0 disk └─nvme0n1p1 259:2 0 16G 0 part / └─nvme0n1p128 259:3 0 1M 0 part
例 示例:T2 实例上的分区
以下示例显示了 T2 实例上的卷:
[ec2-user ~]$ lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 16G 0 disk └─xvda1 202:1 0 8G 0 part / xvdf 202:80 0 30G 0 disk └─xvdf1 202:81 0 8G 0 part /data
l 根卷 /dev/xvda 具有一个分区 /dev/xvda1。当卷的大小为 16 GB 时,分区的大小仍为 8 GB 且必须进行扩展。
l 卷 /dev/xvdf 具有一个分区 /dev/xvdf1。当卷的大小为 30G 时,分区的大小仍为 8 GB 且必须进行扩展。
要在每个卷上扩展分区,请使用以下 growpart 命令。请注意,设备名称和分区编号之间有空格。
[ec2-user ~]$ sudo growpart /dev/xvda 1 [ec2-user ~]$ sudo growpart /dev/xvdf 1
您可以再次使用 lsblk 命令来验证分区是否反映增加的卷大小。
[ec2-user ~]$ lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 16G 0 disk └─xvda1 202:1 0 16G 0 part / xvdf 202:80 0 30G 0 disk └─xvdf1 202:81 0 30G 0 part /data
扩展文件系统
可使用特定于文件系统的命令将每个文件系统调整为新的卷容量。有关此处显示的示例以外的文件系统,请参阅文件系统的文档以了解相关说明。
例 示例:扩展 ext2、ext3 或 ext4 文件系统
使用 df -h 命令验证每个卷的文件系统的大小。在此示例中,/dev/xvda1 和 /dev/xvdf 均反映卷的原始大小 8 GB。
[ec2-user ~]$ df -hFilesystem Size Used Avail Use% Mounted on /dev/xvda1 8.0G 1.9G 6.2G 24% / /dev/xvdf1 8.0G 45M 8.0G 1% /data …
使用 resize2fs 命令扩展每个卷上的文件系统。
[ec2-user ~]$ sudo resize2fs /dev/xvda1 [ec2-user ~]$ sudo resize2fs /dev/xvdf1
您可以再次使用 df -h 命令来验证每个文件系统是否反映增加的卷大小。
[ec2-user ~]$ df -hFilesystem Size Used Avail Use% Mounted on /dev/xvda1 16G 1.9G 6.2G 12% / /dev/xvdf1 30G 45M 8.0G 1% /data …
例 示例:扩展 XFS 文件系统
使用 df -h 命令验证每个卷的文件系统的大小。在此示例中,每个文件系统均反映原始卷大小 8 GB。
[ec2-user ~]$ df -hFilesystem Size Used Avail Use% Mounted on /dev/nvme0n1p1 8.0G 1.6G 6.5G 20% / /dev/nvme1n1 8.0G 33M 8.0G 1% /data …
要扩展 XFS 文件系统,请按以下方式安装 XFS 工具(如果尚未安装)。
[ec2-user ~]$ sudo yum install xfsprogs
使用 xfs_growfs 命令扩展每个卷上的文件系统。在此示例中,/ 和 /data 是 df -h 的输出中显示的卷挂载点。
[ec2-user ~]$ sudo xfs_growfs -d / [ec2-user ~]$ sudo xfs_growfs -d /data
您可以再次使用 df -h 命令来验证每个文件系统是否反映增加的卷大小。
[ec2-user ~]$ df -hFilesystem Size Used Avail Use% Mounted on /dev/nvme0n1p1 16G 1.6G 15G 10% / /dev/nvme1n1 30G 33M 30G 1% /data …
附录2:操作日志
[root@ip-172-31-39-89 wwwroot]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 15G 0 disk
└─xvda1 202:1 0 8G 0 part /
[root@ip-172-31-39-89 wwwroot]# growpart /dev/xvda 1
CHANGED: partition=1 start=2048 old: size=16775168 end=16777216 new: size=31455199,end=31457247
[root@ip-172-31-39-89 wwwroot]# df -hl
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 8.0G 7.8G 231M 98% /
devtmpfs 473M 0 473M 0% /dev
tmpfs 495M 0 495M 0% /dev/shm
tmpfs 495M 44M 451M 9% /run
tmpfs 495M 0 495M 0% /sys/fs/cgroup
tmpfs 99M 0 99M 0% /run/user/1000
[root@ip-172-31-39-89 wwwroot]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 15G 0 disk
└─xvda1 202:1 0 15G 0 part /
[root@ip-172-31-39-89 wwwroot]# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/xvda1 xfs 8377344 8141788 235556 98% /
devtmpfs devtmpfs 483740 0 483740 0% /dev
tmpfs tmpfs 506596 0 506596 0% /dev/shm
tmpfs tmpfs 506596 44876 461720 9% /run
tmpfs tmpfs 506596 0 506596 0% /sys/fs/cgroup
tmpfs tmpfs 101320 0 101320 0% /run/user/1000
[root@ip-172-31-39-89 wwwroot]# resize2fs /dev/xvda1
resize2fs 1.42.9 (28-Dec-2013)
resize2fs: Bad magic number in super-block while trying to open /dev/xvda1
Couldn't find valid filesystem superblock.
[root@ip-172-31-39-89 wwwroot]# xfs_growfs /dev/xvda1
meta-data=/dev/xvda1 isize=512 agcount=4, agsize=524224 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=2096896, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2