虚拟机扩容磁盘空间

调整卷大小后扩展 Linux 文件系统

增加 EBS 卷的大小后,您必须使用文件系统特定的命令将文件系统扩展到更大的大小。一旦卷进入 optimizing状态,您就可以调整文件系统的大小。

重要的

在扩展包含有价值数据的文件系统之前,最好创建卷的快照,以防您需要回滚更改。有关更多信息,请参阅创建 Amazon EBS 快照。如果您的 Linux AMI 使用 MBR 分区方案,您的引导卷大小将被限制为最多 2 TiB。有关更多信息,请参阅Linux 卷的要求EBS 卷的大小和配置的约束

在 Linux 上扩展文件系统的过程如下:

  1. 您的 EBS 卷可能有一个包含文件系统和数据的分区。增加卷的大小不会增加分区的大小。在调整大小的卷上扩展文件系统之前,请检查该卷是否具有必须扩展为卷的新大小的分区。

  2. 使用特定于文件系统的命令将每个文件系统的大小调整为新的卷容量。

有关扩展 Windows 文件系统的信息,请参阅Amazon EC2 User Guide for Windows Instances中的调整卷大小后扩展 Windows 文件系统

以下示例将引导您完成扩展 Linux 文件系统的过程。对于此处显示的文件系统和分区方案以外的文件系统和分区方案,请参阅这些文件系统和分区方案的文档以获取说明。

笔记

如果您在 Amazon EBS 卷上使用逻辑卷,则必须使用逻辑卷管理器 (LVM) 来扩展逻辑卷。有关如何执行此操作的说明,请参阅 如何在整个 EBS 卷上创建 LVM 逻辑卷中的扩展逻辑卷部分?AWS 知识中心文章。

示例:扩展 NVMe EBS 卷的文件系统

对于此示例,假设您有一个基于Nitro System构建的实例,例如 M5 实例。您将引导卷的大小从 8 GB 调整为 16 GB,并将附加卷的大小从 8 GB 调整为 30 GB。使用以下过程来扩展调整大小的卷的文件系统。

扩展 NVMe EBS 卷的文件系统

  1. 连接到您的实例

  2. 要验证每个卷的文件系统,请使用df -hT 命令。

     
    [ec2-user ~]$ df -hT

    以下是一个实例的示例输出,该实例具有一个带有 XFS 文件系统的引导卷和一个带有 XFS 文件系统的附加卷。命名约定 /dev/nvme[0-26]n1表明卷作为 NVMe 块设备公开。

     
    [ec2-user ~]$ df -hT
    Filesystem      Type  Size  Used Avail Use% Mounted on
    /dev/nvme0n1p1  xfs   8.0G  1.6G  6.5G  20% /
    /dev/nvme1n1    xfs   8.0G   33M  8.0G   1% /data
    ...
  3. 要检查卷是否具有必须扩展的分区,请使用 lsblk命令显示有关连接到您的实例的 NVMe 块设备的信息。

     
    [ec2-user ~]$ lsblk
    NAME          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
    

    此示例输出显示以下内容:

    • 根卷/dev/nvme0n1有一个分区 /dev/nvme0n1p1。虽然根卷的大小反映了新的大小 16 GB,但分区的大小反映了原始大小 8 GB,并且必须先扩展,然后才能扩展文件系统。

    • 该卷/dev/nvme1n1没有分区。卷的大小反映了新的大小,30 GB。

  4. 对于具有分区的卷,例如上一步中显示的根卷,使用growpart命令扩展分区。请注意,设备名称和分区号之间有一个空格。

     
    [ec2-user ~]$ sudo growpart /dev/nvme0n1 1
  5. (可选)要验证分区是否反映了增加的卷大小,请再次使用 lsblk命令。

     
    [ec2-user ~]$ lsblk
    NAME          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
    
  6. 要验证每个卷的文件系统大小,请使用df -h命令。在此示例输出中,两个文件系统都反映了原始卷大小 8 GB。

     
    [ec2-user ~]$ df -h
    Filesystem       Size  Used Avail Use% Mounted on
    /dev/nvme0n1p1   8.0G  1.6G  6.5G  20% /
    /dev/nvme1n1     8.0G   33M  8.0G   1% /data
    ...
  7. 要扩展每个卷上的文件系统,请为您的文件系统使用正确的命令,如下所示:

    • [XFS 文件系统] 要扩展每个卷上的文件系统,请使用 xfs_growfs命令。在此示例中,/和 /data是 df -h输出中显示的卷安装点。

       
      [ec2-user ~]$ sudo xfs_growfs -d / [ec2-user ~]$ sudo xfs_growfs -d /data

      如果尚未安装 XFS 工具,您可以按如下方式安装它们。

       
      [ec2-user ~]$ sudo yum install xfsprogs
    • [ext4 文件系统] 要扩展每个卷上的文件系统,请使用 resize2fs命令。

       
      [ec2-user ~]$ sudo resize2fs /dev/nvme0n1p1 [ec2-user ~]$ sudo resize2fs /dev/nvme1n1
    • [其他文件系统] 要扩展每个卷上的文件系统,请参阅文件系统的文档以获取说明。

  8. (可选)要验证每个文件系统是否反映了增加的卷大小,请再次使用df -h命令。

     
    [ec2-user ~]$ df -h
    Filesystem       Size  Used Avail Use% Mounted on
    /dev/nvme0n1p1    16G  1.6G   15G  10% /
    /dev/nvme1n1      30G   33M   30G   1% /data
    ...

