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

Elastic Compute Service:論理ボリュームの作成

最終更新日:Oct 22, 2025

論理ボリュームマネージャー (LVM) を使用すると、データディスクまたはパーティションを 1 つのストレージプールに結合して、動的に拡張できます。

仕組み

論理ボリューム (LV) の作成には、主に 4 つのステップがあります。

  1. 物理ボリュームの作成 (pvcreate): LVM で使用するデータディスクをマークします。

  2. ボリュームグループの作成 (vgcreate): マークされた物理ボリューム (PV) をストレージプールに結合します。

  3. LV の作成 (lvcreate): ボリュームグループ (VG) から特定のサイズの論理パーティションを切り出します。

  4. ファイルシステムの作成とマウント (mkfs & mount): LV のファイルシステムとマウントポイント (アクセスパス) を作成します。

図に示すように、2 つの 40 GiB データディスク (/dev/vdb/dev/vdc) が PV として初期化され、vg_01 という名前の VG に追加されて、80 GiB のストレージプールを形成します。その後、プールから lv01 という名前の 55 GiB の LV が切り出されて使用されます。

手順

ステップ 1: PV の作成

重要

PV を作成すると、データディスク上のすべてのデータが消去されます。データディスクが空であるか、必要なすべてのデータをバックアップしていることを確認してください。

  1. Elastic Compute Server (ECS) インスタンスにログインします。

    1. ECS console - Instance に移動します。上部のナビゲーションバーで、対象のリージョンとリソースグループを選択します。

    2. 対象インスタンスの詳細ページに移動します。[接続] をクリックし、[Workbench] を選択します。画面の指示に従ってログインし、ターミナルを開きます。

  2. LVM ツールをインストールします。

    Alibaba Cloud Linux および CentOS

    sudo yum install -y lvm2

    Debian および Ubuntu

    sudo apt-get install -y lvm2
  3. 対象のデバイス名を見つけるには、sudo lsblk -f コマンドを実行します。

    sudo lsblk -f
    NAME   FSTYPE LABEL UUID                                 MOUNTPOINT
    vda                                                      
    ├─vda1                                                   
    ├─vda2 vfat         7938-FA03                            /boot/efi
    └─vda3 ext4   root  33b46ac5-7482-4aa5-8de0-60ab4c3a4c78 /
    vdb                                                      
    vdc                                                      
    vdd                                                      
    └─vdd1                                   
    • FSTYPE 列が空でない場合、デバイスはすでに初期化されており、PV として使用することはできません。

    • FSTYPE 列が空の場合:

      • デバイスにパーティションがない場合、対象デバイス名はデバイス名と同じです。この例では、データディスク vdb対象デバイス名vdb であり、データディスク vdc の場合は vdc です。

      • デバイスにパーティションがある場合、対象デバイス名は目的のパーティションの名前です。この例では、データディスク vdd対象デバイス名vdd1 です。

  4. PV を作成します。

    デバイス名はスペースで区切ります。<target_device_name>前のステップで見つけたデバイス名に置き換えます。

    sudo pvcreate /dev/<target device name>.../dev/<target device name>
    たとえば、vdbvdc を対象デバイスとして使用するには、sudo pvcreate /dev/vdb /dev/vdc を実行します。このコマンドは 2 つの 40 GiB PV を作成します。

    successfully created を含む出力は、操作が成功したことを確認します。

ステップ 2: VG の作成

  1. VG を作成します。

    カスタムの <vg_name> を指定し、<target_device_name>ステップ 1 のデバイス名に置き換えます。

    sudo vgcreate <vg_name> /dev/<target device name>.../dev/<target device name>
    たとえば、vg_01 という名前の VG を作成し、それに vdbvdc を追加するには、sudo vgcreate vg_01 /dev/vdb /dev/vdc を実行します。

    出力に successfully created が含まれている場合、VG は正常に作成されています。

  2. VG の空き領域を確認します。

    sudo vgs コマンドを実行します。VFree 列の値をメモします。これは、残りの利用可能な容量を示します。

    sudo vgs

ステップ 3: LV の作成

  1. LV を作成します。

    sudo lvcreate -L <lv_size> -n <lv_name> <vg_name>
    たとえば、VG vg_01 から 55 GiB のサイズで lv01 という名前の LV を作成するには、sudo lvcreate -L 55g -n lv01 vg_01 を実行します。

    パラメーター

    説明

    <lv_size>

    VG の利用可能な空き領域よりも小さくする必要があります。

    <lv_name>

    新しい LV のカスタム名。

    <vg_name>

    作成した VG の名前。

    出力が Logical volume "<lv_name>" created の場合、LV は正常に作成されています。

  2. LV 情報を表示します。

    sudo lvdisplay コマンドを実行します。LV Path をメモします。後でファイルシステムを作成するときに必要になります。

    sudo lvdisplay
      --- Logical volume ---
      LV Path                /dev/vg_01/lv01
      LV Name                lv01
      VG Name                vg_01
      LV UUID                NgcCdz-efSY-vCrm-E35b-Dg6p-LNYq-xxxxxx
      LV Write Access        read/write
      LV Creation host, time iZbp13kehgn0kh64txxxxxx, 2025-09-15 16:57:21 +0800
      LV Status              available
      # open                 0
      LV Size                55.00 GiB
      Current LE             14080
      Segments               2
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     256
      Block device           252:0

    この例では、lv01LV Path/dev/vg_01/lv01 です。

