はじめに
AWSでEC2のインスタンスを作成する際、EBSのボリュームを使うことが多いかと思います。
インスタンスを運用しているうちに、EBSのボリュームを消費し、空き容量が不足することがあると思います。
そこで、EBSのボリュームを拡張し、空き容量を確保する方法をまとめます。
なお、ここでは、EC2作成時のイメージで、Amazon Linux 2
を選択して作成したインスタンスでの方法をまとめています。
手順
空き容量の確認
df
コマンドで、パーティションの容量を調べます。
[user@host ~]$ df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
devtmpfs 960M 0 960M 0% /dev
tmpfs 978M 0 978M 0% /dev/shm
tmpfs 978M 18M 960M 2% /run
tmpfs 978M 0 978M 0% /sys/fs/cgroup
/dev/nvme0n1p1 20G 8.1G 12G 41% /
tmpfs 196M 0 196M 0% /run/user/62100
tmpfs 196M 0 196M 0% /run/user/61000
/dev/nvme0n1p1 20G 8.1G 12G 41% /
/dev/nvme0n1p1
が、EBSのボリュームです。
この例では、20GB中8GBを使っています。
ここでは、
AWSマネジメントコンソールでEBS拡張
マネジメントコンソールで、EC2
を開き、左ペインのボリューム
を選択、右側のリストから拡張したいボリュームを選択(チェック)します。
続いて、アクション
→ボリュームの変更
を選択します。
ボリュームのサイズを変更し、「変更」ボタンで保存します。
※ここでは、もともと20GBだったものを、50GBに拡張します。
SSHでインスタンスにログインし、拡張
パーティションの確認
[user@host ~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1 259:0 0 50G 0 disk
├─nvme0n1p1 259:1 0 20G 0 part /
└─nvme0n1p128 259:2 0 1M 0 part
[user@host ~]$ df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
devtmpfs 960M 0 960M 0% /dev
tmpfs 978M 0 978M 0% /dev/shm
tmpfs 978M 18M 960M 2% /run
tmpfs 978M 0 978M 0% /sys/fs/cgroup
/dev/nvme0n1p1 20G 8.1G 12G 41% /
tmpfs 196M 0 196M 0% /run/user/62100
tmpfs 196M 0 196M 0% /run/user/61000
まだ拡張されていない様子です。
growpart
コマンド
[user@host ~]$ sudo growpart /dev/nvme0n1 1
CHANGED: partition=1 start=4096 old: size=41938911 end=41943007 new: size=104853471 end=104857567
xfs_growfs
コマンド
[user@host ~]$ sudo xfs_growfs /dev/nvme0n1p1
meta-data=/dev/nvme0n1p1 isize=512 agcount=26, agsize=524159 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1 spinodes=0
data = bsize=4096 blocks=13106683, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 5242363 to 13106683
パーティション確認
[user@host ~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1 259:0 0 50G 0 disk
├─nvme0n1p1 259:1 0 50G 0 part /
└─nvme0n1p128 259:2 0 1M 0 part
[user@host ~]$ df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
devtmpfs 960M 0 960M 0% /dev
tmpfs 978M 0 978M 0% /dev/shm
tmpfs 978M 18M 960M 2% /run
tmpfs 978M 0 978M 0% /sys/fs/cgroup
/dev/nvme0n1p1 50G 8.1G 42G 17% /
tmpfs 196M 0 196M 0% /run/user/62100
tmpfs 196M 0 196M 0% /run/user/61000
これで、/dev/nvme0n1p1
が50GBに拡張されました。