Amazon EC2 のサーバのディスク拡張
Amazon EC2 で開発用のサーバを設置することはよくありますが、目的が当初のものからどんどん変化し、ディスクが圧迫することがよくあります。
テストに使用する画像ファイルを大量に配置する必要があったり、開発サーバなのでログもサーバ内にファイルとして残しておくこともあります。結果としてディスクの残量が徐々に減っていき、いつの間にかコマンドが通らなくなることも。。。
そのためディスクを拡張する必要がありますが、私の記憶が古すぎるのか以前は EC2 に立てたサーバのディスク拡張は多くの手順を踏み、結構面倒だったように思うのですが、つい最近実施すると、サーバを止めることなくコンソールの操作とコマンド数回であっけなく終わったので、備忘録として書き留めておきます。
ボリュームの容量確認
ubuntu@ip-172-31-12-110:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 25.1M 1 loop /snap/amazon-ssm-agent/5656
loop1 7:1 0 55.6M 1 loop /snap/core18/2560
loop2 7:2 0 63.2M 1 loop /snap/core20/1623
loop3 7:3 0 103M 1 loop /snap/lxd/23541
loop4 7:4 0 47M 1 loop /snap/snapd/16292
loop5 7:5 0 4K 1 loop /snap/bare/5
loop6 7:6 0 91.7M 1 loop /snap/gtk-common-themes/1535
loop7 7:7 0 143.4M 1 loop /snap/chromium/2136
loop8 7:8 0 346.3M 1 loop /snap/gnome-3-38-2004/119
xvda 202:0 0 8G 0 disk
├─xvda1 202:1 0 7.9G 0 part /
├─xvda14 202:14 0 4M 0 part
└─xvda15 202:15 0 106M 0 part /boot/efi
ubuntu@ip-172-31-12-110:~$
現在の容量は「xvda」が「8G」と表示されています。
再度ボリュームの容量確認
ubuntu@ip-172-31-12-110:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 25.1M 1 loop /snap/amazon-ssm-agent/5656
loop1 7:1 0 55.6M 1 loop /snap/core18/2560
loop2 7:2 0 63.2M 1 loop /snap/core20/1623
loop3 7:3 0 103M 1 loop /snap/lxd/23541
loop4 7:4 0 47M 1 loop /snap/snapd/16292
loop5 7:5 0 4K 1 loop /snap/bare/5
loop6 7:6 0 91.7M 1 loop /snap/gtk-common-themes/1535
loop7 7:7 0 143.4M 1 loop /snap/chromium/2136
loop8 7:8 0 346.3M 1 loop /snap/gnome-3-38-2004/119
xvda 202:0 0 32G 0 disk
├─xvda1 202:1 0 7.9G 0 part /
├─xvda14 202:14 0 4M 0 part
└─xvda15 202:15 0 106M 0 part /boot/efi
ubuntu@ip-172-31-12-110:~$
再度確認すると「xvda」が「32G」と表示されています。
ディスクサイズが大きくなったことを確認できたので、ルートパーティションのサイズも変更します。
ubuntu@ip-172-31-12-110:~$ sudo growpart /dev/xvda 1
CHANGED: partition=1 start=227328 old: size=16549855 end=16777183 new: size=66881503 end=67108831
ubuntu@ip-172-31-12-110:~$
次にファイルシステムもリサイズします。
ubuntu@ip-172-31-12-110:~$ sudo resize2fs /dev/xvda1
resize2fs 1.46.5 (30-Dec-2021)
Filesystem at /dev/xvda1 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 4
The filesystem on /dev/xvda1 is now 8360187 (4k) blocks long.
ubuntu@ip-172-31-12-110:~$
これで作業は完了です。
最終確認
ubuntu@ip-172-31-12-110:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 25.1M 1 loop /snap/amazon-ssm-agent/5656
loop1 7:1 0 55.6M 1 loop /snap/core18/2560
loop2 7:2 0 63.2M 1 loop /snap/core20/1623
loop3 7:3 0 103M 1 loop /snap/lxd/23541
loop4 7:4 0 47M 1 loop /snap/snapd/16292
loop5 7:5 0 4K 1 loop /snap/bare/5
loop6 7:6 0 91.7M 1 loop /snap/gtk-common-themes/1535
loop7 7:7 0 143.4M 1 loop /snap/chromium/2136
loop8 7:8 0 346.3M 1 loop /snap/gnome-3-38-2004/119
xvda 202:0 0 32G 0 disk
├─xvda1 202:1 0 31.9G 0 part /
├─xvda14 202:14 0 4M 0 part
└─xvda15 202:15 0 106M 0 part /boot/efi
ubuntu@ip-172-31-12-110:~$
ルートパーティションもサイズが増えていることが判ります。念のため異なる方法でも確認しておきましょう。
ubuntu@ip-172-31-12-110:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 31G 3.3G 28G 11% /
tmpfs 484M 0 484M 0% /dev/shm
tmpfs 194M 904K 193M 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/xvda15 105M 5.3M 100M 5% /boot/efi
tmpfs 97M 4.0K 97M 1% /run/user/1000
ubuntu@ip-172-31-12-110:~$
「/dev/root」の容量が大きくなってます。これで OK です。
まとめ
今回はAmazon EC2 上の Ubuntu 22.02 のディスクを拡張する方法について紹介しました。
あっさりとディスク容量を拡張できたのでビックリしました。次回からは難なくできそうです。