LVM
LVMとは
LVM(Logical Volume Manager)とは、複数のパーティションにまたがったストレージをまとめ、仮想的(論理的)なストレージを提供するソフトウェアのこと。
LVMにより、複数のストレージを1つのストレージに見せかけたり、仮想的なストレージプールから一定の容量分を切り出して使うことができる。LVMがない場合、OSからは物理的なパーティションが直接ストレージとして見えていることになるが、容量の増減を動的に行うことができない*1。
LVMの構成要素
LVMには物理ボリューム、ボリュームグループ、論理ボリュームという3つの構成要素がある。 前の節ではLVMの用語を使わずに説明したが、これらの用語を用いてLVMを改めて定義すると以下のようになる。
LVMとは、複数の物理ボリュームをボリュームグループとしてまとめ、論理ボリュームを提供するソフトウェアのこと。
物理ボリューム(PV)
LVMにおける物理ボリュームとは物理的なパーティションのこと。Linuxではパーティションに対応するデバイスファイルはudevによって作成されているが、LVMを利用する場合は改めて物理ボリュームというエンティティを定義する必要がある*2。
物理ボリュームの操作にはpvcreate
等のpvが接頭につくコマンドを用いる。
物理エクステント(PE)
似たような言葉に物理エクステントがあるので触れておく。LVMが扱う記憶の最小管理単位である。言い換えると、物理ボリュームは物理エクステントの集合体である。PEのサイズは8KB~512MBの範囲で指定が可能である。
ボリュームグループ(VG)
ボリュームグループとは物理ボリュームをまとめたもの。仮想的に一つの大きなボリューム(ストレージ)を作っていると見なせる。特定のボリュームグループに対し、異なるハードディスクに属するパーティションが所属していても問題ない。
ボリュームグループの操作にはvgcreate
等のvgが接頭につくコマンドを用いる。
論理ボリューム(LV)
ボリュームグループから特定容量分をストレージとして切り出したものである。ボリュームグループに対するパーティションのようなものと考えてもよい。LVMでは論理ボリュームが実ファイルを格納する領域となっており、ファイルシステムが構成されるストレージデバイスとなる。論理ボリュームは動的にサイズの伸縮が可能である。
以下の例では、sda5
パーティションの中にcl-*
というLVMが構成されていることがわかる。例えば/
はXFSという種類のファイルシステムであり、対応するデバイスファイルは/dev/mapper/cl-root
ということが見て取れる*3。
[root@nuc-centos8 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 1.8T 0 disk |(省略) `-sda5 8:5 0 1.1T 0 part |-cl-root 253:0 0 50G 0 lvm / |-cl-swap 253:2 0 15.7G 0 lvm [SWAP] |-cl-usr 253:3 0 250G 0 lvm /usr |-cl-home 253:5 0 250G 0 lvm /home |-cl-var 253:7 0 300G 0 lvm /var `-cl-opt 253:10 0 300G 0 lvm /opt [root@nuc-centos8 ~]# df -T -h Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 16G 0 16G 0% /dev tmpfs tmpfs 16G 0 16G 0% /dev/shm tmpfs tmpfs 16G 242M 16G 2% /run tmpfs tmpfs 16G 0 16G 0% /sys/fs/cgroup /dev/mapper/cl-root xfs 50G 431M 50G 1% / /dev/mapper/cl-usr xfs 250G 4.0G 246G 2% /usr /dev/mapper/cl-var xfs 300G 23G 278G 8% /var /dev/mapper/cl-opt xfs 300G 9.8G 291G 4% /opt /dev/mapper/cl-home xfs 250G 1.8G 249G 1% /home /dev/sda4 ext4 976M 144M 766M 16% /boot /dev/sda1 vfat 200M 12M 188M 6% /boot/efi 192.168.0.11:/volume1/document nfs 3.6T 922G 2.7T 26% /mnt/synology/document 192.168.0.11:/volume1/download nfs 3.6T 922G 2.7T 26% /mnt/synology/download tmpfs tmpfs 3.2G 0 3.2G 0% /run/user/0
論理ボリュームの操作にはlvcreate
等のlvが接頭につくコマンドを用いる。
まとめ
LVMの構成要素の関係を表す図を以下に引用する。
【Linuxの基礎知識】LVMとは?LVMを理解しよう! | Beエンジニアより引用
関連記事
参考にしたもの
13.5. fdisk を使用したパーティションのサイズ変更 Red Hat Enterprise Linux 7 | Red Hat Customer Portal
【 vgcreate 】コマンド――ボリュームグループを作成する:Linux基本コマンドTips(336) - @IT
IT技術者なら知っておきたい ストレージの原則と技術 | EMC Education Services, 株式会社クイープ |本 | 通販 | Amazon