ステップ 4: ファイルシステムの作成とマウント

  1. ファイルシステムを作成します。

    ext4 ファイルシステムは、xfs よりも小さいファイルの処理に適しています。

    ext4

    1. ext4 ファイルシステムを作成します。

      <lv_path>ステップ 3 で取得した LV Path に置き換えます。

      sudo mkfs -t ext4 <lv_path>
      この例では、LV Path は /dev/vg_01/lv01 なので、sudo mkfs -t ext4 /dev/vg_01/lv01 を実行します。
    2. 作成を検証します。

      sudo lsblk -f を実行します。対象デバイスの FSTYPEext4 の場合、セットアップは成功です。

    xfs

    1. xfsprogs ツールをインストールします。

      • Alibaba Cloud Linux および CentOS の場合:

        sudo yum install -y xfsprogs
      • Debian および Ubuntu の場合:

        sudo apt-get install -y xfsprogs
    2. xfs ファイルシステムを作成します。

      xfs ファイルシステムを作成します。<lv_path>ステップ 3 で取得した LV Path に置き換えます。

      sudo mkfs -t xfs <lv_path>
      この例では、LV Path は /dev/vg_01/lv01 なので、sudo mkfs -t xfs /dev/vg_01/lv01 を実行します。
    3. 作成を検証します。

      sudo lsblk -f を実行します。対象デバイスの FSTYPExfs の場合、セットアップは成功です。

  2. マウントポイントを作成し、ファイルシステムをマウントします。

    sudo mkdir <mount point> && sudo mount <lv_path> <mount point>

    パラメーター

    説明

    <lv_path>

    LV を作成したときに取得した LV Path。

    <mount point>

    / で始まるカスタムの空のディレクトリパス。空でないディレクトリにマウントすると、元のコンテンツが非表示になり、サービスが中断されたり、元のファイルにアクセスできなくなったりする可能性があります。

    たとえば、/dev/vg_01/lv01 の LV を新しいディレクトリ /mnt/lv01 にマウントするには、sudo mkdir /mnt/lv01 && sudo mount /dev/vg_01/lv01 /mnt/lv01 を実行します。

  3. ファイルシステムが正常にマウントされているかどうかを確認します。

    sudo lsblk コマンドを実行します。対象デバイスの MOUNTPOINT 列に値がある場合、ファイルシステムは正常にマウントされています。

    重要

    このマウントは一時的なものであり、再起動後に失われます。再起動後もマウントが維持されるようにするには、起動時の自動マウントを設定することをお勧めします。

よくある質問

  • 既存の VG に新しい PV を追加するにはどうすればよいですか?

    1. ECS インスタンスにログインします。

      1. ECS console - Instance に移動します。上部のナビゲーションバーで、対象のリージョンとリソースグループを選択します。

      2. インスタンスの詳細ページで、[接続] をクリックし、[Workbench] を選択します。

    2. PV と VG の情報を表示します。

      1. PV を表示します。

        sudo pvdisplay を実行します。PV Name フィールドから PV 名を見つけて記録します。

      2. 既存の VG を表示します。

        sudo vgs を実行します。VG フィールドから VG 名を見つけて記録します。

    3. 他の作成済み PV を追加します。

      <vg_name><pv_name>前のステップの情報に置き換えます。

      sudo vgextend <vg_name> <pv_name>...<pv_name>
  • ツールのインストール時に "404 Not Found" エラーが発生するのはなぜですか?

    原因: このエラーは、CentOS 6 および Debian 9/10/11 がサポート終了 (EOL) に達し、デフォルトのパッケージリポジトリがアクティブでなくなったために発生します。

    解決策: システムのリポジトリソースを更新して、公式のアーカイブサーバーを指すようにする必要があります。ソースを更新した後、インストールコマンドを再度実行できます。

  • 再起動後に LV のマウント情報が失われるのはなぜですか、また、どうすれば修正できますか?

    原因: ボリュームは手動でマウントされましたが、そのエントリが /etc/fstab ファイルに追加されていませんでした。このファイルは、起動時に自動的にマウントされるファイルシステムを管理します。

    解決策:

    1. まず、ステップ 4 で説明されているように、ファイルシステムがまだマウントされていない場合は、再度手動でマウントします。

    2. マウントを永続的にするには、ボリュームのエントリを /etc/fstab ファイルに追加して、起動時の自動マウントを設定する必要があります。

  • lvcreate の実行時に、LV の作成中に「Volume group "vg01" has insufficient free space (23038 extents): 51200 required.」というエラーが表示されるのはなぜですか?

    原因: このエラーは、新しい LV に指定したサイズ (-L <lv_size>) が vg_01 の利用可能な空き領域よりも大きいことを意味します。

    解決策:

    1. sudo vgs を実行して VG の利用可能な領域を確認し、VFree 列の値をメモします。

    2. 利用可能な空き領域以下のサイズで lvcreate コマンドを再実行します。

リファレンス

LV の領域が不足した場合は、lvextend コマンドを使用して LV を拡張できます。