背景
LVM(Logical Volume Manager)は、複数の物理ディスクやパーティションを柔軟にまとめ、必要に応じて論理ボリュームのサイズを拡張・縮小できる仕組みです。従来の固定パーティション方式では容量変更やディスク追加のたびにパーティションを再作成する必要がありましたが、LVMを使うことで管理が格段に容易になります。ここではLVMの基本的な使い方を紹介します。
手順
1. 物理ボリュームの作成
新しいディスクやパーティションをLVMで利用するには、まず pvcreate コマンドで物理ボリュームとして初期化します。例えば /dev/sdb1 を物理ボリュームにする場合は sudo pvcreate /dev/sdb1 を実行します。pvs コマンドで登録済みの物理ボリュームを一覧できます。
2. ボリュームグループの作成
次に、物理ボリュームを束ねてボリュームグループ (VG) を作成します。sudo vgcreate vgdata /dev/sdb1 のようにグループ名と対象デバイスを指定します。複数の物理ボリュームをまとめて一つのVGに追加することも可能で、vgs コマンドで状態を確認できます。
3. 論理ボリュームの作成とフォーマット
ボリュームグループから論理ボリューム (LV) を作成するには sudo lvcreate -n lvdata -L 20G vgdata のように名称とサイズを指定します。作成したLVは ext4 などのファイルシステムでフォーマットし、/dev/vgdata/lvdata をマウントポイントに取り付けて使用します。
4. サイズの変更
容量が足りなくなった場合は、物理ボリュームをVGに追加してから LV を拡張します。例えばディスク /dev/sdc1 を追加する場合は sudo pvcreate /dev/sdc1、sudo vgextend vgdata /dev/sdc1 を実行します。その後 sudo lvextend -L +10G /dev/vgdata/lvdata でLVを拡張し、sudo resize2fs /dev/vgdata/lvdata でファイルシステムを拡張します。縮小する場合はファイルシステムを縮小してから lvreduce を実行します。
5. スナップショットの活用
LVMはスナップショット機能を提供しており、特定時点の状態を短時間で保存できます。sudo lvcreate --size 1G --snapshot --name lvdata_snap /dev/vgdata/lvdata のように作成したスナップショットはバックアップやテストに利用でき、不要になれば lvremove で削除します。
まとめ
LVMを利用するとディスク容量の管理が柔軟になり、将来的な拡張や縮小も容易になります。物理ボリューム、ボリュームグループ、論理ボリュームという3階層の概念を理解し、必要に応じてスナップショットやリサイズ機能を活用することで、システム運用の効率が向上します。慎重にコマンドを実行し、データ損失を避けるためにバックアップを取得してから操作を行うようにしましょう。