Edited at

CentOS6のパーティション容量をpartedで拡張する

More than 3 years have passed since last update.

CentOS/ec2/ebsな環境でディスクを拡張すると、パーティションが自動で拡張されないため、手動で拡張する必要があります。

fdiskだと以下のようなエラーが表示され、OSの再起動が必要そうだったので、partedで拡張してみました。

WARNING: Re-reading the partition table failed with error 22: Invalid argument.

The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.

※ルートパーティションに対しては試していないので、ルートパーティションの拡張には他に設定が必要かもしれません。


現状のディスクの確認

df -h

--------
/dev/xvdl1 15G 12G 3.0G 80% /home
--------

lsblk
--------
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvdl 202:176 0 20G 0 disk
└─xvdl1 202:177 0 15G 0 part
--------


EBSの準備

1、既存のEBSをスナップショット作成

2、容量を増やして、リストア

3、パーティションをOSからアンマウント

3、既存ボリュームをデタッチ

4、新ボリュームec2へアタッチ


partedのインストール

yum install parted


partedでパーティションを拡張。

指定するのが、パーティション(/dev/xvdl1)でなく、デバイス(/dev/xvdl)を指定するのに注意!

parted /dev/xvdl

セクター単位で表示

(parted) unit s

現状の状態を表示

(parted) print

--------
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvdl: 41943040s
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system Flags
1 63s 31943039s 41942977s primary ext4

--------

Numberに表示されている数字を指定してパーティション情報を一旦削除

(parted) rm 1

TypeとStartを指定して、最大まで拡張してパーティション情報を再作成

(parted) mkpart primary 63s 100%

増えていることを確認

(parted) print

--------
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvdl: 41943040s
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system Flags
1 63s 41943039s 41942977s primary ext4
--------

partedの終了

(parted) quit


fsckで整合性チェック

e2fsck -f /dev/xvdl1


マウント

mount /dev/xvdl1 /home


パーティションの拡張

resize2fs /dev/xvdl1


パーティションサイズの確認

df -h

--------
/dev/xvdl1 20G 12G 7.0G 63% /home
--------

lsblk
--------
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvdl 202:176 0 20G 0 disk
└─xvdl1 202:177 0 20G 0 part /home
--------


参考

http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/storage_expand_partition.html