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 /
SIZEが10GBへ変更されました。
この時点で「拡張したディスクサイズ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活用のお手伝いができれば幸いです。
