EC2(Amazon Linux 2)のディスクサイズをオンラインで拡張する

作業前

ディスクサイズを確認する

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       20G   20G  291M  99% /

Elastic block storeで割り当てDISKを増やす

何ギガに増やしたいのかサイズを指定する

(増やす容量ではなく、現在のDISKと併せてトータルの容量にする)

ブロックデバイスの変更作業

ブロックデバイスの一覧を表示する

$ lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  40G  0 disk 
└─xvda1 202:1    0  20G  0 part /

ブロックデバイスを拡張する

(ここの手順がAmazon Linux1と2で異なる)

以下の手順はAmazon Linux2。

$ sudo growpart /dev/xvda 1
CHANGED: disk=/dev/xvda partition=1: start=4096 old: size=41938910,end=41943006 new: size=83881950,end=83886046

ブロックデバイス一覧を表示する。

変更された事を確認する。

$ lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  40G  0 disk 
└─xvda1 202:1    0  40G  0 part /

パーティションを拡張する

$ sudo xfs_growfs /dev/xvda1
meta-data=/dev/xvda1             isize=512    agcount=11, agsize=524159 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=5242363, 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 10485243

パーティションが拡張された事を確認する

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       40G   20G   21G  50% /

参考情報

https://dev.classmethod.jp/cloud/aws/expand-ebs-in-online/