概要
- AWS EC2 でストレージ(EBS)の容量が不足した
- EBSの管理画面から設定変更すればすぐ変更可能かと思ったらやることがまだあったので、忘れない内にまとめる
OS
Ubuntu 16.04.2 LTS (GNU/Linux 4.15.0-36-generic x86_64)
やったこと
- EBSの管理画面からストレージの容量を変更
growpart
コマンドで、拡張したストレージをパーティションに追加resize2fs
コマンドで、ファイルシステムに拡張されたパーティションを認識させる
EBSの管理画面からストレージの容量を変更
EBSを選択 → 「アクション」 → 「ボリュームの変更」
説明のところに編集ボタンがあると思ってしばらく探した...
この時点では、ストレージこそ16GBになったが、 追加された8GBはどのパーティションにも属していない状況
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme0n1 259:0 0 16G 0 disk └─nvme0n1p1 259:1 0 8G 0 part /
lsblk
はブロックデバイスの情報を取得するコマンド
growpart
コマンドで、拡張したストレージをパーティションに追加
$ sudo growpart /dev/nvme0n1 1 CHANGED: partition=1 start=2048 old: size=16775135 end=16777183 new: size=33552351,end=33554399
無事拡張された
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme0n1 259:0 0 16G 0 disk └─nvme0n1p1 259:1 0 16G 0 part /
growpart
は、ストレージの空き領域をパーティションに追加するコマンド
- 引数は、ディスク名と、パーティションNo
- see: http://manpages.ubuntu.com/manpages/xenial/en/man1/growpart.1.html
resize2fs
コマンドで、ファイルシステムに拡張されたパーティションを認識させる
拡張前
$ df Filesystem 1K-blocks Used Available Use% Mounted on /dev/nvme0n1p1 8065444 3562788 4486272 45% /
$ sudo resize2fs /dev/nvme0n1p1 resize2fs 1.42.13 (17-May-2015) Filesystem at /dev/nvme0n1p1 is mounted on /; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 1 The filesystem on /dev/nvme0n1p1 is now 4194043 (4k) blocks long.
拡張後
$ df Filesystem 1K-blocks Used Available Use% Mounted on /dev/nvme0n1p1 16197524 3563812 12617328 23% /
resize2fs
は、パーティションの変更やマウントなどのデバイス上の変更をファイルシステムに反映するコマンド(っぽい