基本的なLVMの作成例
- LVM の作成計画
- LVM の作成
- LVM の削除
作ったものは後始末するということで、LVMを作って削除するまでをメモしておきます。
用意するもの
LVM の容量計画
どのように物理的なHDDやパーティションを扱いたいのか決めておく必要がある。
ただし、LVMの知識がないとこの計画が立たないので、LVM作成を躊躇する人や、よくわからないのでフォーマットしちゃうような人が多い気がする。
でも大丈夫、LVMは「あとでどうにでもにも」することができるので、LVM管理下においちゃって大丈夫
今回は実験用にHDDのパーティションをLVM管理下においちゃうことにする。
LVM の名前
名前をつけないと、適当な名前がlvm2 のモジュールによって命名される。 今回は何か名前をつけようと思います。
作成の順番と使用
LVMで管理するディスクを決めたら、次のような手順で有効にしてファイルを書き込めるようにする。
計画→ PV 作成 → VG作成 → LV 作成 → フォーマット → マウント
PV の作成
sudo pvcreate /dev/sdc1
PV の作成結果を確認
takuya@:~$ sudo pvs PV VG Fmt Attr PSize PFree /dev/sdc1 example-vg lvm2 a-- 150.00g 150.00g
VGの作成
sudo vgcreate example-vg /dev/sdc1
VG の作成結果を確認
takuya@:~$ sudo vgs VG #PV #LV #SN Attr VSize VFree example-vg 1 0 0 wz--n- 150.00g 150.00g
LV の作成
sudo lvcreate -n example-lv -l 100%FREE example-vg
LV の作成結果を確認
takuya@:~$ sudo lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert example-lv example-vg -wi-a----- 150.00g
lsblk でデバイス・マッパーが出来たのを確認
takuya@:~$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdc 8:32 0 931.5G 0 disk └─sdc1 8:33 0 150G 0 part └─example--vg-example--lv 254:3 0 150G 0 lvm
フォーマット
sudo mkfs.ext4 /dev/mapper/example--vg-example--lv
マウントして書込みする。
takuya@:~$ sudo mount /dev/mapper/example--vg-example--lv mnt takuya@:~$ cd mnt takuya@:mnt$ sudo chmod 777 . takuya@:mnt$ touch a takuya@:mnt$
コレで基本的なLVMの使い方はわかった。
lvm を使う上で一番基本になる使い方なので暗記しておいて、これらのコマンドをサラッと書ける必要がある。
つぎは、この作ったLVMを削除する
LVM の削除について
削除は、作成の逆を順番にやっていきます。
マウント解除 → LV削除 → VG 削除 → PV 削除
LV の削除
LV を削除していきます。先に削除前の状態を確認しておきます。
lvs で確認しながら、lvremove していきます。
LVの作り直しでも必要になるので覚えておく。
削除前のLV
takuya@:~$ sudo lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert example-lv example-vg -wi-a----- 150.00g
LV の削除
sudo lvremove VgName/LvName
実際にやってみた結果
takuya@:~$ sudo lvremove example-vg/example-lv Do you really want to remove active logical volume example-lv? [y/n]: y Logical volume "example-lv" successfully removed Volume group "example-lv" not found Skipping volume group example-lv
削除後のLV
takuya@:~$ sudo lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
VG の削除
VG の削除前と削除後の状態を確認しながら、VGの削除をやっていきます。
VGを削除して作り直すときにも使います。
削除前の VG
takuya@:~$ sudo vgs VG #PV #LV #SN Attr VSize VFree example-vg 1 0 0 wz--n- 150.00g 150.00g
VGの削除
takuya@:~$ sudo vgremove example-vg Volume group "example-vg" successfully removed
削除後のVG
takuya@:~$ sudo vgs VG #PV #LV #SN Attr VSize VFree
PEをPV からの離脱
PEに登録してPVにしたボリュームを、解除します。
PV の状態を確認
takuya@:~$ sudo pvs PV VG Fmt Attr PSize PFree /dev/sdc1 lvm2 --- 150.00g 150.00g
PEの削除
takuya@:~$ sudo pvremove /dev/sdc1 Labels on physical volume "/dev/sdc1" successfully wiped
PVの状態を確認
takuya@:~$ sudo pvs PV VG Fmt Attr PSize PFree
これで、LVMを使わない状態に戻すことが出来ました。
まとめ
- PV / VG / LV の順番に登録していく
- LV は通常ボリュームと同じに扱える
pvcreate / pvmoreve
やvgcreate /vgremove
やlvcreate / lvremove
と対になってる- LV / VG / PV の順番に解除していく( 登録時の逆
2022-06-15
lvremove のVG/LVの記載がおかしかったので修正