既存のEC2インスタンスのディスク容量を拡張する

  • 1
    Like
  • 0
    Comment

ある日EC2インスタンスにログインしコマンドを実行しようとしたら

cannot create temp file for here-document: No space left on device

なるものが表示されました。
どうやらディスク容量がいっぱいの様子なので増やしてあげます。

まずはAWSのドキュメントに記載されているコンソールからの EBS ボリュームの変更を行います。特に問題なし。

今回拡張してあげたいのはルートパーティションなので

1.インスタンスからEBSボリュームをデタッチ
2.ルートパーティションを持つ別のインスタンスにアタッチ
3.2でアタッチしたインスタンス上からpartedコマンドを使用してパーティションを拡張
4.元のインスタンスにアタッチ

ざっくり説明すると、このような流れになります。

1, 2の手順はここの通りに進めればOK。
3.も基本的にparted を使用して Linux パーティションを拡張するの通りに進めればOKですが、mkpartコマンドを実行する際に

Warning: The resulting partition is not properly aligned for best performance.

というwarningが私の環境では表示されましが、Ignoreで問題ありませんでした。

4.あとはアタッチして起動するだけ!と思ったら

Instance does not have a volume attached at root

と表示されてインスタンスが起動できない。

EC2 のルートデバイスに EBS をアタッチする方法

アタッチする際のデバイス名をインスタンスタイプによって適したものに変える必要があるんですね。
この時はUbuntuを使用していたので /dev/sda1 にしたら無事起動しました。