关于 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 文件系统

posted @ 2017-12-19 16:45  cidgur  阅读(3941)  评论(0编辑  收藏  举报