この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
こんにちは、梶です。
AWS MarketplaceのCentOS 6 (x86_64) - with Updates HVMから、Tokyoリージョンで新規インスタンスをlaunchする際に、ディスクサイズを20GBで指定しましたが、OS側の認識がデフォルトの8GBのままなので対応方法を公開いたします。小ネタです。
パーテーションサイズが変更されていないのはわかったのですが、別インスタンスにVolumeをAttachしてパーテーションサイズを修正しようとしてもダメだったりして、かなりハマりましたので誰かのお役に立てたら光栄です。
以下のブログの構築した際、ディスクサイズ変更で問題が発生し調査することになりました。 AWSでのBacklogエンタープライズサーバの構築
事象
launch後のdfコマンドでは以下の結果となります。 (20GBで指定しても、8GBのまま)
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 7.8G 836M 6.6G 12% /
tmpfs 498M 0 498M 0% /dev/shm
fdiskでは20GBを認識済み。
# fdisk -l
ディスク /dev/xvda: 21.5 GB, 21474836480 バイト
ヘッド 255, セクタ 63, シリンダ 2610
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00098461
デバイス ブート 始点 終点 ブロック Id システム
/dev/xvda1 * 1 1045 8387584 83 Linux
#
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 20G 0 disk
└─xvda1 202:1 0 8G 0 part /
対処方法
EPEL より dracut-modules-growroot をインストールする
起動時にルートパーテーションテーブルをリサイズするdracut-modules-growrootをインストールします。
# wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -i epel-release-6-8.noarch.rpm
# yum -y --quiet install dracut-modules-growroot
インストール完了後、下記コマンドで dracut-modules-growroot が正常にインストールされたことを確認する
# rpm -qa | grep grow
cloud-utils-growpart-0.27-10.el6.x86_64
dracut-modules-growroot-0.20-2.el6.noarch
ルートパーテーションテーブルをリサイズするよう実行
# dracut --force --add growroot /boot/initramfs-$(uname -r).img
#
再起動
# shutdown -r now
再起動後の確認 ここではまだ変更されてない。
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 7.8G 982M 6.4G 14% /
tmpfs 498M 0 498M 0% /dev/shm
#
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 20G 0 disk
└─xvda1 202:1 0 20G 0 part /
resize2fsを実行して変更されていることを確認
# resize2fs /dev/xvda1
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/xvda1 is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/xvda1 to 5240950 (4k) blocks.
The filesystem on /dev/xvda1 is now 5240950 blocks long.
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 20G 986M 18G 6% /
tmpfs 498M 0 498M 0% /dev/shm
#
感想
Amazon Linuxや、RHELにはdracut-modules-growrootが最初からインストールされているため、このような問題は発生しないようです。 CentOSで構築する際には、後でディスクサイズ変更しても良いようにdracut-modules-growrootをインストールしておいたほうが良いと思いました。