LVM は Logical Volume Manager の略です。
LVM を使用すると、1 つ以上の物理ハード ドライブにまたがる論理パーティションを作成できます。まず、ハードドライブが物理ボリュームに分割され、次にそれらの物理ボリュームが結合されてボリュームグループが作成され、最後にボリュームグループから論理ボリュームが作成されます。
この記事に記載されている LVM コマンドは、Ubuntu ディストリビューションで使用されます。ただし、他の Linux ディストリビューションでも同じです。
開始する前に、以下に示すように lvm2 パッケージをインストールしてください。
$ sudo apt-get intall lvm2
LVM を作成するには、次の手順を実行する必要があります。
- LVM の物理ストレージ デバイスを選択する
- 物理ボリュームからボリューム グループを作成する
- ボリューム グループから論理ボリュームを作成する
LVM の物理ストレージ デバイスを選択 – pvcreate、pvscan、pvdisplay コマンドを使用
このステップでは、LVM の作成に使用する物理ボリュームを選択する必要があります。以下に示すように、pvcreate コマンドを使用して物理ボリュームを作成できます。
$ sudo pvcreate /dev/sda6 /dev/sda7 Physical volume "/dev/sda6" successfully created Physical volume "/dev/sda7" successfully created
上記のように、/dev/sda6 と /dev/sda7 の 2 つの物理ボリュームが作成されます。
物理ボリュームが既に作成されている場合は、以下に示すように pvscan コマンドを使用して表示できます。
$ sudo pvscan PV /dev/sda6 lvm2 [1.86 GB] PV /dev/sda7 lvm2 [1.86 GB] Total: 2 [3.72 GB] / in use: 0 [0 ] / in no VG: 2 [3.72 GB]
以下に示すように、pvdisplay コマンドを使用して、サイズ、物理エクステント サイズ、合計物理エクステント サイズ、空き容量などの属性を含む物理ボリュームのリストを表示できます。
$ sudo pvdisplay --- Physical volume --- PV Name /dev/sda6 VG Name PV Size 1.86 GB / not usable 2.12 MB Allocatable yes PE Size (KByte) 4096 Total PE 476 Free PE 456 Allocated PE 20 PV UUID m67TXf-EY6w-6LuX-NNB6-kU4L-wnk8-NjjZfv --- Physical volume --- PV Name /dev/sda7 VG Name PV Size 1.86 GB / not usable 2.12 MB Allocatable yes PE Size (KByte) 4096 Total PE 476 Free PE 476 Allocated PE 0 PV UUID b031x0-6rej-BcBu-bE2C-eCXG-jObu-0Boo0x
注 :PE – 物理エクステントは、同じサイズのチャンクに他なりません。エクステントのデフォルト サイズは 4MB です。
ボリューム グループの作成 - vgcreate、vgdisplay コマンドを使用
ボリューム グループは、1 つ以上の物理ボリュームで構成されるストレージのプールに他なりません。物理ボリュームを作成したら、これらの物理ボリューム (PV) からボリューム グループ (VG) を作成できます。
この例では、以下に示すように、2 つの物理ボリュームからボリューム グループ vol_grp1 が作成されます。
$ sudo vgcreate vol_grp1 /dev/sda6 /dev/sda7 Volume group "vol_grp1" successfully created
LVM は、エクステントの観点からストレージを処理します。 -s フラグを使用してエクステント サイズを (デフォルト サイズの 4MB から) 変更することもできます。
vgdisplay コマンドは、作成されたボリューム グループを一覧表示します。
$ sudo vgdisplay --- Volume group --- VG Name vol_grp1 System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 2 Act PV 2 VG Size 3.72 GB PE Size 4.00 MB Total PE 952 Alloc PE / Size 0 / 0 Free PE / Size 952 / 3.72 GB VG UUID Kk1ufB-rT15-bSWe-5270-KDfZ-shUX-FUYBvR
LVM 作成:論理ボリュームの作成 – lvcreate、lvdisplay コマンドを使用
これで、ボリューム グループから論理ボリュームを作成する準備が整いました。 lvcreate コマンドは、80MB のサイズの論理ボリュームを作成します。
$ sudo lvcreate -l 20 -n logical_vol1 vol_grp1 Logical volume "logical_vol1" created
以下に示すように lvdisplay コマンドを使用して、利用可能な論理ボリュームとその属性を表示します。
$ sudo lvdisplay --- Logical volume --- LV Name /dev/vol_grp1/logical_vol1 VG Name vol_grp1 LV UUID ap8sZ2-WqE1-6401-Kupm-DbnO-2P7g-x1HwtQ LV Write Access read/write LV Status available # open 0 LV Size 80.00 MB Current LE 20 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 252:0
論理ボリューム上に適切なファイルシステムを作成すると、ストレージ目的で使用できるようになります。
$ sudo mkfs.ext3 /dev/vol_grp1/logical_vol1
LVM のサイズ変更:論理ボリュームのサイズを変更します – lvextend コマンドを使用します
以下に示すように、lvextend ユーティリティを使用して、作成後に論理ボリュームのサイズを拡張できます。これにより、論理ボリュームのサイズが 80MB から 100MB に変更されます。
$ sudo lvextend -L100 /dev/vol_grp1/logical_vol1 Extending logical volume logical_vol1 to 100.00 MB Logical volume logical_vol1 successfully resized
以下に示すように、特定の論理ボリュームにサイズを追加することもできます。
$ sudo lvextend -L+100 /dev/vol_grp1/logical_vol1 Extending logical volume logical_vol1 to 200.00 MB Logical volume logical_vol1 successfully resized