AWS EC2のEBSのボリュームを拡張(Ubuntu+ext4)

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

目次

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

概要

 

AWSコンソールからEBSを拡張する

8GBを9GBに拡張します。

1.EC2のインタンスの一覧からインスタンスIDのリンクをクリックします。

 

2.ストレージタブをクリックしボリュームIDのリンクをクリックします。

ボリュームサイズは、8(GiB)になっています。

 

3.ボリュームIDの一覧から対象のボリュームにチェックを入れアクションからボリュームの変更をクリックします。

 

4.サイズの入力欄を8から9に変更し、変更ボタンを押します。

 

5.確認の画面が表示されます。変更ボタンを押すと拡張が始まります。

 

6.ボリュームの一覧では、対象のボリュームの状態は、使用中以外になります。
拡張する容量により時間がかかります。※100%まで待つ必要はありません。最適化中にOSのコマンドで拡張できます。

 

7.インスタンスのストレージタブでは、8から9に変わっています。

 

Ubuntuでパーティションを拡張する

※EC2インスタンスを再起動した時は自動で反映されたので、この手順は不要でした。

変更前の確認(ファイルシステム)

df -h

dfは、ファイルの使用状況を表示します。
-hは、読みやすい単位で表示します。

1.Ubuntuにログインしdf -hコマンドでディスク容量を確認します。

ubuntu@ip-172-31-17-151:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            473M     0  473M   0% /dev
tmpfs            98M  780K   97M   1% /run
/dev/xvda1      7.6G  1.3G  6.4G  17% /
tmpfs           488M     0  488M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           488M     0  488M   0% /sys/fs/cgroup
/dev/xvda15     105M  4.4M  100M   5% /boot/efi
/dev/loop0       47M   47M     0 100% /snap/snapd/16292
/dev/loop1       56M   56M     0 100% /snap/core18/2538
/dev/loop2       26M   26M     0 100% /snap/amazon-ssm-agent/5656
tmpfs            98M     0   98M   0% /run/user/1000
ubuntu@ip-172-31-17-151:~$

5行目は、7.6GB(約8GB)になっています。AWSコンソールでの変更は反映されていません。

 

変更前の確認(パーティション)

lsblk

ブロックデバイスをツリー状に表示します

2.変更前のパーティションの状態をlsblkコマンドで確認します。

ubuntu@ip-172-31-17-151:~$ lsblk
NAME     MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
loop0      7:0    0   47M  1 loop /snap/snapd/16292
loop1      7:1    0 55.6M  1 loop /snap/core18/2538
loop2      7:2    0 25.1M  1 loop /snap/amazon-ssm-agent/5656
xvda     202:0    0    9G  0 disk
└─xvda1  202:1    0  7.9G  0 part /
└─xvda14 202:14   0    4M  0 part
└─xvda15 202:15   0  106M  0 part /boot/efi
ubuntu@ip-172-31-17-151:~$ 

6行目は全体で9GBになっていますが7-9行目のサイズは8GBで変更されていません。
7-9行目のpartは、パーティションです。

 

3.パーティション拡張ツールのgrowpartコマンドでパーティションを拡張します。

growpart デバイス名 パーティション番号

growpartの引数の意味は順にデバイス名、パーティション番号です。

df -hでみたときに拡張対象は「/dev/xvda1」なので、1つ目の引数は「/dev/xvda」で2つめの引数は1にします。

ubuntu@ip-172-31-17-151:~$ sudo growpart /dev/xvda 1
CHANGED: partition=1 start=227328 old: size=16549855 end=16777183 new: size=18647007,end=18874335
ubuntu@ip-172-31-17-151:~$

 

変更後の確認(パーティション)

4.変更後の状態をlsblkコマンドで確認します。

ubuntu@ip-172-31-17-151:~$ lsblk
NAME     MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
loop0      7:0    0   47M  1 loop /snap/snapd/16292
loop1      7:1    0 55.6M  1 loop /snap/core18/2538
loop2      7:2    0 25.1M  1 loop /snap/amazon-ssm-agent/5656
xvda     202:0    0    9G  0 disk
└─xvda1  202:1    0  8.9G  0 part /
└─xvda14 202:14   0    4M  0 part
└─xvda15 202:15   0  106M  0 part /boot/efi
ubuntu@ip-172-31-17-151:~$

7行目は、変更前は7.9Gでしたが、8.9Gになっています。

 

5.df -hコマンドでディスク容量を確認します。

ubuntu@ip-172-31-17-151:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            473M     0  473M   0% /dev
tmpfs            98M  780K   97M   1% /run
/dev/xvda1      7.6G  1.3G  6.4G  17% /
tmpfs           488M     0  488M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           488M     0  488M   0% /sys/fs/cgroup
/dev/xvda15     105M  4.4M  100M   5% /boot/efi
/dev/loop0       47M   47M     0 100% /snap/snapd/16292
/dev/loop1       56M   56M     0 100% /snap/core18/2538
/dev/loop2       26M   26M     0 100% /snap/amazon-ssm-agent/5656
tmpfs            98M     0   98M   0% /run/user/1000
ubuntu@ip-172-31-17-151:~$

まだ7.6GB(約8GB)で変更が反映されていないので次にファイルシステムの拡張を行います。

 

Ubuntuでファイルシステムを拡張する

1.ファイルシステムによって、パーティション拡張コマンドが異なるのでファイルシステムを確認します。

ファイルシステムは、df -Tで確認できます。-Tは、ファイルシステムを表示します。

ext4は、resize2fsを使用します。

ubuntu@ip-172-31-17-151:~$ sudo resize2fs /dev/xvda1
resize2fs 1.44.1 (24-Mar-2018)
Filesystem at /dev/xvda1 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
The filesystem on /dev/xvda1 is now 2330875 (4k) blocks long.

ubuntu@ip-172-31-17-151:~$

※ext4に対してxfs_growfsを使用すると以下のメッセージがでて実行できません。

xfs_growfs: specified file ["/"] is not on an XFS filesystem

xfsは、xfs_growfsを使用します。sudo xfs_growfs /dev/xvda1

 

2.df -hで確認します。

ubuntu@ip-172-31-17-151:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            473M     0  473M   0% /dev
tmpfs            98M  780K   97M   1% /run
/dev/xvda1      8.6G  1.3G  7.3G  15% /
tmpfs           488M     0  488M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           488M     0  488M   0% /sys/fs/cgroup
/dev/xvda15     105M  4.4M  100M   5% /boot/efi
/dev/loop0       47M   47M     0 100% /snap/snapd/16292
/dev/loop1       56M   56M     0 100% /snap/core18/2538
/dev/loop2       26M   26M     0 100% /snap/amazon-ssm-agent/5656
tmpfs            98M     0   98M   0% /run/user/1000
ubuntu@ip-172-31-17-151:~$

9GBに変更されました。

関連の記事

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

△上に戻る