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

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

ファイルシステム – 固有のコマンドを使用して、ファイルシステムのサイズを、新しいボリュームの拡大したサイズに変更します。これらのコマンドは、拡張するボリュームがルートボリュームである場合にも機能します。ext2、ext3、および ext4 ファイルシステムの場合、このコマンドは resize2fs です。XFS ファイルシステムの場合、このコマンドは xfs_growfs です。その他のファイルシステムの場合、ファイルシステムの拡張については、これらのファイルシステムに関する特定のドキュメントを参照してください。

使用しているファイルシステムが不明の場合は、file -s コマンドを使用して、デバイスのファイルシステムデータをリストできます。次の例は、Linux ext4 ファイルシステムと SGI XFS ファイルシステムを示しています。

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

注記

拡張するボリュームがパーティション分割されている場合は、ファイルシステムのサイズを変更する前に、パーティションのサイズを拡大する必要があります。この時点で追加のパーティションを割り当てることもできます。詳細については、「Linux パーティションを拡張する」を参照してください。

ボリュームが Optimizing 状態になり次第、ファイルシステムのサイズ変更を開始できます。

重要

重要なデータを含むファイルシステムを拡張する前に、変更をロールバックする必要がある場合に備えて、ファイルシステムを含むボリュームのスナップショットを作成するのがベストプラクティスです。EBS スナップショットの詳細については、「Amazon EBS スナップショットの作成」を参照してください。

ボリュームのパーティションのサイズ変更が必要かどうかを確認するには

  • インスタンスにアタッチされたブロックデバイスを一覧表示するには、lsblk コマンドを使用します。以下の例は、/dev/xvda/dev/xvdb/dev/xvdf という 3 つのボリュームを示しています。

    Copy
    [ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 30G 0 disk └─xvda1 202:1 0 30G 0 part / xvdb 202:16 0 30G 0 disk /mnt xvdf 202:80 0 35G 0 disk └─xvdf1 202:81 0 8G 0 part

    ルートボリュームである /dev/xvda1 は、/dev/xvda のパーティションです。どちらもサイズが 30 GiB であることに注意してください。この場合、パーティションはデバイスの領域をすべて占有するので、サイズを変更する必要はありません。

    ボリューム /dev/xvdb は、パーティション分割されていないので、サイズを変更する必要はありません。

    ただし、/dev/xvdf1 は、35 GiB のデバイスに含まれる 8 GiB のパーティションであり、このボリュームのパーティションは他にありません。この場合、ボリュームの残りの領域を使用するには、パーティションをサイズ変更する必要があります。詳細については、「Linux パーティションを拡張する」を参照してください。パーティションのサイズを変更した後、次の手順に従って、パーティションのすべての領域を占有するようにファイルシステムを拡張できます。

Linux ファイルシステムを拡張するには

  1. SSH クライアントを使用して Linux インスタンスにログインします。Linux インスタンスへの接続に関する詳細については、「SSH を使用した Linux インスタンスへの接続」を参照してください。

  2. ファイルシステム上の既存ディスク領域の使用状況をレポートするには、df-h コマンドを使用します。この新しい例では、/dev/xvda1 デバイスを 35 GiB に拡張済みですが、オペレーティングシステムには依然として元の 8 GiB ext4 ファイルシステムのみが表示されます。同様に、/dev/xvdf デバイスは 35 GiB に拡張済みでも、オペレーティングシステムには依然として元の 1 GiB XFS ファイルシステムのみが表示されます。

    Copy
    [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 を使用してパーティションを拡張し、変更します (そして、パーティション番号からデバイス名を分離する異常な構文を書き留めます)。

    Copy
    $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 の使用可能スペースが埋められていることを確認できます。

    Copy
    [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. ファイルシステム固有のコマンドを使用して、各ファイルシステムのサイズを新しいボリューム容量に変更します。

    Linux ext2、ext3、または ext4 ファイルシステムの場合は、次のコマンドを使用して、拡張するデバイスの名前を置き換えます。

    Copy
    [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.

    XFS ファイルシステムの場合、まず XFS ユーザースペースツールをインストールします。

    Copy
    [ec2-user ~]$ sudo yum install xfsprogs

    その後、次のコマンドを使用して、ファイルシステムのマウントポイントに置き換えます (XFS ファイルシステムのサイズを変更するには、マウントする必要があります)。

    Copy
    [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 を xfsctl failed: Cannot allocate memory エラーを受け取った場合、インスタンスの Linux カーネルの更新が必要なことがあります。詳細については、特定のオペレーティングシステムのドキュメントを参照してください。

    The filesystem is already nnnnnnn blocks Nothing to do! というエラーが表示された場合は、「Linux パーティションを拡張する」を参照してください。

  5. df -h コマンドを使用して、既存のファイルシステムディスク領域の使用状況をレポートします。この例では、ext4 ファイルシステムについては 70 GiB、XFS ファイルシステムについては 100 GiB の容量が示されます。

    Copy
    # 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 ボリュームの初期化」の説明に従ってボリュームを再初期化してみてください。