2012年12月26日水曜日

"cloud-init"でEBSのリサイズを起動時に自動で行う(CentOS6)

スズキです。

以前、下記のようにEC2(CentOS6)起動時にブートディスク(EBS)のサイズを
デフォルトより大きいものに指定して、起動後"resize2fs"でOS的にも使える容量を
拡張する方法を紹介しました。
サイズの小さなAMIからブートディスク(EBS)を大きくしてEC2を起動
今回は、その"resize2fs"に相当する作業をEC2起動時に"cloud-init"を利用して自動で
行うようにしてみます。

"cloud-init"のインストールと設定


"yum"でインストールできます。
# yum -y install cloud-init

設定ファイルは下記の通りです。(resizefsのみ有効)
# cat /etc/cloud/cloud.cfg
cloud_init_modules:
 - resizefs

自動起動を有効化
# chkconfig cloud-init on

上記を仕込んだEC2をAMI化してEC2の起動に利用するようにします。

EC2起動ににEBSのサイズを変更(拡張)


下記のよう上記で作成したAMIをAWSマネジメントコンソールで拡張可能です。


サイズを変更(拡張)して右側(図には入らなかった...)のボタンを押すと、そのサイズが
EBSに反映されます。


OS(CentOS6)上で確認



ちゃんとEBS拡張時に指定したサイズ(10G)になっています。
# df -h
Filesystem            Size  Used Avail Use% マウント位置
/dev/xvde1            9.9G  2.3G  7.1G  25% /
none                  296M     0  296M   0% /dev/shm

ログでもリサイズされていることがわかります。
# cat /var/log/cloud-init.log
...
Dec 26 22:43:32 ip-10-0-32-140 [CLOUDINIT] cloud-init[INFO]: cloud-init start running: Wed, 26 Dec 2012 13:43:32 +0000. up 30.35 seconds
Dec 26 22:43:32 ip-10-0-32-140 [CLOUDINIT] __init__.py[DEBUG]: searching for data source in ['DataSourceNoCloudNet', 'DataSourceConfigDriveNet', 'DataSourceOVFNet', 'DataSourceEc2']
Dec 26 22:43:32 ip-10-0-32-140 [CLOUDINIT] DataSourceEc2.py[DEBUG]: removed the following from metadata urls: ['http://instance-data:8773']
Dec 26 22:43:32 ip-10-0-32-140 [CLOUDINIT] DataSourceEc2.py[DEBUG]: Using metadata source: 'http://169.254.169.254'
Dec 26 22:43:32 ip-10-0-32-140 [CLOUDINIT] DataSourceEc2.py[DEBUG]: crawl of metadata service took 0s
Dec 26 22:43:32 ip-10-0-32-140 [CLOUDINIT] __init__.py[DEBUG]: found data source DataSourceEc2
Dec 26 22:43:32 ip-10-0-32-140 [CLOUDINIT] cloud-init[DEBUG]: found data source: DataSourceEc2
Dec 26 22:43:32 ip-10-0-32-140 [CLOUDINIT] __init__.py[DEBUG]: handling resizefs with freq=None and args=[]
Dec 26 22:43:32 ip-10-0-32-140 [CLOUDINIT] cc_resizefs.py[DEBUG]: resizing root filesystem (type=ext4, maj=202, min=65)

"SUZ-LAB AMI"に組み込んでおこう。
--------
http://www.suz-lab.com

0 コメント: