AmazonのクラウドサービスEC2でボリュームの拡張

 昨日の夕方、管理してるサーバの警告メールが届いたんスよね。要するにデータ領域が少なすぎて「別のサーバからデータを転送できねぇぜ」と云うお達し。管理サーバにsshでログインして調べてみたらデータパーティション領域の使用率が99%でした。仕方ないんで危急に必要のないバックアップデータとかを別のサーバに一旦移して使用率を96%にまで下げました。

[root@ip-1X-X-X-XX ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 20G 1.8G 18G 9% /
devtmpfs 993M 60K 993M 1% /dev
tmpfs 1002M 0 1002M 0% /dev/shm
/dev/xvdf 50G 45G 2.2G 96% /mnt/xxxx

 容量を確認。/dev/xvdf は96%になったけどあんまり余裕なし。
 そのうちまたデータが一杯になるのは想像に難くないので、ハードディスクを増設しようと。
 それで、AmazonのクラウドサービスEC2の便利なところがサーバが稼働中にハードディスクのボリュームを増量することができるんスよ。実機でだったら稼働中にUSB接続で外付けハードディスクをアタッチすることは出来るけど、さすがに動いてる内臓ハードディスクの容量を300GBから500GBに増量なんて出来ないっしょ?

 先ずはデータパーティションのデータのバックアップということでスナップショットを撮ります。万が一ボリューム変更時にパーティションを壊してデータをお釈迦にしても大丈夫なように保険っすね。AWSのコンソールからブラウザで操作っすよ。

 で、50GBから70GBへボリュームを変更すると…

 最適化が始まって、10分位すると100%になって使えるようになると…いうわけじゃないんスよ。
 この後、この管理サーバにsshでログインしてパーティション領域を拡張する作業が必要なんスよ。

[root@ip-1X-X-X-XX ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 20G 0 disk
+-xvda1 202:1 0 20G 0 part /
xvdf 202:80 0 70G 0 disk /mnt/xxxx

 ボリューム増量後は70GBになってるね。ここでパーティションを拡張するコマンドを投入。

[root@ip-1X-X-X-XX ~]# growpart /dev/xvdf 1
FAILED: unable to determine partition type

 ありゃ?だわねぇ。じゃあファイルシステムを強制的にチェックしよう。

[root@ip-1X-X-X-XX mnt]# e2fsck -f /dev/xvdf
e2fsck 1.42.12 (29-Aug-2014)
/dev/xvdf is mounted.
e2fsck: Cannot continue, aborting.

 やっぱ、ディスクをマウントしたままじゃダメかぁ。エイやでアンマウントしてみるかぁ。

[root@ip-1X-X-X-XX mnt]# umount /mnt/xxxx
[root@ip-1X-X-X-XX mnt]# e2fsck -f /dev/xvdf
e2fsck 1.42.12 (29-Aug-2014)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/xvdf: 750800/3276800 files (0.2% non-contiguous), 11882540/13107200 blocks

 出来たねぇ。じゃあファイルシステムのリサイズコマンドいいんじゃね?

[root@ip-1X-X-X-XX mnt]# resize2fs /dev/xvdf
resize2fs 1.42.12 (29-Aug-2014)
Resizing the filesystem on /dev/xvdf to 18350080 (4k) blocks.
The filesystem on /dev/xvdf is now 18350080 (4k) blocks long.

 すかさずマウントすると…

[root@ip-1X-X-X-XX mnt]# mount /dev/xvdf /mnt/xxxx
[root@ip-1X-X-X-XX mnt]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 20G 1.8G 18G 9% /
devtmpfs 993M 64K 993M 1% /dev
tmpfs 1002M 0 1002M 0% /dev/shm
/dev/xvdf 69G 45G 21G 69% /mnt/xxxx

 出来ましたねぇ。
ソフトウェア開発の素直研究所です。お仕事のご依頼はこちらからどうぞ!