関連記事:Linux の基本機能 | |||||
---|---|---|---|---|---|
LVM の機能と用語
LVM は主に以下の3つを管理します。
LVMで論理ボリュームを作成
以下の手順で LVM 論理ボリュームを作成します。
- LVM (lvm2 パッケージ) をインストール
- 物理ボリューム (PV) を作成
- ボリュームグループ (VG) を作成し、物理ボリュームを割り当て
- ボリュームグループ (VG) から論理ボリューム (LV) を作成
LVM をインストール
sudo yum -y install lvm2
物理ボリューム (PV) を作成
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS (省略) xvdb 202:16 0 8G 0 disk xvdc 202:32 0 8G 0 disk
sudo pvcreate /dev/xvdb
sudo pvcreate /dev/xvdc
※ストレージ全体 (/dev/xvdb) を指定しているが、パーティション (/dev/xvdb1 等) も指定可能
sudo pvs
PV VG Fmt Attr PSize PFree /dev/sdb lvm2 --- 8.00g 8.00g /dev/sdc lvm2 --- 8.00g 8.00g
※もっと詳細を確認する場合は pvdisplay コマンド
無事物理ボリュームが認識できています。(sdb-->xvdb, sdc-->xvdc のシンボリックリンク)
ボリュームグループ (VG) を作成
次にボリュームグループ (VG) を作成し、物理ボリュームを割り当てます。
sudo vgcreate example-vg /dev/xvdb
sudo vgextend example-vg /dev/xvdc
sudo vgs
VG #PV #LV #SN Attr VSize VFree example-vg 2 0 0 wz--n- 15.99g 15.99g
※もっと詳細を確認する場合は vgdisplay コマンド
論理ボリューム (LV) を作成
ボリュームグループ (VG) から論理ボリューム (LV) を作成します。
sudo lvcreate --size 10G --name lv-10g example-vg
sudo lvcreate --size 4G --name lv-4g example-vg
sudo lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lv-10g example-vg -wi-a----- 10.00g lv-4g example-vg -wi-a----- 4.00g
※もっと詳細を確認する場合は lvdisplay
以下の状態が完成しました。
LVM をマウント (mount)
sudo mkfs -t xfs /dev/example-vg/lv-10g
sudo mount /dev/example-vg/lv-10g /mnt
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS (省略) xvdb 202:16 0 8G 0 disk └─example--vg-lv--10g 253:0 0 10G 0 lvm /mnt xvdc 202:32 0 8G 0 disk ├─example--vg-lv--10g 253:0 0 10G 0 lvm /mnt └─example--vg-lv--4g 253:1 0 4G 0 lvm
これで論理ボリューム /dev/example-vg/lv-10g が利用できるようになりました。
sudo touch /mnt/text.txt
ls /mnt
test.txt
LVM でよく使う操作
論理ボリュームの拡張
sudo lvextend -L 5G /dev/example-vg/lv-4g
論理ボリュームのリネーム
sudo lvrename /dev/example-vg/lv-4g lv-5g
論理ボリュームの縮小
sudo lvreduce -L 4G /dev/example-vg/lv-5g
論理ボリュームの削除
sudo lvremove /dev/example-vg/lv-5g
関連情報
関連記事:Linux の基本機能 | |||||
---|---|---|---|---|---|
参考資料
LVMを使ってみたかったのでEC2とEBSでやってみた | DevelopersIO
EBSとEC2でLVM関連のコマンドを使ってみました。