アプリケーション開発ポータルサイト
ServerNote.NET
カテゴリー【Amazon/AWSUbuntu
【AWS】EC2のUbuntu Serverインスタンスのディスク容量を増やす
POSTED BY
2023-08-19

マシンを停止することなく容量を増やすことができます。AWSマネジメントコンソールでのGUI作業と、Ubuntu SSHターミナルでのCUI作業があります。

AWSマネジメントコンソールでの作業

インスタンス画面で、増やしたいインスタンスのIDをクリックし、「ストレージ」タブを開き、ボリュームIDをクリックしボリュームを開きます。

対象ボリュームにチェックを入れ、「アクション」→「スナップショットの作成」で、スナップショットを取っておきます。
Ubuntuコンソールでの万一の失敗に備えて、スナップショットを取っておけばこの時点に戻せます。

スナップショット作成を終えたら再びボリュームの「アクション」→「ボリュームの変更」画面を開きます。

希望する容量をエディットボックスに入力して「変更」すればOK。なお、増やすことはできても減らすことはできません。今回は32Gibだったものを1000Gibに増やしてみました。

ボリュームの状態タブが使用中...optimizingが100%になるまで待ちます。文字が緑色OKになれば変更完了。

Ubuntu SSHターミナルでの作業

次にUbuntu本体マシンの中に入って認識作業を行います。まず現在の状況をlsblkとdfコマンドで確認します。

lsblk

NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
nvme0n1      259:0    0  1000G  0 disk
tqnvme0n1p1  259:2    0  31.9G  0 part /
tqnvme0n1p14 259:3    0     4M  0 part
mqnvme0n1p15 259:4    0   106M  0 part /boot/efi

df -hT

Filesystem      Type   Size  Used Avail Use% Mounted on
/dev/root       ext4    31G   27G  4.3G  87% /
tmpfs           tmpfs  7.6G  108K  7.6G   1% /dev/shm
tmpfs           tmpfs  3.1G  916K  3.1G   1% /run
tmpfs           tmpfs  5.0M     0  5.0M   0% /run/lock
/dev/nvme0n1p15 vfat   105M  5.3M  100M   5% /boot/efi
tmpfs           tmpfs  1.6G  4.0K  1.6G   1% /run/user/1000

nvme0n1というデバイスに先ほど1000GiBに拡張されたディスクが認識されており、それがパーティション1=nvme0n1p1に切られ、ルートディスク=/dev/root以下にマウントされているのがわかります。
ただしマウントは拡張前に行われているため、拡張前のサイズ=32Gibのままです。これをgrowpartコマンドで目一杯まで拡張します。

sudo growpart /dev/nvme0n1 1

CHANGED: partition=1 start=227328 old: size=66881503 end=67108831 new: size=2096924639 end=2097151967

nvme0n1のパーティション1を限界突破せよというコマンドで、ちゃんとできたか確認します。

lsblk

NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
nvme0n1      259:0    0  1000G  0 disk
tqnvme0n1p1  259:2    0 999.9G  0 part /

バッチリ拡張されました。ただしまだファイルシステムの拡張が為されていないので、シメで拡張します。Ubuntuではresize2fsコマンドを使います。

sudo resize2fs /dev/nvme0n1p1

resize2fs 1.46.5 (30-Dec-2021)
Filesystem at /dev/nvme0n1p1 is mounted on /; on-line resizing required
old_desc_blocks = 4, new_desc_blocks = 125
The filesystem on /dev/nvme0n1p1 is now 262115579 (4k) blocks long.

パーティションのデバイスファイルをダイレクトに指定します。出力では成功したような事を言っています。では確認してみましょう!

df -hT

Filesystem      Type   Size  Used Avail Use% Mounted on
/dev/root       ext4   969G   27G  943G   3% /

問題なく拡張されました!万が一これまでの過程で何か致命的な問題が発生した場合、最初に取ったスナップショットで復旧しましょう。

※本記事は当サイト管理人の個人的な備忘録です。本記事の参照又は付随ソースコード利用後にいかなる損害が発生しても当サイト及び管理人は一切責任を負いません。
※本記事内容の無断転載を禁じます。
【WEBMASTER/管理人】
自営業プログラマーです。お仕事ください!
ご連絡は以下アドレスまでお願いします★

【キーワード検索】