EC2 : CC2にインスタンスディスク(ローカルディスク、エフェメラルディスク)を使ってRAID0
CC2では、インスタンスディスクが3360GiB( 4 x 840GiB)が使えるが、EBSバックドなHVM AMIをマネジメントコンソールから起動した場合、インスタンスディスク(ローカルディスク、エフェメラルディスク)は無効になっている。計算中の中間ファイルを書き込んだりする際は、高速なストレージがあるとうれしいので、これを使う方法をメモ。(注:stopするとインスタンスディスクのデータはすべて消えるのでそのつもりで)
Amazon EC2 API ToolsもしくはSDK経由で起動する際に指定することになる。
Windowsのコマンドプロンプトからだとこんな感じ。通常と違うのは、 -bオプションでデバイスマッピングを指定していることと、CC2特有の placement groupsを指定しているあたり。
C:\aws\ec2\bin>ec2-run-instances ami-e965ba80 --region us-east-1 --key id_rsa --group sg-a4866fcc --placement-group test --instance-type cc2.8xlarge -b "/dev/sdb=ephemeral0" - b "/dev/sdc=ephemeral1" -b "/dev/sdd=ephemeral2" "/dev/sdf=ephemeral3"
そうすると、Amazon Linuxだとこのように見える。
$ ls -l /dev/sd* lrwxrwxrwx 1 root root 4 May 2 09:19 /dev/sda -> xvda lrwxrwxrwx 1 root root 5 May 2 09:19 /dev/sda1 -> xvda1 lrwxrwxrwx 1 root root 4 May 2 09:19 /dev/sdb -> xvdb lrwxrwxrwx 1 root root 4 May 2 09:19 /dev/sdc -> xvdc lrwxrwxrwx 1 root root 4 May 2 09:19 /dev/sdd -> xvdd lrwxrwxrwx 1 root root 4 May 2 09:19 /dev/sdf -> xvdf
目的達成。このままterminateするのもアレなので、RAID0なxfsでも組んでみる。
RAID0作成
$ sudo su - # /sbin/mdadm --create /dev/md0 --level=0 -c256 --raid-devices=4 /dev/xvdb /dev/xvdc /dev/xvdd /dev/xvdg # echo 'DEVICE /dev/xvdb /dev/xvdc /dev/xvdd /dev/svdg' > /etc/mdadm.conf mdadm --detail --scan >> /etc/mdadm.conf
XFSでファイルシステム作成
# yum install xfsprogs-devel # blockdev --setra 65536 /dev/md0 # mkfs.xfs -f /dev/md0 # mkdir -p /mnt/md0 # mount -t xfs -o noatime /dev/md0 /mnt/md0
# wget http://pkgs.repoforge.org/fio/fio-2.0.7-1.el6.rf.x86_64.rpm # rpm -i fio-2.0.7-1.el6.rf.x86_64.rpm
fioでベンチマーク。かけ方はこのあたり。4kランダムリードを16多重で5回計測。する場合。
# vi randread4k16.fio # cat randread4k16.fio [randread4k] readwrite=randread blocksize=4k size=100m directory=/mnt/md0 direct=1 loops=5 numjobs=16 # fio -group_reporting randread4k16.fio
なお、インスタンスディスク単体、RAID0、EBS単体、EBS RAID0のベンチ結果のブログなどはこちら。
EC2 Ephemeral Disks vs EBS Volumes in RAID | three stacks of high society
Disk IO and throughput benchmarks on Amazon’s EC2 – stu.mp
Boot, ephemeral & EBS storage performance on amazon cc1.4xlarge instance types : BioTeam