読者です 読者をやめる 読者になる 読者になる

うさがにっき

読書感想文とプログラムのこと書いてきます

ディスク容量を変更するOndemand Diskパターン

概要

tiro105.hateblo.jp
の続き
EC2インスタンスのディスクサイズを動的に変更する

詳細

EC2インスタンスは同じAZに存在するEBSボリュームしかマウントできないためAZを確認

Availability zone ap-northeast-1c

ディスクサイズを動的に変更するには以下の2パターンがある

  • 新しいディスクを増設
  • 既存のディスクを拡張する

新しいディスクを増設

空のディスクを作って増設する
新たなパーティションとしてEC2インスタンスにマウントし、データ保存用などに利用できるようにする

確認したAZ内にからのEBSボリュームを作成する
ELASTIC BLOCK STORE > Volumesを選択しCreate Volumeを押下
f:id:tiro105:20150318105701p:plain
AZに確認したEBSボリュームを設定、容量は今回は10Gを設定

作成したEBSボリュームをEC2インスタンスにアタッチしてEC2インスタンスから使えるようにする
利用したいボリューム名を右クリックしてAttach Volumeを選択
f:id:tiro105:20150318110056p:plain
Attach先を選択
f:id:tiro105:20150318110119p:plain

AttachしたボリュームをOSから読み書きできるようにする
sshで対象サーバに接続する

$ sh db_login.sh 
Last login: Wed Mar 18 00:13:34 2015 from ip-10-0-1-10.ap-northeast-1.compute.internal

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2014.09-release-notes/
11 package(s) needed for security, out of 28 available
Run "sudo yum update" to apply all updates.
[ec2-user@ip-10-0-2-10 ~]$ 

mkfsコマンドを実行し、フォーマット

[ec2-user@ip-10-0-2-10 ~]$ sudo mkfs -t ext4 /dev/sdf
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
655360 inodes, 2621440 blocks
131072 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2151677952
80 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done 

マウントする

[ec2-user@ip-10-0-2-10 ~]$ sudo mkdir /ebs
[ec2-user@ip-10-0-2-10 ~]$ sudo mount /dev/sdf /ebs

これで/ebs下が追加したvolumeになる
ちなみにvolumeを削除したいときはunmountしないとDetachできない

[ec2-user@ip-10-0-2-10 ~]$ sudo umount /dev/sdf

既存のディスクを拡張する

既存のディスクのサイズを大きくして、容量を拡張
空き容量が単純に増えるだけなのでOSやソフトの構成を変更する必要がないが、ファイルシステムの再構築が必要

以下の手順

  1. EC2インスタンスを停止する
  2. EBSボリュームのスナップショットを作成
  3. スナップショットを元に、増量したEBSボリュームを作成
  4. 現在利用しているEBSボリュームを切り離す
  5. 新しく作成したEBSボリュームをEC2インスタンスにアタッチ

スナップショットを取得するところまではやっているので、ボリューム作成から
tiro105.hateblo.jp
スナップショットからvolumeを作成、今回は10Gで
f:id:tiro105:20150318113350p:plain
既存のものをデタッチ、新しいものをアタッチ
f:id:tiro105:20150318113455p:plain
f:id:tiro105:20150318113516p:plain

参考

Linux パーティションにmkfsでファイルシステムを作る

Amazon Web Services クラウドデザインパターン 実装ガイド 改訂版

Amazon Web Services クラウドデザインパターン 実装ガイド 改訂版