Amazon Elastic Compute Cloud
用户指南(适用于 Linux 实例)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

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

重要

在扩展包含有用数据的文件系统之前,最佳实践是创建卷的快照(如果您需要回滚您的更改)。有关更多信息,请参阅创建 Amazon EBS 快照。如果您的 Linux AMI 使用 MBR 分区方案,您的引导卷大小限制为最高 2 TiB。有关更多信息,请参阅 针对 Linux 卷的要求针对 EBS 卷的大小和配置的限制

有关扩展 Windows 文件系统的信息,请参阅 Amazon EC2 用户指南(适用于 Windows 实例) 中的调整卷大小后扩展 Windows 文件系统

对于以下任务,假设您将实例的启动卷的大小从 8 GB 调整为 16 GB,并将一个额外卷的大小从 8 GB 调整为 30 GB。

标识卷的文件系统

要验证文件系统是否用于您实例上的每个卷,请连接到您的实例并运行 file -s 命令。

例 示例:基于 Nitro 的实例上的文件系统

以下示例显示了一个基于 Nitro 的实例,该实例具有带 XFS 文件系统的启动卷和带 XFS 文件系统的额外卷。

[ec2-user ~]$ sudo file -s /dev/nvme?n* /dev/nvme0n1: x86 boot sector ... /dev/nvme0n1p1: SGI XFS filesystem data ... /dev/nvme0n1p128: data /dev/nvme1n1: SGI XFS filesystem data ...

例 示例:T2 实例上的文件系统

以下示例显示了一个 T2 实例,该实例具有带 ext4 文件系统的启动卷和带 XFS 文件系统的额外卷。

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

扩展分区(如果需要)

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

使用 lsblk 命令显示有关附加到实例的块储存设备的信息。如果调整大小后的卷有一个分区且该分区不反映卷的新大小,请使用 growpart 命令扩展该分区。有关扩展 LVM 分区的信息,请参阅扩展逻辑卷

例 示例:基于 Nitro 的实例上的分区

以下示例显示了基于 Nitro 的实例上的卷:

[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。

要在根卷上扩展分区,请使用以下 growpart 命令。请注意,设备名称和分区编号之间有空格。

[ec2-user ~]$ sudo growpart /dev/nvme0n1 1

您可以再次使用 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

例 示例:T2 实例上的分区

以下示例显示了 T2 实例上的卷:

[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 且必须进行扩展。

要在每个卷上扩展分区,请使用以下 growpart 命令。请注意,设备名称和分区编号之间有空格。

[ec2-user ~]$ sudo growpart /dev/xvda 1 [ec2-user ~]$ sudo growpart /dev/xvdf 1

您可以再次使用 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

扩展文件系统

可使用特定于文件系统的命令将每个文件系统调整为新的卷容量。有关此处显示的示例以外的文件系统,请参阅文件系统的文档以了解相关说明。

例 示例:扩展 ext2、ext3 或 ext4 文件系统

使用 df -h 命令验证每个卷的文件系统的大小。在此示例中,/dev/xvda1/dev/xvdf 均反映卷的原始大小 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 ...

使用 resize2fs 命令扩展每个卷上的文件系统。

[ec2-user ~]$ sudo resize2fs /dev/xvda1 [ec2-user ~]$ sudo resize2fs /dev/xvdf1

您可以再次使用 df -h 命令来验证每个文件系统是否反映增加的卷大小。

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

例 示例:扩展 XFS 文件系统

使用 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 ...

要扩展 XFS 文件系统,请按以下方式安装 XFS 工具(如果尚未安装)。

[ec2-user ~]$ sudo yum install xfsprogs

使用 xfs_growfs 命令扩展每个卷上的文件系统。在此示例中,//datadf -h 的输出中显示的卷挂载点。

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

您可以再次使用 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 ...