こんにちは!「LINUX工房」管理人の「リナックス先生」です。
前回の第1回では、Linuxシステム管理の全体像と、リソース監視・ログ・自動化の重要性を学びました。
いよいよ今回から、インフラ基盤の根幹をなす具体的な要素技術に入っていきます。第2回で取り上げるのは、サーバーの生命線である「ストレージ管理」です。
データベースの肥大化やログの蓄積により、サーバー運用で最も頻発するトラブルが「ディスク容量の枯渇(ディスクフル)」です。今回は、物理ディスクの基礎から、ダウンタイムなしで容量を拡張できるLVM(論理ボリュームマネージャー)の構築手法まで、プロの現場で必須となる知識を徹底解説します。
先生!実はこないだ、テストサーバーでログが暴走してルートパーティションの容量が100%になってしまい、SSHすらログインできなくなって大慌てしたんです……。ディスクって、後から容量を増やすのってすごく難しくないですか?
それは良い(痛い)経験をしたわね、コウ君!従来の固定パーティションのまま運用していると、容量不足になったときにサーバーを止めてデータをバックアップし、パーティションを切り直して……と、大変な作業になるわ。
でも、現代のエンタープライズLinux(AlmaLinux 9/10)の標準である「LVM」を使いこなせば、システムを止めることなく、オンラインで瞬時にディスクを拡張できるようになるのよ。今日の記事でしっかりマスターしなさい!
📚 本連載のカリキュラム(全8回)
目次
1. Linuxストレージの基本構造(デバイス名とパーティション)
Linuxにおけるストレージ管理の第一歩は、ハードディスクやSSDがどのように認識されているかを把握することです。
AlmaLinux 9/10をはじめとするモダンなLinux環境では、物理ディスクはデバイスファイルとして /dev/ ディレクトリ配下に表現されます。
- NVMe SSDの場合:
/dev/nvme0n1など - 仮想ディスク(VPS/Cloud)やSATAの場合:
/dev/sda,/dev/sdbなど
現在接続されているディスクやパーティションの構成を確認するには、lsblk コマンドを使用するのが最も視覚的で確実です。
$ lsblk NAMEဇMAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 50G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 49G 0 part / sdb 8:16 0 20G 0 disk
上記の出力例では、50GBの主ディスク(sda)がOS領域とブート領域にパーティション分割されており、新たに追加された20GBのディスク(sdb)がまだパーティションも切られていない状態で存在していることが一目でわかります。
2. LVM(Logical Volume Manager)のアーキテクチャ
物理ディスクをそのまま使うのではなく、間に仮想的なレイヤーを挟むことでストレージ管理を劇的に柔軟にする仕組みが LVM(Logical Volume Manager) です。
LVMは主に以下の3つの要素で構成されています。
- PV(Physical Volume / 物理ボリューム): 物理ディスクやパーティション(例:
/dev/sdb)をLVMで利用できるように初期化したもの。 - VG(Volume Group / ボリュームグループ): 1つ以上のPVを束ねて作成する「仮想的なストレージプール」。複数のディスクを結合して1つの巨大なプールを作ることができます。
- LV(Logical Volume / 論理ボリューム): VGというプールから、必要な容量だけを切り出して作成する「仮想的なパーティション」。ここにファイルシステム(XFS等)を作成します。
この構造により、「ストレージが足りなくなったら新しい物理ディスクを挿してVGに追加し、LVのサイズを広げる」という操作が、システムを止めることなく(オンラインで)実現できるようになります。
3. 実践:新規ディスクの追加からLVMボリューム作成までの全手順
それでは、先ほど確認した追加ディスク /dev/sdb(20GB)を対象に、実際にLVMを構築してデータベース用の領域(/var/lib/mysql などを想定)を作る手順を解説します。
※すべての操作は root 権限または sudo で実行してください。
ステップ1:物理ボリューム(PV)の作成
まずは追加したディスク全体をLVMの物理ボリュームとして初期化します。
sudo pvcreate /dev/sdb # 実行成功の確認 sudo pvs
ステップ2:ボリュームグループ(VG)の作成
作成したPV(/dev/sdb)を束ねて、新しいボリュームグループ vg_data を作成します。
sudo vgcreate vg_data /dev/sdb # 実行成功の確認 sudo vgs
ステップ3:論理ボリューム(LV)の切り出し
ボリュームグループ vg_data の中から、今回は15GB分の容量を持つ論理ボリューム lv_mysql を作成します。
初めてでも使える!Linux超入門 Ubuntu 16.10対応版【電子書籍】 価格:1569円 |
sudo lvcreate -n lv_mysql -L 15G vg_data # 実行成功の確認 sudo lvs
これで、/dev/vg_data/lv_mysql というパスで15GBの仮想ボリュームが誕生しました。残りの5GBは、将来容量が足りなくなったときのための予備領域としてVG内に温存されます。
4. ファイルシステム(XFS)の作成とマウント永続化(/etc/fstab)
論理ボリュームが完成したら、OSがファイルを読み書きできるようにファイルシステムを構築(フォーマット)し、ディレクトリツリーに接続(マウント)します。
AlmaLinux 9/10の標準である XFS ファイルシステムを採用します。
ファイルシステムの作成(フォーマット)
sudo mkfs.xfs /dev/vg_data/lv_mysql
マウントポイントの作成と手動マウント
# マウント先のディレクトリを作成 sudo mkdir -p /mnt/mysql_data # 手動でマウントを実行 sudo mount /dev/vg_data/lv_mysql /mnt/mysql_data # マウントされているか確認 df -hT /mnt/mysql_data
【重要】/etc/fstab によるマウントの永続化
手動でマウントした設定は、サーバーを再起動すると消えてしまいます。再起動後も自動でマウントされるよう、/etc/fstab に設定を追記します。
このとき、デバイス名ではなく必ず UUID を使用するのがプロの鉄則です。
# 1. 作成したLVのUUIDを確認する sudo blkid /dev/vg_data/lv_mysql # 2. /etc/fstab をエディタで開き、末尾に追記する # (例として UUID=xxxx-xxxx が出力された場合) UUID=xxxx-xxxx-xxxx-xxxx-xxxx-xxxx /mnt/mysql_data xfs defaults,nofail,noatime 0 0
⚠️ fstab設定時のプロ的注意点
・nofail オプション: クラウド環境や外付けストレージにおいて、万が一ディスク障害でマウントに失敗した際でも、OSの起動プロセスが停止(Emergencyモード入り)せず、SSHでの復旧作業が可能になります。
・noatime オプション: ファイルへのアクセスごとにアクセス日時(atime)を更新する処理を無駄に行わないようにし、ディスクI/Oのパフォーマンスを向上させます。
5. 運用時の強み:ダウンタイムなしのオンライン拡張手順
LVMを導入する最大のメリットは、運用開始後に容量が足りなくなった際、サーバーを停止することなく(オンラインのまま)容量を拡張できる点にあります。
例えば、先ほど作った lv_mysql の容量を、残りのプールからさらに追加して「20GB」に拡張する手順は以下の通りです。
# 1. 論理ボリューム(LV)のサイズを5GB追加する(合計20GBへ) sudo lvextend -L +5G /dev/vg_data/lv_mysql # 2. ファイルシステム(XFS)側に拡張を認識させる(オンライン拡張) sudo xfs_growfs /mnt/mysql_data # 3. 拡張されたことを確認する df -hT /mnt/mysql_data
たったこれだけのコマンド操作で、業務システムを止めることなく瞬時にストレージを拡張できます。これがLVMを実務で使うべき最大の理由です。
総まとめ:柔軟なストレージ設計がインフラを守る
第2回の解説、お疲れ様でした。
今回は、AlmaLinux 9/10環境におけるストレージの基礎から、LVM(PV/VG/LV)の構築、XFSファイルシステムの設定、そしてオンライン拡張に至るまでの実践的な手順を網羅しました。
ディスク容量の枯渇はインフラにおける典型的な人災ですが、LVMと適切な監視を組み合わせることで完全にコントロール下に入れることができます。
次回、【第3回】リソース監視とパフォーマンスチューニング(CPU・メモリ) では、サーバーの頭脳と心臓部であるCPUとメモリに焦点を当て、プロメテウスや各種コマンドを用いた詳細なパフォーマンス分析・ボトルネック特定の手法を深く掘り下げていきます。
お楽しみに!LINUX工房の「リナックス先生」でした。
▼ 【LVM検証にも最適な高耐久VPS環境】 ▼
追加ディスクが自由に使える
「高コスパおすすめVPS」
インフラ設計スキルを評価
「ITエンジニア専門転職」

コメント