🎅🦌こちらは ZYYX Advent Calendar 2023/12/25の記事です。✨🎄✨
概要
少し前に、Amazon Linux 2023のEBSのサイズ拡張をやったのでそれの備忘録です。
ざっくりの流れ。
- バックアップ取得(AWSコンソール画面で実施)
- EBSのサイズ拡張(AWSコンソール画面で実施)
- パーティション拡張(SSHでターミナルに入って実施)
- ファイルシステムを拡張(SSHでターミナルに入って実施)
手順
バックアップ取得
面倒ですが忘れずに最初にバックアップ(スナップショット)をとっておきます。
AWSコンソールのEC2>スナップショット画面にて、スナップショットを作成を押下し、
・リソースタイプ:ボリューム
・ボリューム ID:対象のボリュームを選択
で作成。
EBSのサイズ拡張
AWSコンソールのEC2>ボリューム画面にて、対象ボリュームを選択した状態で、「アクション>ボリュームの変更」を押下します。
ボリュームの変更画面上で、増やしたいボリュームサイズに変えて「変更」を押下します。(減らすことはできません)
パーティション拡張
ここから先は対象のEC2にSSHで入った上で作業です。
EBSのサイズを拡張しただけでは、まだファイルシステム上では拡張されていないので、パーテーションの拡張・ファイルシステムの拡張と進めていきます。
df -hT
でファイルシステムの状態を確認します。
$ df -hT
Filesystem Type Size Used Avail Use% Mounted on
(略)
/dev/nvme0n1p1 xfs 8.0G 1.6G 6.5G 19% /
ここで1点補足ですが、インスタンスが XenベースかNitroベースかでデバイス・パーティションの命名が異なります。
XenベースかNitroベースかはインスタンスタイプで変わってきます。
Xenベース:xvda1 (t2/M4/C4など)
Nitroベース:nvme0n1p1 (t3/M5/C5など)
上記はNitroベースの場合になります。
Xenベースだと以下のような見え方に。
$ df -hT
Filesystem Type Size Used Avail Use% Mounted on
(略)
/dev/xvda1 xfs 8.0G 1.6G 6.5G 19% /
lsblkコマンドで現在利用できるブロックデバイスを確認します。
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1 259:0 0 20G 0 disk
├─nvme0n1p1 259:1 0 8G 0 part /
├─nvme0n1p127 259:2 0 1M 0 part
└─nvme0n1p128 259:3 0 10M 0 part
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 20G 0 disk
└─xvda1 202:1 0 8G 0 part /
growpartコマンドでパーティション拡張を実施します。
$ sudo growpart /dev/nvme0n1 1
$ sudo growpart /dev/xvda 1
lsblkコマンドで結果を確認すると、パーテーション容量が拡張されています。
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1 259:0 0 20G 0 disk
├─nvme0n1p1 259:1 0 20G 0 part /
├─nvme0n1p127 259:2 0 1M 0 part
└─nvme0n1p128 259:3 0 10M 0 part
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 20G 0 disk
└─xvda1 202:1 0 20G 0 part /
ファイルシステム拡張
パーテーションの拡張まで終わったら、ファイルシステムの拡張を進めていきます。
Amazon Linux 2023は、XFSファイルシステムになりますので、 xfs_growfs
コマンドを使用します。
今回のケースではないですが、EXT4ファイルシステムだと resize2fs
コマンドを使用します。
$ sudo xfs_growfs -d /
完了後、 lsblk
df -hT
コマンドを使用して、ファイルシステムのサイズがボリュームサイズと等しいことを確認しましょう。
おわりに
こうやって自身のための備忘録としてQiita記事にしてるんですが、そもそもこの内容をQiitaに書いた、って事自体を忘れてしまうとどーしょーもないなー、とか思った次第…😅