💭

[AWS/Linux]EBSボリュームのリサイズ方法

2024/09/16に公開

記事を書いた経緯

  • エンジニアになって初案件がオンプレからAWSへの移行でその際に対応したのですが、手順をほぼ忘れたなと思いブログに残したいと思ったためです。
     

目的

  • EC2インスタンスにアタッチしているEBSボリュームのサイズ変更をOS側に適用したい。
     

前提の環境

  • OS:Amazon Linux2
  • ストレージ:EBSボリューム
  • ファイルシステム:xfs
  • ブロックデバイス:/dev/xvda1
  • サイズ:20GB30GBへの変更
  • EC2インスタンスは作成済みでSSHやセッションマネージャーでログインが可能である状態。
     

AWS Management Console での作業

■リサイズ前のEBSボリューム



■EBSボリュームサイズの修正

  • 前提として、ボリュームサイズを減らす事は出来ず増加しか対応していません。


  • コンソール画面上からEBSボリュームのサイズが変更になっている事を確認。

  • サーバー上でもEBSボリュームのサイズが変更した事を確認。
    マウントしているファイルシステムにも反映していく必要があります。

 

サーバー(EC2インスタンス) での作業

  • OSレベルでのパーティションサイズの変更とファイルシステムの拡張は自動的には行われないため、手動で対応する必要がある。

①パーティションの拡張

growpart
  • cloud-utilsパッケージに含まれており、主にクラウド環境で動作するインスタンスのディスクサイズの動的な変更をするために利用されます。
bash
sudo growpart /dev/xvda 1

②ファイルシステムの拡張

xfs_grows
  • XFSファイルシステムを使用しているパーティションのファイルシステムのサイズを拡張するために使用されます。
  • 今回の場合はマウントポイントが/(ルートファイルシステム)のため、引数は/としています。
bash
sudo xfs_growfs /

 

  • ファイルシステムの生合成をチェック
bash
sudo e2fsck -f /dev/xvda1
  • ファイルシステムの拡張
bash
sudo resize2fs /dev/xvda1

③EBSボリュームのサイズ変更が適用されたか確認

  • /dev/xvda1のサイズが20GBから30GBに増加されているため、変更が適用されている事が確認できます。
GitHubで編集を提案

Discussion