とあるお仕事で、AWS上でRHEL7の環境を作らないといけなくて、EC2で作ったんですが、デフォルトだと/(ルート)の容量が6GBとかしかない。
「あれー?インスタンス作る時にディスク容量30GBとかにしたつもりなんだけどなー」
と思って確認してみると、ちゃんと30GBになってる。
どうやらパーテーションの拡張が必要らしい。
で、AWSのヘルプ通りに作業。
$ sudo growpart /dev/xvda 2
no tools available to resize disk with 'gpt'
FAILED: failed to get a resizer for id ''
ナニコレ初めて見るエラー。
素のRHEL7だとgdiskが必要だった
エラーを日本語に訳すと、
'gpt'でディスクのサイズを変更するツールはありません
という事でgptでyumを検索
$ sudo yum search gpt
読み込んだプラグイン:amazon-id, rhui-lb, search-disabled-repos
========================================== N/S matched: gpt ==========================================
gdisk.x86_64 : An fdisk-like partitioning tool for GPT disks
Name and summary matches only, use "search all" for everything.
発見したのでインスコ
$ sudo yum install gdisk
再度パーテーション拡張
$ sudo growpart /dev/xvda 2
CHANGED: partition=2 start=4096 old: size=12582912 end=12587008 new: size=62910430 end=62914526
無事拡張された模様
$ sudo lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 30G 0 disk
├─xvda1 202:1 0 1M 0 part
└─xvda2 202:2 0 30G 0 part /
ファイルシステムに反映
$ sudo xfs_growfs /
meta-data=/dev/xvda2 isize=256 agcount=4, agsize=393216 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0 spinodes=0
data = bsize=4096 blocks=1572864, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
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 1572864 to 7863803
$ df -H
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/xvda2 33G 4.1G 29G 13% /
devtmpfs 496M 0 496M 0% /dev
tmpfs 519M 0 519M 0% /dev/shm
tmpfs 519M 14M 506M 3% /run
tmpfs 519M 0 519M 0% /sys/fs/cgroup
tmpfs 104M 0 104M 0% /run/user/1000
AWSのドキュメントやクラメソのブログとかでもgdisk無いとダメだよ的な事は書いてなかったので、盲点でした。
前はfdiskとかでドキドキしながらパーティーション変えてたのに便利になったなぁ...gdiskとか初めて知ったよ。