LVMとシンボリックリンクによるディスク容量拡張の実装方法

運用環境において、サービスやデータベースファイルは通常個別にマウントされたパーティションに保存されます。多くの場合、大量のストレージを消費するのはアプリケーションログファイルとデータベースデータです。パーティションの空き容量が不足した際には、ボリュームの拡張または代替手段を検討する必要があります。

LVM論理ボリューム管理

対象パーティションがLVM構成で設定されている場合、これは最も効率的な解決策となります。新しいストレージデバイスを追加し、既存パーティションにスペースを割り当てることが可能です。

ボリューム操作手順

物理ボリューム(PV)の作成


# 物理ボリュームとして利用可能なデバイスを確認
lvm_scan_disks
# 指定デバイスを物理ボリュームとして初期化
make_pv /dev/sdb1
# 作成済み物理ボリューム情報を表示
show_pv_info

ボリュームグループ(VG)の構築


# 物理ボリューム構築後、ボリュームグループを作成
create_vg VG_MAIN /dev/sdb1
# 他の物理ボリュームを既存グループに追加
expand_vg VG_MAIN /dev/sdd
# 現在のボリュームグループ情報を表示
show_vg_status

論理ボリューム(LV)の生成


# ボリュームグループ内に論理ボリュームを作成
generate_lv --size 120G --name LOGICAL_VOL1 VG_MAIN
# ボリュームの容量拡張
extend_lv --free-space-all /dev/VG_MAIN/LOGICAL_VOL1
extend_lv --add-size 150M /dev/VG_MAIN/LOGICAL_VOL1
# 論理ボリューム情報を確認
show_lv_details
# 拡張後のファイルシステムサイズ調整
adjust_filesystem_size /dev/VG_MAIN/LOGICAL_VOL1

上記例では完全な構築プロセスを示していますが、実際には既存ボリュームの拡張のみを行うケースが多いです。ただし、使用頻度が低いからといって知識を軽視すべきではありません。

シンボリックリンク方式の容量確保

この手法では「容量拡張」という表現にダブルクォートを使用しています。実際の容量増加ではなく、問題解決のための代替手段であることを示しています。緊急時の対応策として有用です。

Webサーバー環境を想定します。システムディスクとは別にデータ用パーティションとして/storageがあり、追加の大容量ディスクとして/workspaceが利用可能です。以下のように操作します:

  1. 既存の満杯になったディレクトリ内容を新規ディスクへ移動
    transfer_directory /storage /workspace
  2. 移動したディレクトリを元の場所にシンボリックリンクで接続
    create_symlink /workspace/storage /storage

このアプローチの仕組みは単純です。多くのサーバーでは複数のサービスが稼働しており、ストレージ容量が限界に達した際、データを別の場所に移動した後にシンボリックリンクで元のパスに戻すことで、各サービスの設定ファイル修正を回避できます。これにより作業負荷を大幅に削減し、すべての設定変更を不要にしながら新しいストレージにデータを書き込めるようにします。

タグ: LVM logical-volume disk-management symbolic-link storage-expansion

9月9日 08:07 投稿