EC2(EBS)のサイズ拡張が簡単になっていた件
会社で使っているサーバ(EC2)の容量がFullになっていた。 ここで動いているRStudioServerにブラウザ経由でログインできなくなったことにより発覚。*1
そこでそのEC2にアタッチされているEBSの拡張をしようと思った、、、のだが、
EC2を停止
該当EBSのスナップショット取得(1時間ぐらい)
スナップショットからサイズを大きくしたEBSを取得
EC2から元のEBSをデタッチ
拡張した方のEBSをEC2にアタッチ
EC2を起動
としなくてはいけないのかと思っていた(実際に昔この手順をしたことがある)。これはEBSの大きさにもよるが、小一時間程度かかる。
当然この間サーバは使えない。
ところが、以下のような簡単な操作でEBSのサイズを変えれるようになっていた!
以下の手順で早速やってみた。
AWSコンソール上での作業
上記のクラスメソッドのページの手順の通り。
今回は500Gのst1のEBSを1000Gにしたが、一瞬で完了した。 EBSをデタッチ→アタッチする手順に比べると大違い。EC2の高負荷時は避けた方がいいらしいので、出来れば凪な時間帯にやるのがいいだろう。今回は利用者側から特に不具合報告はなかった。
注意としてはAWSのWeb管理コンソール上のEBSのブロックデバイス名とLinuxコンソール上の各種コマンド(dfとか)で見たデバイス名は微妙に異なるので注意(作業対象のEBSを間違えないように)
事後にLinuxコンソール上でやらないといけない操作
Linuxコンソールでログインした後、
lsblk
で見ると
/dev/xvda1 40188 13461 26629 34% / devtmpfs 15325 1 15325 1% /dev tmpfs 15334 0 15334 0% /dev/shm /dev/xvdc 1007805 488568 473122 51% /home
df -h で見てもサイズは元のままである。
ここでは
sudo resize2fs /dev/xvdc
のように作業対象のFileSystemをリサイズしてあげる必要がある。*2
事後にdfで確認したら、たしかにサイズが変わっていた。
Filesystem Size Used Avail Use% Mounted on /dev/xvda1 40G 14G 27G 34% / devtmpfs 15G 60K 15G 1% /dev tmpfs 15G 0 15G 0% /dev/shm /dev/xvdc 985G 478G 462G 51% /home
まとめ
今後は気軽(?)にEBSのサイズの拡張ができる。 注意点としては、縮小はできません。縮小するとなると、最初に述べた「デタッチ→アタッチ」の手順しか無さそう。