在不重启实例的情况下扩展AWS上的EBS引导磁盘
时间:2020-02-23 14:30:31 来源:igfitidea点击:
在AWS上,我们可以在使用卷时增加EBS卷大小,调整性能或者更改卷类型。更改应保证零停机时间,并且对应用程序操作没有任何影响。
在此示例中,我将CentOS 7服务器的启动磁盘从8 GB扩展到20GB
在EBS上调整启动卷大小
登录到AWS控制台并导航至:
EBS>卷>右键单击卷名称>修改卷
将大小从" 8"更改为" 20",或者将大小更改为任意值,然后单击"修改"
确认我们要增加磁盘。
成功的消息应如下所示
通过ssh登录到服务器并进行扩展/分区
SSH进入EC2实例,并检查块设备的当前大小。
# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 20G 0 disk └─xvda1 202:1 0 8G 0 part /
我们可以看到/dev/xvda1的大小仍为8GB。我们需要使用" growpart"命令将其大小调整为20GB。
安装云工具
在Ubuntu/Debian系统上,运行
sudo apt install -y cloud-guest-utils
对于CentOS服务器,运行
sudo yum -y install cloud-utils-growpart
对于growpart的新手来说,它是Linux命令行工具,用于扩展分区表中的分区以填充可用空间。
可以通过传递-h参数来查看帮助页面。
# growpart -h growpart disk partition rewrite partition table so that partition takes up all the space it can options: -h | --help print Usage and exit --fudge F if part could be resized, but change would be less than 'F' bytes, do not resize (default: 1048576) -N | --dry-run only report what would be done, show new 'sfdisk -d' -v | --verbose increase verbosity/debug -u | --update R update the the kernel partition table info after growing this requires kernel support and 'partx --update' R is one of: - 'auto' : [default] update partition if possible - 'force' : try despite sanity checks (fail on failure) - 'off' : do not attempt - 'on' : fail if sanity checks indicate no support Example: - growpart /dev/sda 1 Resize partition 1 on /dev/sda
就我们而言,我们将运行
sudo growpart /dev/xvda 1
新磁盘大小应为20 GB
# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 20G 0 disk └─xvda1 202:1 0 20G 0 part /
调整/
分区的大小以填充所有空间
最后一步是调整文件系统的大小,以不断扩展以填充额外的空间
对于ext4
文件系统,请使用resize2fs
。
sudo resize2fs /dev/xvda1
如果文件系统是xfs,则在使用xfs_growfs命令挂载XFS文件系统时可能会使其生长:
sudo xfs_growfs /
这两个命令都会将文件系统扩展到设备支持的最大大小。
使用df -h确认新大小
# df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 20G 8.2G 12G 41% /
恭喜!我们成功地扩展了数量的分区,没有任何停机时间。