すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:LVを拡張する

最終更新日:Aug 27, 2024

logical volume Manager (LVM) を使用して作成した論理ボリューム (LV) の容量が不足している場合は、LVを拡張できます。 このトピックでは、LVMを使用してElastic Compute Service (ECS) インスタンスのLVを拡張する方法について説明します。

前提条件

LVが作成される。 詳細については、「LVMを使用したLVの作成」をご参照ください。

手続き

次のいずれかの方法を使用して、LVを拡張できます。

方法1: 関連するディスクの1つをサイズ変更してLVを拡張する

extend操作のしくみ

LVの容量がビジネス要件を満たしていない場合は、関連するディスクの1つをサイズ変更してLVを拡張できます。 次の図は、extend操作の動作を示しています。

image

手順

この例では、lv01 LVの容量を10 GiB拡張するために、/dev/vdbディスクのサイズを10 GiB拡張します。

  1. (オプション) スナップショット整合性グループを作成してデータをバックアップします。 詳細については、「スナップショット対応グループの作成」をご参照ください。

  2. ECSインスタンスに接続します。

    接続方法の詳細については、「接続方法の概要」をご参照ください。

  3. ディスクのサイズを変更します。 この例では、/dev/vdbディスクが使用されています。

    1. ディスクのサイズを変更して容量を拡張します。 この例では、容量は10 GiB拡張されています。 詳細については、「手順1: ディスクのサイズを変更して容量を拡張する」をご参照ください。

    2. (オプション) ディスクがパーティション分割されている場合は、パーティションを拡張します。 詳細については、「Linuxインスタンス上のディスクのパーティションとファイルシステムの拡張」をご参照ください。 ディスクがパーティション分割されていない場合は、この手順をスキップします。

      lsblkコマンドを実行して、ディスクがパーティション分割されているかどうかを確認できます。 たとえば、次の図は、/dev/vdbディスクがパーティション分割されておらず、/dev/vdcディスクがパーティション分割されていることを示しています。

      image.png

  4. 物理ボリューム (PV) を拡張します。

    1. 次のコマンドを実行して、サイズ変更されたディスクまたはディスクパーティションに対応するPVの名前を取得します。 この名前は、後続のコマンドを実行するために必要です。

      PV列の値はPVの名前を示します。 [デバイス] 列の値は、対応するディスクまたはディスクパーティションを示します。

      sudo pvs -a -o +devices

      image.png

      上の図は、/dev/vdb/dev/vdbディスクに対応するPVの名前であることを示しています。

    2. 次のコマンドを実行して、ディスクに対応するPVを拡張します。

      sudo pvresize <PV name>

      たとえば、/dev/vdb PVを拡張するには、次のコマンドを実行します。

      sudo pvresize /dev/vdb

      次のコマンド出力は、PVが期待どおりに拡張されていることを示します。

      image.png

  5. LVとファイルシステムを拡張します。

    1. 次のコマンドを実行して、LVパス、LV名、ボリュームグループ (VG) 名などのLVの属性を取得します。 属性は、後続のコマンドを実行するために必要です。

      sudo lvdisplay
      • LVパス: LVのパス。 例: /dev/vg_01/lv01

      • LV名: LVの名前。 例: lv01

      • VG Name: LVが属するVGの名前。 例: vg_01

      • LVサイズ: LVのサイズ。 例: 59 GiB。

      image.png

    2. 次のコマンドを実行して、LVを拡張します。

      sudo lvextend -L <Amount to increase the LV capacity by> <LV path>

      たとえば、パスが /dev/vg_01/lv01であるLVの容量を10 GiB拡張するには、次のコマンドを実行します。

      sudo lvextend -L + 10G /dev/vg_01/lv01

      次のコマンド出力は、lv01 LVの容量が10 GiB拡張されていることを示します。

      image.png

    3. 次のいずれかのコマンドを実行して、ファイルシステムのタイプに基づいてLVのファイルシステムを拡張します。

      df -Thコマンドを実行して、LVのファイルシステムタイプを確認できます。 [タイプ] 列の値は、ファイルシステムのタイプを示します。 コマンドは、ファイルシステムの種類によって異なります。

      image.png

      Ext4ファイルシステム

      sudo resize2fs <LV path>

      たとえば、パスが /dev/vg_01/lv01であるlv01 LVを拡張するには、次のコマンドを実行します。

      sudo resize2fs /dev/vg_01/lv01

      XFSファイルシステム

      sudo xfs_growfs <Mount point of the LV>

      たとえば、マウントポイントが /media/lv01であるlv01 LVを拡張するには、次のコマンドを実行します。

      sudo xfs_growfs /media/lv01
  6. 次のコマンドを実行して、LVが期待どおりに拡張されているかどうかを確認します。

    df -h

    次のコマンド出力は、LVの容量が10 GiB拡張されていることを示します。 LVのファイルシステムは、LV容量の一部を占有する。

    image.png

