すぐに忘れるので、備忘録です。
AWSに限らないと思いますが、Amazon EBS(EC2 ブロックストレージボリューム)を拡張する手順を書きたいと思います。
背景
AWSなどクラウドサービスのメリットは、スモールスタートができる点です。
最初は小さなサイズからスタートして、徐々にファイルなど容量が増えてきたらボリュームのサイズやCPU/メモリなどのスペックを拡張することが容易にできます。
CPU/メモリなどのスペック変更は、管理コンソールからの操作で簡単にできますが、ディスク領域のサイズ変更はそうもいきません。
ということで、本題です。
事前確認
以下は、Amazon Linux2で確認しています。
- ディスク領域を確認します。(分かりやすいように他のディスク領域などは省略しています。)
$ df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/nvme0n1p1 20G 9.5G 11G 48% /
- デバイスを確認します。
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1 259:0 0 30G 0 disk
├─nvme0n1p1 259:1 0 20G 0 part /
└─nvme0n1p128 259:2 0 1M 0 part
$ lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
nvme0n1
├─nvme0n1p1 xfs / 04b92f2f-4366-4687-868b-7c403cc59901 /
└─nvme0n1p128
「nvme0n1p1」が20GBになっていますが、これを30GBに増加させます。
また、2つ目のコマンドで、ファイルシステムがxfsであることがわかります。
拡張方法
- AWS管理コンソールよりEBSのボリュームを追加します。
- 再度、デバイスを確認します。
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1 259:0 0 30G 0 disk
├─nvme0n1p1 259:1 0 20G 0 part /
└─nvme0n1p128 259:2 0 1M 0 part
「nvme0n1」が30GBに増加しています。
- ディスクのパーティションを拡張する。
$ sudo growpart /dev/nvme0n1 1
CHANGED: partition=1 start=4096 old: size=41938911 end=41943007 new: size=62910431 end=62914527
「CHANGED」となっていれば「nvme0n1p1」が拡張されています。
- <ファイルシステムがextの場合>ディスク領域を拡張する。
$ sudo resize2fs /dev/nvme0n1p1
- <ファイルシステムがxfsの場合>ディスク領域を拡張する。
$ sudo xfs_growfs /dev/nvme0n1p1
- 再度、ディスク領域を確認する。
$ df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/nvme0n1p1 30G 9.5G 21G 32% /
30GBになっています。
これでディスク領域の拡張は完了です。