はじめに
EC2にアタッチされているEBSのボリューム(gp2)をデフォルトの8Gから16Gに拡張した際の手順です。
aws console
EC2 > EBS > ボリューム
- サイズを変更したいボリュームを選択
- すでに大事なデータが保存されている場合はスナップショットを作成しておく
- アクション>ボリュームの変更からサイズを8から16にする
- ボリュームの状態が"in-use - optimizing (0%)"になるまで待つ
EC2インスタンス
ボリュームサイズ変更後の Linux ファイルシステムの拡張
パーティションの拡張
確認
lsblk
コマンドでボリュームに拡張が必要なパーティションがあるかどうかを確認する。
下の例ではxvdaが16G、xvda1が8Gになっているので拡張が必要。
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 16G 0 disk
└─xvda1 202:1 0 8G 0 part /
拡張
growpart
コマンドを使用してパーティションを拡張する
$ sudo growpart /dev/xvda 1
CHANGED: partition=1 start=4096 old: size=16773087 end=16777183 new: size=33550303 end=33554399
再確認
lsblk
コマンドで再確認。xvdaとxvda1が共に16Gになったので拡張成功。
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 16G 0 disk
└─xvda1 202:1 0 16G 0 part /
ファイルシステムの拡張
確認
ファイルシステムのサイズは拡張前のままであることを確認。
$ df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
devtmpfs 474M 0 474M 0% /dev
tmpfs 492M 0 492M 0% /dev/shm
tmpfs 492M 436K 492M 1% /run
tmpfs 492M 0 492M 0% /sys/fs/cgroup
/dev/xvda1 8.0G 4.6G 3.5G 58% /
tmpfs 99M 0 99M 0% /run/user/1000
↑/dev/xvda1がまだ8.0Gのまま
拡張
ファイルシステムの識別
ファイルシステムによって拡張コマンドが変わる。
file
コマンドの-sオプションでパーテーションのファイルシステムの型を判定する。
$ sudo file -s /dev/xvd*
/dev/xvda: x86 boot sector; partition 1: ID=0xee, starthead 0, startsector 1, 16777215 sectors, extended partition table (last)\011, code offset 0x63
/dev/xvda1: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)
XFSを使用しているのでxfs_growfs
コマンドを使用して拡張する。
ext4の場合はresize2fs
コマンドを使用する。
resize2fs: Bad magic number in super-blockとなった時の対応方法
$ sudo xfs_growfs /dev/xvda1
meta-data=/dev/xvda1 isize=512 agcount=4, agsize=524159 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1 spinodes=0
data = bsize=4096 blocks=2096635, 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 2096635 to 4193787
再確認
/dev/xvda1サイズが16Gに拡張されていることを確認する
$ df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
devtmpfs 474M 0 474M 0% /dev
tmpfs 492M 0 492M 0% /dev/shm
tmpfs 492M 436K 492M 1% /run
tmpfs 492M 0 492M 0% /sys/fs/cgroup
/dev/xvda1 16G 4.6G 12G 29% /
tmpfs 99M 0 99M 0% /run/user/1000