Linux ルートディレクトリの拡張

一、機能紹介

Linuxの設定時にルートディレクトリの容量確保が不十分で、プログラムが起動できない場合があります。データ保存ディレクトリを変更することで解決できますが、様々な理由で変更ができない状況では、ルートディレクトリの容量拡張が必要となります。

二、操作手順

  1. まずdf -hコマンドでシステムのディスク使用状況を確認します。
df -h

上図から、ルートディレクトリの容量が20Gしかなく、5.6G使用中であることがわかります。これを36Gに拡張してみます。

  1. lsblkコマンドで確認すると、sdaディスクには48Gの容量がありますが、ルートディレクトリに割り当てられているのは20Gのみです。残りの16Gをルートディレクトリに追加します。

  2. growpart /dev/sdb3コマンドを実行し、sdb3パーティションを拡張します。

  3. 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を終了します。

  1. resize2fs /dev/mapper/ubuntu--vg-ubuntu--lvコマンドを使用して、ファイルシステムを拡張します。

  2. 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コマンドを使用して拡張してください。