EC2インスタンス(CentOS, HVM)にアタッチされたEBSボリューム(ルートパーティション)のサイズを拡張する

AmazonLinuxの場合は、マネジメントコンソールでのインスタンス作成時にEBSボリュームのサイズを拡張すれば、 cloud-initが勝手にgrowpartしてくれる。

しかし、CentOSの場合、マネジメントコンソールでの操作だけではルートパーティションサイズの変更が完全には反映されない。 (lsblkで確認すると、ブロックデバイス的には拡張されているが、その中にあるパーティションのサイズは変更されていない状態になる)

ルートパーティションのサイズ変更を完全に反映するためには、下記の3つのいずれかの手順が必要となるらしい。

1. 別のインスタンスへEBSボリュームをマウントし直して、パーティションサイズ拡張操作を手動実行

とても面倒くさい。

ただし、拡張対象がルートパーティションではない場合は、別インスタンスを用意する必要はない。

2. dracut-modules-growroot をインストールして、OSリブート時にパーティション拡張処理を仕込む

OSブート時のルートパーティションをマウントする前段階にパーティション拡大処理を仕込む。

3. cloud-initcloud-utils-growpart をインストールして、OSリブート時にパーティション拡張処理を仕込む

2と同様に、OSブート時にパーティション拡大処理を仕込む。 AmazonLinuxと同様のやり方。