zaki work log

作業ログやら生活ログやらなんやら

[AWS] EC2のストレージ(EBS)を手動で拡張する手順 (RHEL)

年に1回くらい作業中にストレージが足りなくなってその都度手順を確認してるので備忘録。

docs.aws.amazon.com

基本的にAWSのドキュメント通りの手順で何も問題なくリブートも不要でサイズ拡張できる。

before

20GBの/パーティションを増やす、というシナリオ。
dflsblkの出力は以下の通り。

[ec2-user@ip-10-1-2-125 ~]$ df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        4.0M     0  4.0M   0% /dev
tmpfs           3.8G   84K  3.8G   1% /dev/shm
tmpfs           1.6G   22M  1.5G   2% /run
/dev/xvda4       19G   11G  8.6G  55% /
/dev/xvda3      960M  273M  688M  29% /boot
/dev/xvda2      200M  7.1M  193M   4% /boot/efi
tmpfs           769M   20K  769M   1% /run/user/1000

[ec2-user@ip-10-1-2-125 ~]$ lsblk 
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
xvda    202:0    0   20G  0 disk 
├─xvda1 202:1    0    1M  0 part 
├─xvda2 202:2    0  200M  0 part /boot/efi
├─xvda3 202:3    0    1G  0 part /boot
└─xvda4 202:4    0 18.8G  0 part /

ブロックデバイスを拡張

まずはインスタンスの画面で対象ストレージを確認

ここからボリュームの画面へ遷移し、右クリックメニューで「ボリュームの変更」を選択、「サイズ(GiB)」に変更後のストレージサイズを入力して「変更」押下する。

ここでは30を入力。

しばらく待てばweb画面で30に更新されたことを確認できる。

パーティションを拡張

この時点で、dfで確認できるパーティションサイズには変化が無いが、lsblkの出力でデバイスは30GBに拡張されていることを確認できる。
(以下のxvdaの行)

[ec2-user@ip-10-1-2-125 ~]$ df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        4.0M     0  4.0M   0% /dev
tmpfs           3.8G   84K  3.8G   1% /dev/shm
tmpfs           1.6G   22M  1.5G   2% /run
/dev/xvda4       19G   11G  8.6G  55% /
/dev/xvda3      960M  273M  688M  29% /boot
/dev/xvda2      200M  7.1M  193M   4% /boot/efi
tmpfs           769M   20K  769M   1% /run/user/1000

[ec2-user@ip-10-1-2-125 ~]$ lsblk 
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
xvda    202:0    0   30G  0 disk 
├─xvda1 202:1    0    1M  0 part 
├─xvda2 202:2    0  200M  0 part /boot/efi
├─xvda3 202:3    0    1G  0 part /boot
└─xvda4 202:4    0 18.8G  0 part /

ここで/dev/xvda4パーティションを拡張する。
引数はパーティション名でなくデバイス名と、パーティション番号(ここでは4)を指定。

[ec2-user@ip-10-1-2-125 ~]$ sudo growpart /dev/xvda 4
CHANGED: partition=4 start=2510848 old: size=39432159 end=41943006 new: size=60403679 end=62914526

これでパーティションが拡張され、xvda4(/)が18.8Gから28.8Gに増加する。

[ec2-user@ip-10-1-2-125 ~]$ lsblk 
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
xvda    202:0    0   30G  0 disk 
├─xvda1 202:1    0    1M  0 part 
├─xvda2 202:2    0  200M  0 part /boot/efi
├─xvda3 202:3    0    1G  0 part /boot
└─xvda4 202:4    0 28.8G  0 part /

[ec2-user@ip-10-1-2-125 ~]$ df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        4.0M     0  4.0M   0% /dev
tmpfs           3.8G   84K  3.8G   1% /dev/shm
tmpfs           1.6G   22M  1.5G   2% /run
/dev/xvda4       19G   11G  8.6G  55% /
/dev/xvda3      960M  273M  688M  29% /boot
/dev/xvda2      200M  7.1M  193M   4% /boot/efi
tmpfs           769M   20K  769M   1% /run/user/1000

ファイルシステムの拡張

まだdfで確認できるファイルシステムのサイズがそのままなのでこれを拡張する。

[ec2-user@ip-10-1-2-125 ~]$ df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs  4.0M     0  4.0M   0% /dev
tmpfs          tmpfs     3.8G   84K  3.8G   1% /dev/shm
tmpfs          tmpfs     1.6G   22M  1.5G   2% /run
/dev/xvda4     xfs        19G   11G  8.6G  55% /
/dev/xvda3     xfs       960M  273M  688M  29% /boot
/dev/xvda2     vfat      200M  7.1M  193M   4% /boot/efi
tmpfs          tmpfs     769M   20K  769M   1% /run/user/1000

ファイルシステムxfsなので、xfs_growfs -dでサイズを拡大する。
サイズを特に指定しない場合は最大サイズまで拡張される。

[ec2-user@ip-10-1-2-125 ~]$ sudo xfs_growfs -d /
meta-data=/dev/xvda4             isize=512    agcount=9, agsize=576895 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=1 inobtcount=1 nrext64=0
data     =                       bsize=4096   blocks=4929019, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=16384, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 4929019 to 7550459

docs.redhat.com

ファイルシステムext4の場合はresize2fsを使う

# resize2fs /dev/xvda1

docs.redhat.com

after

[ec2-user@ip-10-1-2-125 ~]$ df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs  4.0M     0  4.0M   0% /dev
tmpfs          tmpfs     3.8G   84K  3.8G   1% /dev/shm
tmpfs          tmpfs     1.6G   22M  1.5G   2% /run
/dev/xvda4     xfs        29G   11G   19G  36% /
/dev/xvda3     xfs       960M  273M  688M  29% /boot
/dev/xvda2     vfat      200M  7.1M  193M   4% /boot/efi
tmpfs          tmpfs     769M   20K  769M   1% /run/user/1000

拡張されました。