在不重启实例的情况下扩展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% /

恭喜!我们成功地扩展了数量的分区,没有任何停机时间。