EBSのスナップショットを取得するという話はよくきく。
スナップショットから復元というのも良くきくし、オペレーションも想像がつく。
復元時に容量を拡大したとき、OSから利用可能にするために一手間が必要。そんな話。
a. パーティションの拡大
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/storage_expand_partition.html#expanding-partition-parted
b. EBSの拡大
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ebs-expand-volume.html
作業の流れはこんな感じ。
【作業前】
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 30G 4.7G 25G 16% /
/dev/xvdf1 100G xxxG xxxG xx% /data/ebs
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 30G 0 disk
xvda1 202:1 0 30G 0 part /
xvdf 202:80 0 100G 0 disk
xvdf1 202:81 0 100G 0 part /data/ebs
1.パーティションをunmoutする
[ec2-user ~]$ sudo umount /data/ebs
2.デバイスに対してparted
[ec2-user ~]$ sudo parted /dev/xvdf
ここでパーティションの拡張をする。
繊細な作業なので詳細はaのドキュメント参照。
3.エラーチェック
sudo e2fsck -f /dev/xvdf1
4.パーティションをmount
sudo mount /dev/xvdf1 /data/ebs
この時点でlsblkとdf -hの結果はこんな感じ
【作業後1】
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 30G 4.7G 25G 16% /
/dev/xvdf1 100G xxxG xxxG xx% /data/ebs
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 30G 0 disk
xvda1 202:1 0 30G 0 part /
xvdf 202:80 0 1000G 0 disk
xvdf1 202:81 0 1000G 0 part /data/ebs
これでパーティションが大きくなったので、拡張した部分について、
ファイルシステムでフォーマットをしてあげる。
sudo resize2fs /dev/xvdf1
これでばっちり
【作業後2】
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 30G 4.7G 25G 16% /
/dev/xvdf1 985G xxxG xxxG xx% /data/ebs
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 30G 0 disk
xvda1 202:1 0 30G 0 part /
xvdf 202:80 0 1000G 0 disk
xvdf1 202:81 0 1000G 0 part /data/ebs