Amazon EC2 上の Ubuntu 22.02 のディスクを拡張する方法
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 のディスクを拡張する方法について紹介しました。
あっさりとディスク容量を拡張できたのでビックリしました。次回からは難なくできそうです。