Amazon Linux2 に追加でアタッチされている EBS ボリュームのサイズを増やす方法を紹介します。
目次
今回の環境
今回は追加でアタッチされている EBS ボリュームのサイズを 100 GB から 120 GB に変更する例を紹介します。
- t3 インスタンス
- Amazon Linux2
- NVMe EBS ボリューム
- ルートボリューム 8GB
- 追加ボリューム 100GB
EBS ボリュームのサイズを変更
EBS ボリュームへの変更のリクエスト - Amazon Elastic Compute Cloud に従って作業を進めます。
手順どおり AWS マネジメントコンソールからボリュームのサイズを変更しますが、その前に EC2 インスタンスに SSH でログインして df
コマンドと lsblk
コマンドの結果を確認しておきましょう。
df
コマンド。変更対象の /dev/nvme1n1
のサイズが 100GB であることを確認します。
df -hT
devtmpfs devtmpfs 970M 0 970M 0% /dev
tmpfs tmpfs 978M 0 978M 0% /dev/shm
tmpfs tmpfs 978M 468K 977M 1% /run
tmpfs tmpfs 978M 0 978M 0% /sys/fs/cgroup
/dev/nvme0n1p1 xfs 8.0G 1.6G 6.5G 20% /
/dev/nvme1n1 xfs 100G 4.2G 96G 5% /mnt/ebs1
tmpfs tmpfs 196M 0 196M 0% /run/user/0
tmpfs tmpfs 196M 0 196M 0% /run/user/1000
lsblk
コマンド。こちらも nvme1n1
のサイズが 100GB です。
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme1n1 259:0 0 100G 0 disk /mnt/ebs1
nvme0n1 259:1 0 8G 0 disk
|-nvme0n1p1 259:2 0 8G 0 part /
`-nvme0n1p128 259:3 0 1M 0 part
確認できたら AWS マネジメントコンソールからボリュームのサイズを 120GB に変更します。手順は EBS ボリュームへの変更のリクエスト - Amazon Elastic Compute Cloud を参照。ボリュームサイズの変更は 5 秒くらいで終わりましたが、その後 3 分くらい、状態が in-use - optimizing
になっていました。その間もデータの読み書きは可能でした。
変更できたら、再度 lsblk
コマンドを実行してみます。nvme1n1
のサイズが 120GB になっているのが確認できます。
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme1n1 259:0 0 120G 0 disk /mnt/ebs1
nvme0n1 259:1 0 8G 0 disk
|-nvme0n1p1 259:2 0 8G 0 part /
`-nvme0n1p128 259:3 0 1M 0 part
df -hT
コマンドでファイルシステムディスク領域の使用状況を確認します。こちらはまだ 120GB になっていません。
df -hT
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 970M 0 970M 0% /dev
tmpfs tmpfs 978M 0 978M 0% /dev/shm
tmpfs tmpfs 978M 412K 977M 1% /run
tmpfs tmpfs 978M 0 978M 0% /sys/fs/cgroup
/dev/nvme0n1p1 xfs 8.0G 1.6G 6.5G 20% /
/dev/nvme1n1 xfs 100G 4.2G 96G 5% /mnt/ebs1
tmpfs tmpfs 196M 0 196M 0% /run/user/1000
ファイルシステムのサイズ変更
ボリュームサイズ変更後の Linux ファイルシステムの拡張 例: NVMe EBS ボリュームのファイルシステムを拡張する - Amazon Elastic Compute Cloud を参考に進めます。
さきほど実行した lsblk
コマンドの結果から、/dev/nvme1n1
はパーティションが切られていないことがわかります。ファイルタイプは xfs
なので、以下のコマンドを実行します。
sudo xfs_growfs -d /mnt/ebs1
meta-data=/dev/nvme1n1 isize=512 agcount=4, agsize=6553600 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1 spinodes=0
data = bsize=4096 blocks=26214400, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=12800, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 26214400 to 31457280
コマンド実行後、df
コマンドでサイズを確認します。
df -hT
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 970M 0 970M 0% /dev
tmpfs tmpfs 978M 0 978M 0% /dev/shm
tmpfs tmpfs 978M 412K 977M 1% /run
tmpfs tmpfs 978M 0 978M 0% /sys/fs/cgroup
/dev/nvme0n1p1 xfs 8.0G 1.6G 6.5G 20% /
/dev/nvme1n1 xfs 120G 4.2G 116G 4% /mnt/ebs1
tmpfs tmpfs 196M 0 196M 0% /run/user/1000
ファイルシステム /dev/nvme1n1
のサイズが 120GB になっていることが確認できます。以上で作業は完了です。
ルートボリュームのサイズ変更は?
ルートボリュームのサイズ変更も同じ要領で実施できます。ルートボリュームはパーティションが切られているので、ファイルシステムのサイズ変更の前にパーティションの拡張が必要です。
sudo growpart /dev/nvme0n1 1