示例:扩展 EBS 卷的文件系统

对于此示例,假设您已将实例(例如 T2 实例)的启动卷大小从 8 GB 调整为 16 GB,并将附加卷的大小从 8 GB 调整为 30 GB。使用以下过程来扩展调整大小的卷的文件系统。

扩展 EBS 卷的文件系统

  1. 连接到您的实例

  2. 要验证每个卷使用的文件系统,请使用df -hT 命令。

     
    [ec2-user ~]$ df -hT

    以下是一个实例的示例输出,该实例具有一个带有 ext4 文件系统的引导卷和一个带有 XFS 文件系统的附加卷。

     
    [ec2-user ~]$ df -hT
    Filesystem      Type  Size  Used Avail Use% Mounted on
    /dev/xvda1      ext4  8.0G  1.9G  6.2G  24% /
    /dev/xvdf1      xfs   8.0G   45M  8.0G   1% /data
    ...
  3. 要检查卷是否具有必须扩展的分区,请使用 lsblk命令显示有关附加到您的实例的块设备的信息。

     
    [ec2-user ~]$ lsblk
    NAME    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

    此示例输出显示以下内容:

    • 根卷/dev/xvda有一个分区 /dev/xvda1。虽然卷大小为 16 GB,但分区大小仍为 8 GB,必须进行扩展。

    • 该卷/dev/xvdf有一个分区, /dev/xvdf1. 虽然卷的大小是 30G,但分区的大小仍然是 8 GB,必须扩展。

  4. 对于具有分区的卷,例如上一步中显示的卷,请使用growpart命令扩展分区。请注意,设备名称和分区号之间有一个空格。

     
    [ec2-user ~]$ sudo growpart /dev/xvda 1 [ec2-user ~]$ sudo growpart /dev/xvdf 1
  5. (可选)要验证分区是否反映了增加的卷大小,请再次使用 lsblk命令。

     
    [ec2-user ~]$ lsblk
    NAME    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
  6. 要验证每个卷的文件系统大小,请使用df -h命令。在此示例输出中,两个文件系统都反映了原始卷大小 8 GB。

     
    [ec2-user ~]$ df -h
    Filesystem       Size  Used Avail Use% Mounted on
    /dev/xvda1       8.0G  1.9G  6.2G  24% /
    /dev/xvdf1       8.0G   45M  8.0G   1% /data
    ...
  7. 要扩展每个卷上的文件系统,请为您的文件系统使用正确的命令,如下所示:

    • [XFS 卷] 要在每个卷上扩展文件系统,请使用 xfs_growfs命令。在此示例中,/和 /data是 df -h输出中显示的卷安装点。

       
      [ec2-user ~]$ sudo xfs_growfs -d / [ec2-user ~]$ sudo xfs_growfs -d /data

      如果尚未安装 XFS 工具,您可以按如下方式安装它们。

       
      [ec2-user ~]$ sudo yum install xfsprogs
    • [ext4 卷] 要扩展每个卷上的文件系统,请使用 resize2fs命令。

       
      [ec2-user ~]$ sudo resize2fs /dev/xvda1 [ec2-user ~]$ sudo resize2fs /dev/xvdf1
    • [其他文件系统] 要扩展每个卷上的文件系统,请参阅文件系统的文档以获取说明。

  8. (可选)要验证每个文件系统是否反映了增加的卷大小,请再次使用df -h命令。

     
    [ec2-user ~]$ df -h
    Filesystem       Size  Used Avail Use% Mounted on
    /dev/xvda1        16G  1.9G  14G  12% /
    /dev/xvdf1        30G   45M  30G   1% /data
    ...

    参考:
    https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/recognize-expanded-volume-linux.html

分类: 默认 标签: 发布于: 2022-02-14 10:15:25, 更新于: 2022-02-14 10:15:25