阅读背景:

关于 AWS EC2 卷扩容的问题 (2018/10/18 更新)

来源:互联网 

关于 AWS EC2 扩容的问题,很简单。

直接去 控制台面板 选择“卷”,

然后选择你要修改的数据卷,

直接修改 容量,只能增加,不能减少。

增加容量后, 不会立即生效,生效方法:

一、可以通过重启实例来生效

        增加的时候,最好把实例关闭(这是官网文档里说的),否则不会生效。

        或者你修改完了以后,重启实例。

  修改的过程需要几分钟的时间

二、可以通过 xshell 连接服务器,扩展Linux 文件系统 (参考链接:https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/recognize-expanded-volume-linux.html

         扩展 Linux 文件系统

  1. 使用 SSH 客户端登录到您的 Linux 实例。有关如何连接到 Linux 实例的更多信息,请参阅使用 SSH 连接到 Linux 实例

  2. 使用 df -h 命令可报告文件系统上的现有磁盘空间使用率。在此示例中,/dev/xvda1 设备已扩展为 35 GiB,但操作系统仍只能看到原来的 8 GiB ext4 文件系统。与此类似,/dev/xvdf 设备已扩展为 35 GiB,但操作系统仍只能看到原来的 1 GiB XFS 文件系统。

    [ec2-user ~]$ df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 8.0G 943M 6.9G 12% / tmpfs 1.9G 0 1.9G 0% /dev/shm /dev/xvdf 1014M 33M 982M 4% /mnt
  3. 使用 growpart 展开修改后的分区 (请注意将设备名称与分区名称分隔开的不寻常语法):

    $sudo growpart /dev/xvdf 1 CHANGED: disk=/dev/xvdf partition=1: start=4096 old: size=16773086,end=16777182 new: size=73396190,end=73400286

    通过查看 lsblk 可以确认分区 /dev/xvdf1 现已填充卷 /dev/xvdf 上的可用空间:

    [ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT ... xvdf 202:80 0 35G 0 disk └─xvdf1 202:81 0 35G 0 part
  4. 可使用特定于文件系统的命令将每个文件系统调整为新的卷容量。

 

    (注意:如果您不确定所使用的文件系统,可以使用 file -s 命令列出设备的文件系统数据。以下示例演示一个 Linux ext4 文件系统和一个 SGI XFS 文件系统。)

    [ec2-user ~]$ sudo file -s /dev/xvd* /dev/xvda1: Linux rev 1.0 ext4 filesystem data ... /dev/xvdf: SGI XFS filesystem data ...

    a、对于 Linux ext2、ext3 或 ext4 文件系统,请使用以下命令并替换要扩展的设备名称:

      [ec2-user ~]$ sudo resize2fs /dev/xvdf1
      resize2fs 1.42.3 (14-May-2012)       old_desc_blocks = 1, new_desc_blocks = 3       The filesystem on /dev/xvdf1 is now 9174523 blocks long.

    b、对于 XFS 文件系统,请首先安装 XFS 用户空间工具:

      [ec2-user ~]$ sudo yum install xfsprogs

      然后,使用以下命令,替换文件系统的装载点 (必须装载 XFS 文件系统才能调整其大小):

      [ec2-user ~]$ sudo xfs_growfs -d /mnt       meta-data=/dev/xvdf isize=256 agcount=4, agsize=65536 blks        = sectsz=512 attr=2       data = bsize=4096 blocks=262144, imaxpct=25        = sunit=0 swidth=0 blks       naming =version 2 bsize=4096 ascii-ci=0       log =internal bsize=4096 blocks=2560, version=2        = sectsz=512 sunit=0 blks, lazy-count=1       realtime =none extsz=4096 blocks=0, rtextents=0       data blocks changed from 262144 to 26214400

      注意

      如果您收到 xfsctl failed: Cannot allocate memory (xfsctl 失败: 无法分配内存) 错误,则可能需要更新实例上的 Linux 内核。有关更多信息,请参阅您的特定操作系统文档。

      如果您收到 The filesystem is already nnnnnnn blocks long. Nothing to do! 错误,请参阅扩展 Linux 分区

 

    1.   使用 df -h 命令报告现有文件系统磁盘空间使用率,在本示例中,在 ext4 文件系统上显示了 70 GiB,在 XFS 文件系统上显示了 100 GiB:

      # df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 70G 951M 69G 2% / tmpfs 1.9G 0 1.9G 0% /dev/shm /dev/xvdf 100G 45M 100G 1% /mnt

      提示

      如果您的卷中增加的可用空间在系统中仍不可见,请尝试重新初始化卷,具体说明请参阅初始化 Amazon EBS 卷

扩展 Linux 文件系统


分享到: