Edited at

AWSのRedHat 7 でディスクの容量増やす時にプチハマった

とあるお仕事で、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とか初めて知ったよ。