隙あらば寝る

うぇぶのかいしゃではたらくえんじにあがかいています

ファイルシステムの拡張

linuxファイルシステムがフルになってしまって拡張できないかな?

と相談を受けた。結果的にうまくいったのでまとめる。

ディスク拡張 → パーティション設定 → ファイルシステムのユーティリティで拡張

の流れでできる。

前提

ディスクに対してパーティションを作成し、パーティションに対してファイルシステムを作成するという構成で動いている。

そのため

この2つを実施すればよい。

ディスクの拡張

仮想マシンの場合はディスクも仮想なのでツールを使って拡張すれば良い。

一方で実マシンの場合は簡単には拡張できないが、 LVM で論理ディスクとして扱っていれば拡張できる。

この場合は新しいディスクを足して、その領域を既存の LV に足してやれば良い。

逆に、実ディスクで LVM 未使用の場合はもう少し手順がややこしくなる。

サイズの大きいもう一つのディスクを用意し、そのディスクにコピーするという作業が必要になるが、この場合は確実に停止時間が発生してしまうので注意。

パーティションの拡張

パーティションは fdisk などのツールで拡張するが、基本的にそのディスクに存在する最後のパーティションでないと難しい。

簡単に以下に図示。

before
|part1|part2|part3|
|fs1  |fs2  |fs3  |

ok
|part1|part2|part3  |
|fs1  |fs2  |fs3  |

ng
|part1|part2  |part3|
|fs1  |fs2  |fs3  |

ok パターンが最後のパーティション part3 を拡張している。重要なのは fsN の開始位置。

ng パターンでは part2 を拡張した結果、 fs3 の開始位置がずれてしまっている。

fs3 開始位置を part3 に揃えられれば問題ないが、これは難しいと理解している。

結果的に最後のパーティションでないと拡張が難しいということになる。

具体的な操作としては、 fdisk で対象パーティションを一度削除し、同じ開始位置からサイズの大きいパーティションを作成する。

間違えるとずれでファイルシステムが認識されなくなるので要注意。

ファイルシステムの拡張

ファイルシステム拡張は利用しているファイルシステムツールを使う。

ものによってコマンド名も全然違うので以下のリンク先などを参考にしながら適宜行う。

6.3. ext4 ファイルシステムのサイズを変更する

8.4. XFS ファイルシステムのサイズの拡大

3.3. Btrfs ファイルシステムのサイズ変更

まとめ

拡張は可能だが前提がいくつかある。

主に気をつけるのはパーティショニングで、拡張する可能性のある領域は最後に配置すること。

また、実マシンの場合は念の為 LVM でディスクを仮想化しておくこと。

この2点を考慮しておけば比較的楽に領域拡張ができる。