2012年9月10日

【AWS】EBSのボリュームを増やしてみた


お久しぶりです。dommyです。
今回はEC2で稼働中のサーバのディスクがいっぱいになりそうだったので、
ディスク容量を増やす為にEBSのボリュームを増やしてみました。

環境はAmazon EC2 Tokyo Region micro instanceにCentOS 6.0 (rightimage_centos_6.0_x86_64_20110810.1_ebs)をOSとして利用しています。


1. Instanceの停止

まずはAWS Management Consoleで、EC2のメニューへ行き、
増やしたいEC2のインスタンスを停止します。
"Terminate"は削除されてしまいますので、"Stop"で停止して下さい。

2. EBSを取り外す

EC2メニュー左のELASTIC BLOCK STOREのメニューの
Volumesを選択し、増やしたいEBSを選択します。
まずは、Attachment Informationをメモしておいて下さい。
(Instance名と/dev/sdaとか書いてあります。)
その後、EBSを右クリックし、Detach Volumeを選択して下さい。

3. EBSのSnapshotを作成

同じく、EBSを右クリックし、
Create Snapshotを選択して作成

4. EBSを新規作成

Create Volumeから、
ディスク容量、現在のEBSと同じZone、上の手順で実行したSnapshot
を選択して、EBSを新規作成します。

5. EBSをInstanceにマウントする

新規作成したEBSを右クリックして、
Attach Volumeを選択。
手順2でメモしたインスタンス名とDeviceに"/dev/sdaw"と入力し実行。

6. Instanceの起動

停止していたインスタンスを、EC2のInstancesから選択し、Startさせて下さい。
ブラウザはまだ閉じないで下さい。
Elastic IPが設定されている場合は切れているので、リンクし直します。

7. OSにファイルシステムを認識させる

こっから、sshでサーバへアクセスし、
resize2fsをやろうとしたらうまく行きませんでした。
で、いろいろ調べて、fdiskコマンドで、下記のように実行

root #  fdisk /dev/xvda

警告: DOS互換モードは廃止予定です。このモード (コマンド 'c') を止めることを
      強く推奨します。 and change display units to
         sectors (command 'u').

コマンド (m でヘルプ): d
パーティション番号 (1-4): 2

コマンド (m でヘルプ): d
パーティション番号 (1-4): 3

コマンド (m でヘルプ): n
コマンドアクション
   e   拡張
   p   基本パーティション (1-4)
p
パーティション番号 (1-4): 2
最初 シリンダ (15-2610, 初期値 15): 
Last シリンダ, +シリンダ数 or +size{K,M,G} (15-2610, 初期値 2610): 

コマンド (m でヘルプ): w
パーティションテーブルは変更されました!

ioctl() を呼び出してパーティションテーブルを再読込みします。

警告: パーティションテーブルの再読込みがエラー 16 で失敗しました: デバイスもしくはリソースがビジー状態です。
カーネルはまだ古いテーブルを使っています。新しいテーブルは
次回リブート時か、partprobe(8)またはkpartx(8)を実行した後に
使えるようになるでしょう
ディスクを同期しています。

で、その後にRebootを1回します。

そこから、resize2fsを実行
root #  resize2fs /dev/xvda2 
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/xvda2 is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/xvda2 to 5213092 (4k) blocks.
The filesystem on /dev/xvda2 is now 5213092 blocks long.

するとどうでしょう!

root #  df -h
Filesystem            Size  Used Avail Use% マウント位置
/dev/xvda2            5.0G  3.6G  1.2G  77% /
tmpfs                 296M     0  296M   0% /dev/shm
/dev/xvda1            107M   39M   63M  38% /mnt/boot

から

root #  df -h
Filesystem            Size  Used Avail Use% マウント位置
/dev/xvda2             20G  3.6G   16G  20% /
tmpfs                 296M     0  296M   0% /dev/shm
/dev/xvda1            107M   39M   63M  38% /mnt/boot

に変更されました。
以上の手順で出来ました!
5Gのディスク容量が20Gになって快適です。
相変わらずt1.microでいろいろ試して遊んでます。