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を実行します。オンラインでできます。
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 /