こんにちは!Linuxサーバーを運用していると、「パーティションの容量が足りないけど、増やせないかな?」「ディスクを2つ1つにまとめて使いたいんだけど…」といった悩みを一度は経験したことがあるのではないでしょうか。物理的なディスクの限界を超え、ストレージをレゴブロックのように自由に組み立てて管理できる強力なソリューション、それがLVM(Logical Volume Manager)です。
今日は、LVMとは何かという概念から、実際にハードディスクを追加して新しい論理ボリュームを作成し、使用するまでの全過程を詳細なガイドとしてお伝えします。この投稿を読み進めれば、LVMとすぐに仲良くなれるはずです!🚀

LVM、なぜ使うべきなのでしょうか? 🤔
LVMを理解するために、レゴブロックを想像してみてください。
- 物理ボリューム (Physical Volume, PV): LVMで使用する実際のディスクやパーティションです。様々な形や大きさの「レゴブロック」そのものです。🧱
- ボリュームグループ (Volume Group, VG): これらのレゴブロックをすべて収納する一つの巨大な「レゴの箱」です。箱の中にブロックをどんどん追加できます。📦
- 論理ボリューム (Logical Volume, LV): 箱の中のブロックを組み合わせて作った「レゴの城」です。私たちが実際にデータを保存し、使用する空間です。城が小さければ、ブロックを追加して大きくすることができます。🏰
このように、LVMはディスク(PV)を一つの大きなストレージ(VG)としてまとめ、必要なサイズだけ論理的なパーティション(LV)を作成して使用します。
LVMの主な利点:
- 柔軟なサイズ調整: 使用中のファイルシステムもオンライン状態で簡単に拡張したり縮小したりできます。
- 複数のディスク統合: 複数の物理ディスクを一つのボリュームグループにまとめ、単一の巨大なストレージ空間のように使用できます。
- スナップショット機能: 特定時点のファイルシステムをそのままコピーし、バックアップやテストに安全に活用できます。
LVM実践ガイド: 3ステップで論理ボリュームを作成 🚀
それでは、サーバーに新しいディスク /dev/vdc と /dev/vdd を追加したと仮定し、この2つのディスクを使って3GBサイズの新しい論理ボリュームを作成してみましょう。
ステップ1: 物理ボリューム(PV)の作成 🧱
まず、LinuxシステムがこれらのディスクをLVMの「レゴブロック」として認識できるように目印を付けておく必要があります。
sudo pvcreate /dev/vdc /dev/vdd
このpvcreateコマンドは、/dev/vdcと/dev/vddディスクをLVMが使用できる物理ボリュームとして初期化します。
✅ 確認: pvsコマンドで物理ボリュームが正しく作成されたか確認します。
sudo pvs
# 結果例PV VG Fmt Attr PSize PFree/dev/vdc lvm2 --- /dev/vdd lvm2 ---
ステップ2: ボリュームグループ(VG)の作成 📦
次に、準備されたレゴブロック(PV)を一つの大きな「レゴの箱(VG)」に入れる番です。volume1という名前のボリュームグループを作成してみましょう。
sudo vgcreate volume1 /dev/vdc /dev/vdd
vgcreateコマンドは、volume1という名前で、/dev/vdcと/dev/vddをメンバーとする新しいボリュームグループを作成します。
✅ 確認: vgsコマンドでボリュームグループのリストを確認します。
sudo vgs
# 結果例VG #PV #LV #SN Attr VSize VFreevolume1 2 0 0 wz--n-
VSize(全体のサイズ)を見ると、2つのディスクの容量が合算されていることがわかります。
ステップ3: 論理ボリューム(LV)の作成 📁
いよいよ箱の中のブロックを使って、私たちが望む「レゴの城(LV)」を作る時間です。volume1ボリュームグループから3GBのサイズを割り当てて、website_filesという名前の論理ボリュームを作成します。
sudo lvcreate -n website_files -L 3G volume1
コマンドオプション完全分析!
- -n website_files: 作成する論理ボリュームの名前(name)を指定します。
- -L 3G: 論理ボリュームのサイズ(Logical size)を3ギガバイト(Gigabytes)に設定します。(-lオプションを使用するとパーセンテージでも割り当て可能です。)
- volume1: どのボリュームグループからスペースを割り当てるかを指定します。
✅ 確認: lvsコマンドで論理ボリュームが正しく作成されたか最終確認します。
sudo lvs
# 結果例LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convertwebsite_files volume1 -wi-a----- 3.00g
✨ 最も重要な最終ステップ: ファイルシステム作成とマウント
おめでとうございます!論理ボリュームの作成は完了しました。しかし、今はファイルを保存できない「空っぽ」の状態です。データを保存するには、ファイルシステムでフォーマットし、特定のディレクトリに接続(マウント)する必要があります。
- ファイルシステム作成(フォーマット) 新しく作成した論理ボリュームのパスは /dev/ボリュームグループ名/論理ボリューム名 の形式に従います。このボリュームをxfsファイルシステムでフォーマットしてみましょう。
sudo mkfs.xfs /dev/volume1/website_files
- マウントポイント作成とマウント 次に、この論理ボリュームを接続するディレクトリを作成し、マウントします。
# ウェブサイトファイルを保存するディレクトリを作成します。sudo mkdir -p /var/www/website# 論理ボリュームを作成したディレクトリにマウントします。sudo mount /dev/volume1/website_files /var/www/website
これで、/var/www/website パスにファイルを保存すると、LVMで構成した新しいストレージに安全にデータが記録されます!(再起動時に自動マウントしたい場合は、/etc/fstabに登録するのを忘れないでください!)
まとめ 🎬
LVMは最初は少し複雑に見えるかもしれませんが、その構造といくつかのコマンドを習得すれば、物理ディスクの限界を超えて、はるかに柔軟で強力にサーバーストレージを管理できるようになります。容量が不足すればlvextendで拡張し、必要であればスナップショットで安全にバックアップするなど、LVMの無限の可能性をぜひ直接体験してみてください!
タグ: Linux, LVM, ストレージ, サーバー管理, Logical Volume, Volume Group, pvcreate, vgcreate, lvcreate, DevOps, ファイルシステム, ディスク管理
コメントを残す