一、機能紹介
Linuxの設定時にルートディレクトリの容量確保が不十分で、プログラムが起動できない場合があります。データ保存ディレクトリを変更することで解決できますが、様々な理由で変更ができない状況では、ルートディレクトリの容量拡張が必要となります。
二、操作手順
- まず
df -hコマンドでシステムのディスク使用状況を確認します。
df -h

上図から、ルートディレクトリの容量が20Gしかなく、5.6G使用中であることがわかります。これを36Gに拡張してみます。
-
lsblkコマンドで確認すると、sdaディスクには48Gの容量がありますが、ルートディレクトリに割り当てられているのは20Gのみです。残りの16Gをルートディレクトリに追加します。
-
growpart /dev/sdb3コマンドを実行し、sdb3パーティションを拡張します。
-
lvmコマンドを使用して、ルートディレクトリを拡張します。
-
ステップ1:lvm対話モードに入ります。

-
ステップ2:
pvdisplayコマンドで全てのPV(物理ボリューム)を表示します。Free PE(空き物理エクステント)が2815あり、拡張可能であることが確認できます。
-
ステップ3:
vgdisplayコマンドで全てのVG(ボリュームグループ)を表示します。
-
ステップ4:
lvdisplayコマンドで全てのLV(論理ボリューム)を表示します。現在は20Gです。
-
ステップ5:
lvextend -l +2815 /dev/ubuntu-vg/ubuntu-lvコマンドでルートディレクトリを拡張します。lvextend -l(ブロック数、vgdisplayで確認した残りPE数を参照) -r(再帰的) -L(具体的なサイズ指定)
-
ステップ6:再度LVを確認すると、サイズが変更されています。

-
ステップ7:lvmを終了します。
-
resize2fs /dev/mapper/ubuntu--vg-ubuntu--lvコマンドを使用して、ファイルシステムを拡張します。
-
df -hコマンドで確認すると、ルートディレクトリの容量が31Gに拡張されています。
三、FAQ
質問1: 最後のステップでresize2fs /dev/mapper/ubuntu--vg-ubuntu--lvコマンドを実行した際、resize2fs: Bad magic number in super-block while trying to open /dev/mapper/ubuntu--vg-ubuntu--lvというエラーが発生しました。
回答1: XFSファイルシステムではresize2fsコマンドを使用できません。代わりにxfs_growfsコマンドを使用して拡張してください。