方法2: ディスクを追加してLVを拡張する

extend操作のしくみ

LVの容量がビジネス要件を満たしていない場合は、VGにディスクを追加してLVを拡張できます。 次の図は、extend操作の動作を示しています。

image

手順

この例では、デバイス名が /dev/vdd、容量が20 GiBのディスクを作成し、そのディスクに基づいてPVを作成し、PVをVGに追加します。

  1. 拡張するLVに関連付けられているECSインスタンス用のディスクを作成します。 ディスクを初期化しないでください。

    データディスクの作成とアタッチの方法については、「ディスクの作成」および「データディスクのアタッチ」をご参照ください。

  2. ECSインスタンスに接続します。

    接続方法の詳細については、「接続方法の概要」をご参照ください。

  3. 次のコマンドを実行して、新しいディスクに基づいてPVを作成します。

    sudo pvcreate <Disk device name>

    たとえば、/dev/vddディスクに基づいてPVを作成するには、次のコマンドを実行します。

    sudo pvcreate /dev/vdd

    次のコマンド出力は、PVが期待どおりに作成されたことを示します。

    image.png

  4. VGを拡張します。

    1. 次のコマンドを実行して、VGに関する情報を表示します。

      sudo vgs

      次のコマンド出力は、vg_01VGの総容量が59.99 GiBであり、残りの利用可能な容量が1 GiB未満であることを示しています。

      image.png

    2. 次のコマンドを実行してVGを拡張します。

      sudo vgextend <VG name> <PV name>

      たとえば/dev/vdd PVをvg_01 VGに追加するには、次のコマンドを実行します。

      sudo vgextend vg_01 /dev/vdd

      次のコマンド出力は、VGが期待どおりに拡張されていることを示します。

      image.png

    3. 次のコマンドを実行して、VGに関する情報を表示します。

      sudo vgs

      次のコマンド出力は、vg_01のvgの容量が59.99 GiBから79.99 GiBに拡張されることを示します。

      image.png

  5. LVとファイルシステムを拡張します。

    1. 次のコマンドを実行して、LVパス、LV名、VG名などのLVの属性を取得します。 属性は、後続のコマンドを実行するために必要です。

      sudo lvdisplay
      • LVパス: LVのパス。 例: /dev/vg_01/lv01

      • LV名: LVの名前。 例: lv01

      • VG Name: LVが属するVGの名前。 例: vg_01

      • LVサイズ: LVのサイズ。 例: 59 GiB。

      image.png

    2. 次のコマンドを実行して、LVを拡張します。

      sudo lvextend -L <Amount to increase the LV capacity by> <LV path>

      たとえば、パスが /dev/vg_01/lv01であるLVの容量を拡張するには、次のコマンドを実行します。

      sudo lvextend -L + 20G /dev/vg_01/lv01

      次のコマンド出力は、lv01 LVの容量が20 GiB拡張されていることを示します。

      image.png

    3. 次のいずれかのコマンドを実行して、ファイルシステムのタイプに基づいてLVのファイルシステムを拡張します。

      df -Thコマンドを実行して、LVのファイルシステムタイプを確認できます。 [タイプ] 列の値は、ファイルシステムのタイプを示します。 コマンドは、ファイルシステムの種類によって異なります。

      image.png

      Ext4ファイルシステム

      sudo resize2fs <LV path>

      たとえば、パスが /dev/vg_01/lv01であるlv01 LVを拡張するには、次のコマンドを実行します。

      sudo resize2fs /dev/vg_01/lv01

      XFSファイルシステム

      sudo xfs_growfs <Mount point of the LV>

      たとえば、マウントポイントが /media/lv01であるlv01 LVを拡張するには、次のコマンドを実行します。

      sudo xfs_growfs /media/lv01
    4. 次のコマンドを実行して、LVが期待どおりに拡張されているかどうかを確認します。

      df -h

      次のコマンド出力は、LVの容量が20 GiB拡張されていることを示します。 LVのファイルシステムは、LV容量の一部を占有する。

      image.png