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活用のお手伝いができれば幸いです。