AWSのEC2のEBSのボリュームを拡張するサンプルです。(Linux)
目次
サンプル | 概要 |
AWSコンソールからEBSを拡張する | |
Linuxでパーティションを拡張する | |
Linuxでファイルシステムを拡張する |
概要
- 最初にAWSコンソールからEC2のEBSを拡張します。
- 次にLinuxにログインして拡張のコマンドを入力します。
- OSは、AmazonLinux2でファイルシステムはxfsです。
- 初期ユーザは、ec2-userです。
- 以下は、EBS ボリュームへの変更のリクエストのリンクです。
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/requesting-ebs-volume-modifications.html
AWSコンソールからEBSを拡張する
9GBを10GBに拡張します。
1.EC2のインタンスの一覧からインスタンスIDのリンクをクリックします。
2.ストレージタブをクリックしボリュームIDのリンクをクリックします。
ボリュームサイズは、9(GiB)になっています。
3.ボリュームIDの一覧から対象のボリュームにチェックを入れアクションからボリュームの変更をクリックします。
4.サイズの入力欄を9から10に変更し、変更ボタンを押します。
5.確認の画面が表示されます。変更ボタンを押すと拡張が始まります。
6.ボリュームの一覧では、対象のボリュームの状態は、使用中以外になります。
拡張する容量により時間がかかります。※100%まで待つ必要はありません。最適化中にOSのコマンドで拡張できます。
7.インスタンスのストレージタブでは、9から10に変わっています。
Linuxでパーティションを拡張する
※EC2インスタンスを再起動した時は自動で反映されたので、この手順は不要でした。
変更前の確認(ファイルシステム)
df -h |
dfは、ファイルの使用状況を表示します。
-hは、読みやすい単位で表示します。
1.Linuxにログインしdf -hコマンドでディスク容量を確認します。
[ec2-user@ip-10-0-10-7 ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 474M 0 474M 0% /dev
tmpfs 483M 0 483M 0% /dev/shm
tmpfs 483M 412K 483M 1% /run
tmpfs 483M 0 483M 0% /sys/fs/cgroup
/dev/xvda1 9.0G 2.1G 7.0G 23% /
tmpfs 97M 0 97M 0% /run/user/1000
[ec2-user@ip-10-0-10-7 ~]$
7行目は、9.0GBになっています。AWSコンソールでの変更は反映されていません。
変更前の確認(パーティション)
lsblk |
ブロックデバイスをツリー状に表示します
2.変更前のパーティションの状態をlsblkコマンドで確認します。
[ec2-user@ip-10-0-10-7 ~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 10G 0 disk
└─mqxvda1 202:1 0 9G 0 part /
[ec2-user@ip-10-0-10-7 ~]$
3行目は全体で10GBになっていますが4行目のルート(/)のサイズは9GBで変更されていません。
4行目のpartは、パーティションです。
4行目はツリーになっています。
3.パーティション拡張ツールのgrowpartコマンドでパーティションを拡張します。
growpart デバイス名 パーティション番号 |
growpartの引数の意味は順にデバイス名、パーティション番号です。
df -hでみたときに拡張対象は「/dev/xvda1」なので、1つ目の引数は「/dev/xvda」で2つめの引数は1にします。
[ec2-user@ip-10-0-10-7 ~]$ sudo growpart /dev/xvda 1
CHANGED: partition=1 start=4096 old: size=18870239 end=18874335 new: size=20967391 end=20971487
[ec2-user@ip-10-0-10-7 ~]$
変更後の確認(パーティション)
4.変更後の状態をlsblkコマンドで確認します。
[ec2-user@ip-10-0-10-7 ~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 10G 0 disk
└─mqxvda1 202:1 0 10G 0 part /
[ec2-user@ip-10-0-10-7 ~]$
4行目は、変更前は9Gでしたが、10Gになっています。
4行目はツリーになっています。
5.df -hコマンドでディスク容量を確認します。
[ec2-user@ip-10-0-10-7 ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 474M 0 474M 0% /dev
tmpfs 483M 0 483M 0% /dev/shm
tmpfs 483M 468K 483M 1% /run
tmpfs 483M 0 483M 0% /sys/fs/cgroup
/dev/xvda1 9.0G 2.1G 7.0G 23% /
tmpfs 97M 0 97M 0% /run/user/1000
tmpfs 97M 0 97M 0% /run/user/0
[ec2-user@ip-10-0-10-7 ~]$
まだ9.0GBで変更が反映されていないので次にファイルシステムの拡張を行います。
Linuxでファイルシステムを拡張する
1.ファイルシステムによって、パーティション拡張コマンドが異なるのでファイルシステムを確認します。
ファイルシステムは、df -Tで確認できます。-Tは、ファイルシステムを表示します。
xfsは、xfs_growfsを使用します。
[ec2-user@ip-10-0-10-7 ~]$ sudo xfs_growfs /dev/xvda1
meta-data=/dev/xvda1 isize=512 agcount=5, agsize=524159 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1 spinodes=0
data = bsize=4096 blocks=2358779, 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 2358779 to 2620923
[ec2-user@ip-10-0-10-7 ~]$
※xfsに対してresize2fsを使用すると以下のメッセージがでて実行できません。
resize2fs: Bad magic number in super-block while trying to open /dev/xvda1
Couldn't find valid filesystem superblock.
ext4は、resize2fsを使用します。sudo resize2fs /dev/xvda1
2.df -hで確認します。
[ec2-user@ip-10-0-10-7 ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 474M 0 474M 0% /dev
tmpfs 483M 0 483M 0% /dev/shm
tmpfs 483M 468K 483M 1% /run
tmpfs 483M 0 483M 0% /sys/fs/cgroup
/dev/xvda1 10G 2.1G 8.0G 21% /
tmpfs 97M 0 97M 0% /run/user/1000
tmpfs 97M 0 97M 0% /run/user/0
[ec2-user@ip-10-0-10-7 ~]$
10GBに変更されました。
関連の記事