Amazon Elastic Compute Cloud
Linux インスタンス用ユーザーガイド

ボリュームサイズ変更後の Linux ファイルシステムの拡張

EBS ボリュームのサイズを増やしたら、ファイルシステム固有のコマンドを使用して、ファイルシステムを大きなサイズに拡張します。ボリュームの状態が optimizing になった時点で、ファイルシステムのサイズを変更できます。

重要

重要なデータを含むファイルシステムを拡張する前に、変更をロールバックする必要がある場合に備えて、ベストプラクティスとしてボリュームのスナップショットを作成することをお勧めします。詳細については、「Amazon EBS スナップショットの作成」を参照してください。Linux AMI で MBR partitioning scheme を使用する場合、起動ボリュームサイズが最大 2 TiB に制限されます。詳細については、「Linux ボリュームの要件」および「EBS ボリュームのサイズと設定の制限」を参照してください。

Windows ファイルシステムの拡張については、『Windows インスタンスの Amazon EC2 ユーザーガイド』の「ボリュームサイズ変更後の Windows ファイルシステムの拡張」を参照してください。

次のタスクで、インスタンスのブートボリュームのサイズを 8 GB から 16 GB に、追加のボリュームのサイズを 8 GB から 30 GB に変更したとします。

ボリュームのファイルシステムを

インスタンスの各ボリュームで使用するファイルシステムを識別するには、インスタンスに接続し、file -s コマンドを実行します。

例: Nitro ベースのインスタンスのファイルシステム

以下の例では、XFS ファイルシステムを備えたブートボリュームと、XFS ファイルシステムを備えた追加のボリュームを含む Nitro ベースのインスタンスを示しています。

[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 ベースのインスタンスのファイルシステム

以下の例では、ext4 ファイルシステムを備えたブートボリュームと、XFS ファイルシステムを備えた追加のボリュームを含む T2 インスタンスを示しています。

[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 があります。ボリュームのサイズが 30 GB の場合、パーティションのサイズは 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 コマンドを使用します。この例では、//data は、df -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 ...