全力で怠けたい

怠けるために全力を尽くしたいブログ。

パーティションがある EBS のボリュームサイズの拡張方法。

EC2 を運用中にパーティションがある EBS ボリュームのサイズが足りなくなったのでボリュームサイズを拡張したときのメモ。

EBS ボリュームサイズの拡張前

まずは状態を確認していく。

lsblk コマンドで状態を確認するとルートボリュームは /dev/xvda があり、/dev/xvda ルートボリュームは /dev/xvda1 パーティションがあることが分かる。また、/dev/xvda ルートボリュームのサイズは 8GB で /dev/xvda1 パーティションのサイズは 8GB であることも分かる。

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

df コマンドでファイルシステムの状態を確認すると /dev/xvda1 パーティションは割り当てている 8GB のうち 7.8GB とほぼすべてを使い切っている状態で、このままだと何をするにも支障があるので EBS のボリュームサイズを拡張していく。

$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
/dev/xvda1       8.0G  7.8G  200M   98% /
# 省略

EBS ボリュームサイズの拡張方法

パーティションがある EBS ボリュームサイズを拡張するときは、EBS ボリュームサイズ自体の拡張のほかにパーティションの拡張とファイルシステムの拡張が必要になるので、それぞれやっていく。

EBS ボリュームサイズの拡張

まず一番最初に EBS のボリュームサイズを拡張していく。

AWS の EC2 コンソールのサイドバーで ボリューム を押してボリューム一覧を表示して、ボリューム一覧の対象のボリュームを選択して アクション > ボリュームの変更ボリュームの変更 画面を表示する。

ボリュームの変更 画面は変更後のサイズ (ここでは 50GB) を入力して 変更 ボタンを押す。

拡張するサイズによっては拡張が完了するまで時間がかかることがあるので EBS ボリュームの 状態in-use になるまで待つ。

f:id:ebc_2in2crc:20191013160208p:plain

EBS ボリュームの 状態in-use であることを確認したら作業を続けていく。

lsblk コマンドで状態を確認すると /dev/xvda ルートボリュームは新しいサイズ (50 GB) が反映されているが /dev/xvda1 パーティションは元のサイズ (8 GB) のままであることが分かる。 そのため、ファイルシステムを拡張する前にパーティションを拡張していく。

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

パーティションの拡張

/dev/xvda1 パーティションを拡張するために growpart コマンドを使う。

$ sudo growpart /dev/xvda 1
CHANGED: partition=1 start=4096 old: size=16773087 end=16777183 new: size=104853471,end=104857567

lsblk コマンドで状態を確認すると /dev/xvda1 パーティションが 50GB に拡張されていることが分かる。

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

/dev/xvda1 パーティションのサイズは拡張されたが、df コマンドでファイルシステムの状態を確認するとファイルシステムは 8GB のままなので、続いてファイルシステムを拡張していく。

$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
/dev/xvda1       8.0G  7.8G  200M   98% /
# 省略

ファイルシステムの拡張

ここまででボリュームサイズの拡張とパーティションサイズの拡張をしてきたので最後にファイルシステムを拡張していく。

ext2ext3ext4 ファイルシステムは resize2fs コマンドを使って拡張していき、XFS ファイルシステムは xfs_growfs コマンドを使って拡張していく。

使っているファイルシステムdf -T コマンドで確認できる。 ここでは タイプ のところが xfs と出力されているので XFS ファイルシステムを使っていることが分かる。

$ df -T
ファイルシス   タイプ   1K-ブロック    使用  使用可 使用% マウント位置
/dev/xvda1     xfs          8376300 1435180 6941120   18% /
# 省略

ファイルシステムが XFS ファイルシステムなので xfs_growfs コマンドを使って拡張していく。

xfs_growfs コマンドがないときは yum install xfsprogs コマンドで XFS ファイルシステム管理ユーティリティをインストールしてから xfs_growfs コマンドを実行する。

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

xfs_growfs コマンドの実行後に df コマンドでファイルシステムの状態を確認するとファイルシステムが 50GB に拡張されていることが分かる。

$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
/dev/xvda1        50G  7.8G   42G   16% /
# 省略

パーティションがある EBS のボリュームサイズの拡張方法は以上。

参考ページ

docs.aws.amazon.com