AmazonLinuxの場合は、マネジメントコンソールでのインスタンス作成時にEBSボリュームのサイズを拡張すれば、 cloud-init
が勝手にgrowpart
してくれる。
しかし、CentOSの場合、マネジメントコンソールでの操作だけではルートパーティションサイズの変更が完全には反映されない。
(lsblk
で確認すると、ブロックデバイス的には拡張されているが、その中にあるパーティションのサイズは変更されていない状態になる)
ルートパーティションのサイズ変更を完全に反映するためには、下記の3つのいずれかの手順が必要となるらしい。
1. 別のインスタンスへEBSボリュームをマウントし直して、パーティションサイズ拡張操作を手動実行
とても面倒くさい。
ただし、拡張対象がルートパーティションではない場合は、別インスタンスを用意する必要はない。
2. dracut-modules-growroot
をインストールして、OSリブート時にパーティション拡張処理を仕込む
OSブート時のルートパーティションをマウントする前段階にパーティション拡大処理を仕込む。
- CentOS on Amazon EC2 でディスクサイズ変更しても変わらないときの対処方法 | Developers.IO
- CentOS 6.7のAMIをインスタンス作成時にgrowpartしてrootディスクが拡張されるようにしておく – yoshidashingo
3. cloud-init
+ cloud-utils-growpart
をインストールして、OSリブート時にパーティション拡張処理を仕込む
2と同様に、OSブート時にパーティション拡大処理を仕込む。 AmazonLinuxと同様のやり方。