ディスク容量の追加

ボリュームの追加

EC2インスタンスではインスタンス作成後にEBSボリュームを追加出来るようになっているので、データ領域が足りなくなった場合や、新しいデータ領域を使用することになった場合その場でボリュームを調達して、インスタンスに追加、みたいなことが簡単に出来る。

  • メニュー: ボリューム
  • 概要: ボリュームの作成ボタンを押してボリュームの新規作成を行う

この時、アベイラビリティゾーンを追加したいインスタンスと同じにすること。

ステータスがavailableのものはインスタンスにアタッチされていないボリュームであることを意味する。

今新しく作成したボリュームはもちろんインスタンスにはアタッチされていないのでavailableになっている。

  • メニュー: ボリューム
  • 概要: 今作成したボリュームを選択してアクション→ボリュームのアタッチ

インスタンスを入力するフォームをクリックすると同じアベイラビリティゾーンのインスタンスが表示されるので、アタッチしたいものを選択。

ステータスがin-useに変われば、アタッチが出来たことになる。

マウント

アタッチ後、マウントを行う。対象のインスタンスにSSHしておく。

ls -l /dev/ | grep sdf

デバイスが存在することを確認。アタッチされているならここで引っかかるはず。

次にボリュームの初期化作業。

sudo yum install -y xfsprogs

今回はXFSでフォーマットする。このあたり全然わからんので別途調べよう...

sudo mkfs.xfs /dev/sdf

初期化したボリュームをマウント

sudo mkdir -p /mnt/ebs/0
sudo mount -t xfs /dev/sdf /mnt/ebs/0
df -h

dfコマンドの一覧に今回マウントしたディスクが表示されていればマウント処理もOK。

このままだとインスタンスの再起動時にマウントが外れてしまうため、fstabで自動マウントの設定が必要。

/etc/fstabに、以下の設定を追加

/dev/sdf /mnt/ebs/0 xfs defaults 0 0

これでマウントの自動化が出来る。

割と簡単にボリュームの追加も出来ることがわかった。

けどこのマウントあたりもよしなにやってくれたりしないんかなぁ〜

ルートボリュームの容量の追加

  1. バックアップの項で説明したとおりにAMIを作成する
  2. 作成されたAMIを起動する
  3. EIPの付け替えやELBに接続するなどして新旧のインスタンスを入れ替える

これで完了。簡単!

ただし、起動しただけではデバイスサイズの変更が反映されない場合があるので、その場合は以下のようにして変更を反映させる。

df -h # 変更前を確認

sudo resize2fs /dev/xvdal

df -h # 変更後を確認

追加ボリュームの容量の追加

  1. バックアップの項で説明したとおりにボリュームのスナップショットを取る
  2. スナップショットからアクション→ボリュームの作成
  3. サイズで拡張したいサイズ、アベイラビリティゾーンでEC2インスタンスが配置されているアベイラビリティゾーンを選択、作成
  4. もともとアタッチされていたボリュームをアクション→ボリュームのデタッチでインスタンスから切り離す
  5. 新規作成したボリュームを選択してアクション→ボリュームのアタッチを行う。デバイスの項にはもともとのボリュームのマッピング先と同じ場所を入力

この後、ルートボリューム時と同様に変更を反映させる。

ただし、フォーマットがXFSの場合、resize2fsが失敗するらしいので、代わりにxfs_growfsコマンドを利用する。

df -h # 変更前を確認

sudo resize2fs /dev/xvdf
sudo xfs_growfs /mnt/ebs/0

df -h # 変更後を確認

results matching ""

    No results matching ""