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