logical volume Manager (LVM) を使用して作成した論理ボリューム (LV) の容量が不足している場合は、LVを拡張できます。 このトピックでは、LVMを使用してElastic Compute Service (ECS) インスタンスのLVを拡張する方法について説明します。
前提条件
LVが作成される。 詳細については、「LVMを使用したLVの作成」をご参照ください。
手続き
次のいずれかの方法を使用して、LVを拡張できます。
方法1: 関連するディスクの1つをサイズ変更してLVを拡張する
extend操作のしくみ
LVの容量がビジネス要件を満たしていない場合は、関連するディスクの1つをサイズ変更してLVを拡張できます。 次の図は、extend操作の動作を示しています。
手順
この例では、lv01
LVの容量を10 GiB拡張するために、/dev/vdb
ディスクのサイズを10 GiB拡張します。
(オプション) スナップショット整合性グループを作成してデータをバックアップします。 詳細については、「スナップショット対応グループの作成」をご参照ください。
ECSインスタンスに接続します。
接続方法の詳細については、「接続方法の概要」をご参照ください。
ディスクのサイズを変更します。 この例では、
/dev/vdb
ディスクが使用されています。ディスクのサイズを変更して容量を拡張します。 この例では、容量は10 GiB拡張されています。 詳細については、「手順1: ディスクのサイズを変更して容量を拡張する」をご参照ください。
(オプション) ディスクがパーティション分割されている場合は、パーティションを拡張します。 詳細については、「Linuxインスタンス上のディスクのパーティションとファイルシステムの拡張」をご参照ください。 ディスクがパーティション分割されていない場合は、この手順をスキップします。
lsblk
コマンドを実行して、ディスクがパーティション分割されているかどうかを確認できます。 たとえば、次の図は、/dev/vdb
ディスクがパーティション分割されておらず、/dev/vdc
ディスクがパーティション分割されていることを示しています。
物理ボリューム (PV) を拡張します。
次のコマンドを実行して、サイズ変更されたディスクまたはディスクパーティションに対応するPVの名前を取得します。 この名前は、後続のコマンドを実行するために必要です。
PV列の値はPVの名前を示します。 [デバイス] 列の値は、対応するディスクまたはディスクパーティションを示します。
sudo pvs -a -o +devices
上の図は、
/dev/vdb
が/dev/vdb
ディスクに対応するPVの名前であることを示しています。次のコマンドを実行して、ディスクに対応するPVを拡張します。
sudo pvresize <PV name>
たとえば、
/dev/vdb
PVを拡張するには、次のコマンドを実行します。sudo pvresize /dev/vdb
次のコマンド出力は、PVが期待どおりに拡張されていることを示します。
LVとファイルシステムを拡張します。
次のコマンドを実行して、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。
次のコマンドを実行して、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拡張されていることを示します。
次のいずれかのコマンドを実行して、ファイルシステムのタイプに基づいてLVのファイルシステムを拡張します。
df -Th
コマンドを実行して、LVのファイルシステムタイプを確認できます。 [タイプ] 列の値は、ファイルシステムのタイプを示します。 コマンドは、ファイルシステムの種類によって異なります。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
次のコマンドを実行して、LVが期待どおりに拡張されているかどうかを確認します。
df -h
次のコマンド出力は、LVの容量が10 GiB拡張されていることを示します。 LVのファイルシステムは、LV容量の一部を占有する。
方法2: ディスクを追加してLVを拡張する
extend操作のしくみ
LVの容量がビジネス要件を満たしていない場合は、VGにディスクを追加してLVを拡張できます。 次の図は、extend操作の動作を示しています。
手順
この例では、デバイス名が /dev/vdd
、容量が20 GiBのディスクを作成し、そのディスクに基づいてPVを作成し、PVをVGに追加します。
拡張するLVに関連付けられているECSインスタンス用のディスクを作成します。 ディスクを初期化しないでください。
データディスクの作成とアタッチの方法については、「ディスクの作成」および「データディスクのアタッチ」をご参照ください。
ECSインスタンスに接続します。
接続方法の詳細については、「接続方法の概要」をご参照ください。
次のコマンドを実行して、新しいディスクに基づいてPVを作成します。
sudo pvcreate <Disk device name>
たとえば、
/dev/vdd
ディスクに基づいてPVを作成するには、次のコマンドを実行します。sudo pvcreate /dev/vdd
次のコマンド出力は、PVが期待どおりに作成されたことを示します。
VGを拡張します。
次のコマンドを実行して、VGに関する情報を表示します。
sudo vgs
次のコマンド出力は、
vg_01VG
の総容量が59.99 GiBであり、残りの利用可能な容量が1 GiB未満であることを示しています。次のコマンドを実行してVGを拡張します。
sudo vgextend <VG name> <PV name>
たとえば、
/dev/vdd
PVをvg_01
VGに追加するには、次のコマンドを実行します。sudo vgextend vg_01 /dev/vdd
次のコマンド出力は、VGが期待どおりに拡張されていることを示します。
次のコマンドを実行して、VGに関する情報を表示します。
sudo vgs
次のコマンド出力は、
vg_01
のvgの容量が59.99 GiBから79.99 GiBに拡張されることを示します。
LVとファイルシステムを拡張します。
次のコマンドを実行して、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。
次のコマンドを実行して、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拡張されていることを示します。
次のいずれかのコマンドを実行して、ファイルシステムのタイプに基づいてLVのファイルシステムを拡張します。
df -Th
コマンドを実行して、LVのファイルシステムタイプを確認できます。 [タイプ] 列の値は、ファイルシステムのタイプを示します。 コマンドは、ファイルシステムの種類によって異なります。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
次のコマンドを実行して、LVが期待どおりに拡張されているかどうかを確認します。
df -h
次のコマンド出力は、LVの容量が20 GiB拡張されていることを示します。 LVのファイルシステムは、LV容量の一部を占有する。