EBSボリューム拡張

ボリューム拡張

以下の手順が必要となる。

  • AWS での EBS 拡張
  • パーティションの拡張
  • ファイルシステムの拡張

★ バックアップを作成

AWS 側でルートボリュームを確認

EC2 > 対象インスタンスを選択 > 「ストレージ」タブ > ルートデバイス名を確認する。

/dev/sda1

「ブロックデバイス」の一覧から、先ほどのルートデバイスに アタッチされているボリューム ID を確認する。

サイドバーの「ボリューム」を開く。

先ほどのボリューム ID をもとに、アタッチされているボリュームを特定する。

RLogin で OS 側の情報を確認

findmnt /

TARGET  SOURCE      FSTYPE  OPTIONS
/       /dev/xvda2 xfs      rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota

以下が確定する。

  • パーティション:/dev/xvda2
  • ファイルシステム:xfs(XFS 形式)
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT

NAME    SIZE TYPE MOUNTPOINT
xvda     10G disk
├─xvda1   1M part
└─xvda2  10G part /

MOUNTPOINT にルート(/)が指定されている xvda2 が、ルートボリュームのパーティション(区画)である。

AWS でボリュームを拡張

★ スナップショットを作成

先ほど確定させたルートボリュームを選択する。

[アクション]>[ボリュームの変更]

容量を拡張する。

「ボリュームの状態」が正常に戻るまで待つ。

RLogin で OS 側の情報を拡張

ディスクが拡張されたか確認する。

lsblk -o NAME,SIZE,TYPE,MOUNTPOINT

NAME    SIZE TYPE MOUNTPOINT
xvda     50G disk
├─xvda1   1M part
└─xvda2  10G part /

※ パーティションはまだ拡張されていない。

パーティション(/dev/xvda2)を末尾まで拡張する。

sudo dnf -y install cloud-utils-growpart
sudo growpart /dev/xvda 2

パーティションが拡張されたか確認する。

lsblk -o NAME,SIZE,TYPE,MOUNTPOINT

NAME    SIZE TYPE MOUNTPOINT
xvda     50G disk
├─xvda1   1M part
└─xvda2  50G part /

ファイルシステムのルートを拡張

ファイルシステムのルートを拡張する。

sudo xfs_growfs /

拡張されたか確認する。

df -h /

Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda2       50G  8.8G   42G  18% /

AWS でボリュームのタイプを変更(必要であれば)

gp2 → gp3 へ変更する。

[ボリューム]>先ほどのルートボリュームを選択 > [アクション]>[ボリュームの変更]

用語集

xfs とは?

ファイルシステムの管理ルール(規格)のようなものであり、 以下のような情報を管理している。

  • ファイル/フォルダの「目次」をどのように持つか(どのファイルがあるか、名前、階層構造など)
  • ファイルの実データの位置情報(このファイルの中身がディスクのどこに書かれているか)
  • 権限や所有者、日時などのメタ情報(owner、group、パーミッション、更新日時など)
  • 破損しないための仕組み(ジャーナリング)(書き込み途中で停止しても整合性が保たれやすいようにする)
  • 空き領域の管理(割り当て/解放)(どこが空いているか、どこに次のデータを書き込むか)

ボリュームとディスク

ストレージそのものを指す。 ストレージを物理ディスクで管理していた時代の名残で、 OS がストレージを指す場合は「ディスク」と呼ぶ。

ボリューム(EBS)とは、 AWS などのクラウドサービス上の仮想ディスクである。

パーティション

ディスクを分割した区画である。

ディレクトリのようなもの。

コメント

タイトルとURLをコピーしました