EBS新機能エラスティックボリュームをすぐに本番反映をトライしてみたらダメだったけど、AMI使えばできたのでストーリー仕立てで書く


これをやった理由

  • 本番のWEBサーバやバッチサーバで、Full Data Diskアラートが頻発するため
    • 頻度は週に1度
    • 原因は、担当システムで登録時にアップロードされたファイルのS3からのダウンロードとサムネイルの生成を大量にやるため

参考資料

対応方法

  • 下記の参考資料のまんまです。
  • やってみて経過を追ってみようと思ったけど、、、うちで使っているインスタンスがEBSが古すぎて対応してないみたい・・・

おわりw

AMIからインスタンス再作成してやってみた

AMIから作り直してからだと、怒られなかったよー

ってことでやってみます。とりあえず変更前が下記。

before
$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
/dev/xvda1       7.9G  5.8G  2.1G   75% /
devtmpfs         7.4G   44K  7.4G    1% /dev
tmpfs            7.4G     0  7.4G    0% /dev/shm

OK押したら、こんなん出てきた。。。けど、とりあえず「Yes」押す。
変更中は、一時的にパフォーマンス落ちるよってことだと思われます。

んで、ポチったらこうなるみたい。

約5分から7分程度待ちましたら、こうなりました。

ってことで、もっかいストレージ見てみます。
が、、、あれ、変わってない・・・

after
$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
/dev/xvda1       7.9G  5.8G  2.1G   75% /
devtmpfs         7.4G   44K  7.4G    1% /dev
tmpfs            7.4G     0  7.4G    0% /dev/shm

ここを見るとまだ何か必要っぽい、、、
- Amazon EBSのアップデート – 新機能エラスティックボリュームが全てを変える | Amazon Web Services ブログ

次のステップは追加されたストレージ領域を利用できるようにするために、ファイルシステムを拡張することです。
作業の詳細についてはLinuxでEBSボリュームのストレージ領域を拡張するかWindowsでEBSボリュームのストレージ領域を拡張するを参照してください。
ボリュームの状態が最適化中に変わったら(通常数秒で変わります)、ファイルシステムの拡張作業を行うことができます。>新しいボリュームの容量やタイプはすぐに利用可能になりますが、最適化の処理は最大で24時間を要する場合があります。>コストについて補足すると、ボリュームの状態がoptimizingになったタイミングで新構成を基準に計算されることになります(変更自体のコストはかかりません)。

ストレージ領域は変更かかったけど、ファイルシステムを拡張する必要があるとのことでした。
なので、下記のページを見て、コマンド打つみたい。
Linux ファイルシステムを拡張するのとこを参照。
- Linux で EBS ボリュームのストレージ領域を拡張する - Amazon Elastic Compute Cloud

ファイルシステム確認
$ sudo file -s /dev/xvda1
/dev/xvda1: Linux rev 1.0 ext4 filesystem data, UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX (needs journal recovery) (extents) (large files) (huge files)

次に、Linux ファイルシステムを拡張するにはのとこを見て、ファイルシステム拡張すると、できました!
おーーー!結構簡単でうれしい

ファイルシステム拡張
$ sudo resize2fs /dev/xvda1
resize2fs 1.42.12 (29-Aug-2014)
Filesystem at /dev/xvda1 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
The filesystem on /dev/xvda1 is now 5242880 (4k) blocks long.

$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
/dev/xvda1        20G  5.8G   14G   30% /
devtmpfs         7.4G   44K  7.4G    1% /dev
tmpfs            7.4G     0  7.4G    0% /dev/shm

以上。これなら、一時的にELBからインスタンス切り離して対応後に再接続って形でオンラインでできちゃいますね!