EC2のボリュームサイズを変更

PHPプログラマーの松永です。

今回は、EC2のインタンスヴォリュームの変更方法をご紹介します。

この設定中にインスタンスを再起動する必要はありません。

目次

使用中のインスタンスのサイズ確認

lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  8G  0 disk
└─xvda1 202:1    0  8G  0 part /

ディスク容量は8GBです。

AWS管理画面のEBSのボリュームへアクセス

ボリュームがどのインスタンスに紐づけられているかはボリュームを選択し、説明内のアタッチ済み情報から確認することができます。

ボリュームの変更

変更したいボリューム上で右クリックし、ボリュームの変更を選択いたします。

ボリュームタイプの変更は行いませんでした。 ボリュームタイプは必要に応じて変更ください。

今回は8GBから10GBへ変更いたします。 サイズに10を入力し、変更を押下いたします。

注意が表示されます。 問題がない場合は、はいを押下いたします。

完了すると下図が表示されます。

AWS管理画面をリロードし、反映を確認いたします。 今回は少量の変更のため、即時に反映されましたが、8GBから200GBなどのような場合には5分から10分程の変更時間がかかります。

AWS管理画面での作業は以上でございます。

サーバー設定

ここからはサーバー内で作業いたします。

再度、インスタンスのサイズを確認いたします。

lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  10G  0 disk
└─xvda1 202:1    0   8G  0 part /

SIZE10GBへ変更されました。 この時点で「拡張したディスクサイズ10GBが認識されている」ということになります。

ただし、xvda1が8GBのままです。 これは「Linuxファイルシステムでの拡張はできていない」ということになります。

拡張したディスクサイズをLinuxファイルシステムに反映

拡張したディスクサイズをLinuxファイルシステムに反映する方法はAWSで用意されています。

Linux の EBS ボリュームのサイズ、IOPS、またはタイプの変更 http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ebs-expand-volume.html

物理ディスクへ反映

sudo growpart /dev/xvda 1
CHANGED: disk=/dev/xvda partition=1: start=4096 old: size=16773086,end=16777182 new: size=20967390,end=20971486

再度、インスタンスのサイズを確認いたします。

lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  10G  0 disk
└─xvda1 202:1    0  10G  0 part /

Linuxファイルシステムのサイズを確認いたします。

df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
devtmpfs         489M   56K  488M    1% /dev
tmpfs            497M     0  497M    0% /dev/shm
/dev/xvda1       7.8G  2.3G  5.4G   30% /

/dev/xvda1のサイズは7.8G(8GB)のままで変更した10GBが反映されていません。

Linuxファイルシステムへ反映

sudo resize2fs /dev/xvda1
resize2fs 1.42.12 (29-Aug-2014)
Filesystem at /dev/xvda1 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/xvda1 is now 2620923 (4k) blocks long.

再度、Linuxファイルシステムのサイズを確認いたします。

df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
devtmpfs         489M   56K  488M    1% /dev
tmpfs            497M     0  497M    0% /dev/shm
/dev/xvda1       9.8G  2.3G  7.4G   24% /

/dev/xvda1のサイズがは9.8G(10GB)に変更されています。

以上でございます。

まとめ

インスタンスの再起動なしにヴォリュームを変更することができ、サーバーリソースに合わせた運用が可能となります。

このように今に合わせ最適化が可能になるものAWSなどのクラウドを使用するメリットの1つでもあると改めて感じました。

今回の記事を通じてEC2活用のお手伝いができれば幸いです。

この記事を書いた人 matsunaga 自宅に音楽スタジオがあるとこを夢見るPHPエンジニア
TOP