概要
EC2のEBSボリュームを拡張する(10G -> 90G)
EC2はすでに起動済みのものとする。
背景
EBSのボリュームを拡張したので、ファイルシステム拡張のコマンドを実行!
$ sudo resize2fs /dev/xvda1
The filesystem is already 8972864 blocks long. Nothing to do!
パーティションの容量が少ないためディスクの拡張ができず、怒られてしまいました・・・。
Linux パーティションの拡張が必要そうですが、ちょっと手順が多い。
しかし、サイズをEBSのサイズをあらかじめ拡張し、スナップショットから新規作成することで
コマンドを実行せずともwebコンソールからディスクを拡張できたので手順をメモ。
事前準備
- EC2で使用してるEBSのID、ルートデバイスの名前を控える。
- EC2のインスタンスID、アベイラビリティーゾーンを控える。
手順
EBSボリュームサイズを拡張する
※EC2を停止しなくても拡張できますが、拡張中は不安定になります。
ELASTIC BLOCK STORE > ボリューム > アクション > Modify Volume
Sizeの値を変更します。
EBSボリュームのスナップショットを作成する
※EC2を停止しなくてもスナップショットを作成できますが、停止したほうが安全です。
ELASTIC BLOCK STORE > ボリューム > アクション > スナップショットの作成
EC2を停止する
以降の作業はEC2を停止しないと行えません。
EBSボリュームをEC2からデタッチする
ELASTIC BLOCK STORE > ボリューム > アクション > ボリュームのデタッチ
既存のEBSをデタッチします。
EBSボリュームのスナップショットから新しいボリュームを作成する
ELASTIC BLOCK STORE > スナップショット > アクション > ボリュームの作成
EC2と同じアベイラビリティゾーンにする必要があります。
新規作成したEBSボリュームをEC2にアタッチ
ELASTIC BLOCK STORE > ボリューム > アクション > ボリュームのアタッチ
アタッチしたいEC2のインスタンスを選択します。
事前に控えておいたデバイスを入力します。
EC2を起動
これで作業完了です!
ディスクボリュームが拡張されているか確認する
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 90G 0 disk
└─xvda1 202:1 0 90G 0 part /
$ df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/xvda1 89G 84G 5G 18% /
最後に
使用していないEBSは削除しましょう!
EC2にアタッチしていなくても、料金がかかってしまいます。