AWS EC2 Linuxのディスク容量を無停止で拡張する方法
AWS EC2 Linuxのディスク容量を無停止で拡張する方法は以下の通り
AWSコンソールのEC2操作画面の左メニューにElastic Block Storeの欄にボリュームがあるのでクリック
現在展開されているEBSが一覧で表示される
拡張したいEBSを右クリックし「ボリュームの変更」をクリック
サイズを変更して「変更」ボタンをクリックする。変更中はボリュームステータスが黄色になるが、サーバは停止しない。サイズ拡張までしばらく時間がかかる
対象のサーバにSSHでログイン
lsblk
でディスク構成を確認
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1 259:0 0 9G 0 disk
├─nvme0n1p1 259:1 0 8G 0 part /
└─nvme0n1p128 259:2 0 1M 0 part
/dev/nvme0n1を拡張したいので
sudo growpart /dev/nvme0n1 1
と実行する
lsblk
で確認
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1 259:0 0 9G 0 disk
├─nvme0n1p1 259:1 0 9G 0 part /
└─nvme0n1p128 259:2 0 1M 0 part
ディスク拡張はされたが、ファイルシステムの拡張は終わっていないので
Centos6以前の場合は
sudo resize2fs /dev/nvme0n1
CentOS7以降
sudo xfs_growfs /dev/nvme0n1
とコマンドを打つ。もしCentOS7以降でgrowpartを実行した場合
resize2fs: Bad magic number in super-block while trying to open /dev/xvda1
Couldn't find valid filesystem superblock.
というエラーが出る
ちなみにディスク使用率が100%の場合は拡張できないので、少しディスク容量を空けよう
ファイルシステムを確認するには
lsblk -f
と実行する。
ファイルシステムの拡張が完了したら
df -h
でディスクボリュームを確認する
Filesystem Size Used Avail Use% Mounted on
devtmpfs 960M 0 960M 0% /dev
tmpfs 978M 0 978M 0% /dev/shm
tmpfs 978M 392K 978M 1% /run
tmpfs 978M 0 978M 0% /sys/fs/cgroup
/dev/nvme0n1p1 9.0G 8.0G 1022M 89% /
tmpfs 196M 0 196M 0% /run/user/1000
tmpfs 10M 0 10M 0% /tmp