RHEL7のEC2でルート領域を拡張する

EC2上のRedHat Enterprise Linux 7にて、ルート領域を拡張します。rootユーザで作業してます。

事前確認

今は10GBです。

# df -h | grep /dev/xvda2
/dev/xvda2       10G  924M  9.1G  10% /
# 
# lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  10G  0 disk
tqxvda1 202:1    0   1M  0 part
mqxvda2 202:2    0  10G  0 part /

EBSを拡張

AWSコンソールのEBSの画面より、EBSのModifyを実行します。オンラインでできます。

f:id:goodbyegangster:20180712112219p:plain

growpartを実行

growpartとは、 extend a partition in a partition table to fill available space とのこと。以下はManのページ。

growpart - extend a partition in a partition table to fill available space - Linux Man Pages (1)

dry-runオプションをつけて実行を試してみてから、

# growpart --dry-run /dev/xvda 2
CHANGE: disk=/dev/xvda partition=2: start=4096 old: size=20967390,end=20971486 new: size=41938910,end=41943006

特に怒られなかったので、実際に拡張します。

# growpart /dev/xvda 2
CHANGED: disk=/dev/xvda partition=2: start=4096 old: size=20967390,end=20971486 new: size=41938910,end=41943006

xfs_growfsを実行

で、拡張したパーティションファイルシステムに認識させてあげます。RHEL7やCentOS7では、xfsのファイルシステムを利用しているので、xfs_growfsというコマンドを実行して挙げます。

Manのページね。

xfs_growfs - expand an XFS filesystem - Linux Man Pages (8)

実行。

# xfs_growfs /
meta-data=/dev/xvda2             isize=512    agcount=7, agsize=393216 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=2620923, 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 2620923 to 5242363

確認

これで拡張できました。

# df -h | grep /dev/xvda2
/dev/xvda2       20G  925M   20G   5% /
#
# lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  20G  0 disk
tqxvda1 202:1    0   1M  0 part
mqxvda2 202:2    0  20G  0 part /