AWS EC2のEBSのボリュームを拡張する(Linux)

AWSのEC2のEBSのボリュームを拡張するサンプルです。(Linux)

目次

サンプル 概要
AWSコンソールからEBSを拡張する
Linuxでパーティションを拡張する
Linuxでファイルシステムを拡張する

概要

 

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に変更されました。

関連の記事

AWS EC2を作成/削除するサンプル

△上に戻る