はじめに
Linux の論理ボリューム(LVM)を拡張する際に主に使用するコマンドが lvextend、拡張したファイルシステムを実際に利用できるようにするコマンドが resize2fs です。本記事では両コマンドの基本的な使い方と注意点を解説します。
lvextend の基本
概要
lvextend は既存の論理ボリューム(LV)サイズを拡張するコマンドです。拡張対象の PV(Physical Volume)に十分な空き領域があることが前提となります。
主なオプション
-L: 拡張後のサイズを直接指定(例:10G)-l: 拡張後のサイズを物理エクステント数で指定-r: LV の拡張と同時に対応するファイルシステムを自動的に拡張(内部的に resize2fs が呼ばれます)-P: 変更前後のサイズ情報を表示
使用例
# 既存 LV のサイズを 20GB に拡張(空き領域が足りることが必要)
lvextend -L 20G /dev/vg01/lv_data
# 余った空き領域すべてを使用して拡張
lvextend -l +100%FREE /dev/vg01/lv_data
# 拡張と同時にファイルシステムも自動拡張
lvextend -r -L 30G /dev/vg01/lv_data
resize2fs の基本
概要
resize2fs は ext2/ext3/ext4 ファイルシステムのサイズを変更できるツールです。論理ボリュームを拡張した後、もしくはパーティションサイズを変更した後に実行して、ファイルシステム領域を拡張します。
主なオプション
-p: 進捗表示-f: 強制的に実行(マウント中でも可能だが、リスクがある)-M: 最小サイズに縮小
使用例
# マウント済み(オンライン)で拡張(ext4 のみサポート)
resize2fs /dev/vg01/lv_data
# 特定サイズに縮小(注意: データがそのサイズに収まっていることを確認)
resize2fs -M /dev/vg01/lv_data
実際の作業手順
1. 空き領域の確認
まず、VG(Volume Group)に十分な空き領域があるか確認します。
# vgs
# vgdisplay vg01
2. 論理ボリュームの拡張
上記 lvextend の例のようにサイズを拡張します。
3. ファイルシステムの拡張
lvextend -r で自動拡張できない場合、手動で resize2fs を実行します。
4. 確認
拡張が正しく行われたかを df -h や lsblk で確認します。
注意点とベストプラクティス
- データ保護のため、作業前に必ずバックアップを取得する。
- 拡張対象が ルートファイルシステム の場合、リカバリ用ライブ環境から作業することを検討する。
- ファイルシステムを縮小する際は、必ず事前にデータ使用量を確認し、十分な余裕を持たせる。
- オンラインでの拡張は ext4 に限られる。ext2/ext3 はアンマウントが必要。
- PV の物理ディスクが故障していると、LV の拡張自体が失敗する可能性がある。
まとめ
lvextend と resize2fs は LVM 環境でディスク容量を柔軟に管理するための重要なツールです。lvextend で論理ボリュームを拡張し、resize2fs でファイルシステムを拡張する流れを正しく理解すれば、ダウンタイムを最小限に抑えて安全に容量増加が可能です。