EC2上のLinuxのパーティションを拡張する

AWS運用自動化サービス「Cloud Automator」
この記事は1年以上前に書かれたものです。
内容が古い可能性がありますのでご注意ください。

いつもいつまでもお世話になっております。サーバーワークス 高橋です。

4月に新卒で入社し、もう半年が経ちました。だらだらしているとあっという間に時間が過ぎていきます。

さて今回はLinuxのパーティションを拡張する方法をご紹介します。

 

インスタンスの起動からディスクの確認まで

まずEBS-Backedインスタンスを立ちあげてみましょう。今回はRootボリュームが80GBの、EBS-Backedインスタンスを立ちあげます。

インスタンスの起動後に lsblk,df コマンドでディスクの状態を見てみましょう。

使用するAMI、スナップショットから復元したEBSによってはファイルシステムの容量が少ないことがあります。

ディスクが80GBなのに対してファイルシステムが6GBでは少ないですね。それではファイルシステムを拡張してみましょう。

おやおや、Nothing to do! と言われてしまいました。

パーティションの容量が少ないためファイルシステムの拡張ができません。どうしましょう。

パーティション拡張する

resize2fs を使ってファイルシステムを拡張するのではなく、パーティションを拡張する必要があります。

パーティションを拡張するためには partedコマンドを使ってください。

手順

手順はAWSの公式ドキュメントに記載されているので、そちらを御覧ください。

今回はルートパーティションを拡張するので、一度EBSをデタッチする必要があります。

Linux パーティションを拡張する

大まかな手順は以下の通りです。

  1. インスタンスを停止し、EBSを別のインスタンスにアタッチする
  2. EBS内のパーティションを partedコマンドで拡張する
  3. インスタンスを停止し、EBSをデタッチ。元のインスタンスにアタッチする

※注意点

別のインスタンスは、EBSと同じアベイラビリティゾーン内に立ちあげてください。

EBSボリュームは同じゾーン内のEC2インスタンスにしかアタッチすることができません。

かかる時間

拡張するのに全く時間はかかりません。

拡張した結果

それでは拡張したEBSを元のインスタンスにアタッチし、結果を見てみましょう。

よし、できましたね。

ファイルシステムも拡張されたことが確認できました。

Tips

OS側の設定を間違えてカーネルパニックを発生させてしまった際にも、EBSを別のインスタンスに付け替えて設定し、また元のインスタンスにアタッチして直すことが可能です。

 

これからどんどん寒くなっていきますね。何かあっても冷静に対処することが肝心ですね。

AWS運用自動化サービス「Cloud Automator」