記事一覧:2013年02月25日

fdiskでパーティションのリサイズを行う

 パーティションのリサイズをするにはGNU partedを使うのが一般的なようです。partedはファイルシステムのリサイズも同時にやってくれる便利なツールですが、CentOS 6.3のインストールメディアに含まれているpartedはext4には対応していないようで、ext4ファイルシステムのリサイズはできません。ext4ファイルシステムのリサイズ自体はresize2fsを使って簡単に実行できるわけですが、どっちにしろパーティションのリサイズは必要になります。

 ということで、パーティションのリサイズをするためのツールを探したわけですが、なかなか見つからない。パーティション操作の定番といえばfdiskですが、リサイズというコマンドはない。そこではっと気付いたのですが、fdiskはよく考えればパーティションテーブルの操作のみを行うのであって、ファイルシステムには影響を与えません。と言うことで、リサイズしたいパーティションを削除して、そのうえで新たなパーティションを作成すればリサイズと同様の処理になるわけです。これには気付かなかった。ただ、このときパーティションのサイズがファイルシステムのサイズよりも大きくなるように気を付けなければなりません。パーティションを拡大する場合はあまり問題にはなりませんが、縮小する場合はサイズを間違えるとちょっとまずいことになる可能性があります(ただし、ext4の場合はマウント時にチェックが行われてファイルシステムのサイズよりもパーティションサイズが小さい場合はエラーが発生する)。

 ただ、fdiskでのサイズ計算はバイト単位ではなく、ブロック単位でサイズを指定する関係上ちょっと面倒臭い。これについてはまた後日(覚えていれば)。