何かというと
こちらの記事の手順をスクリプトで自動化しました。10TBのボリュームがEC2上に3分で用意されます。(インスタンスの起動は並列で行われるので、原理的には、100TBでも1PBでもほぼ同じ時間で用意できるはずです。)
※動画は再生速度を上げてます。実際には2分40秒の内容です。
自動化スクリプトの中身
AMIは事前に作成してから利用します。AMIのID(ami-a69d43bb)は環境によって変わります。やっつけで作ったので、参考程度にご覧ください。。。
※ ext4のフォーマットは「-E lazy_itable_init=1」オプションでバックグランド化しています。
#!/bin/sh NUM=$1 function confirm { echo -n "$1" read answer if [[ $answer != "y" ]]; then exit fi } TMPFILE=/tmp/glustertmp$$ RUN=0 confirm "Start $NUM gluster instances(y/n)? " ec2-run-instances ami-a69d43bb -n $NUM -k enakai_sa -t m1.large -g glusterfs | grep "INSTANCE" | awk '{system("ec2-create-tags -t Name=GlusterNode " $2)}' while [[ $RUN -lt $NUM ]]; do sleep 5 RUN=$(ec2-describe-instances -F tag:Name=GlusterNode -F instance-state-name="running" | grep "INSTANCE" | wc -l) done { ec2-describe-instances -F tag:Name=GlusterNode -F instance-state-name="running" | grep "INSTANCE" | awk '{print "gluster peer probe " $15}' echo -n "gluster volume create vol01 " ec2-describe-instances -F tag:Name=GlusterNode -F instance-state-name="running" | grep "INSTANCE" | awk '{print $15 ":/brick01 " $15 ":/brick02"}' | paste -s -d " " echo "gluster volume start vol01" echo "mount -t glusterfs localhost:/vol01 /mnt" } > $TMPFILE echo "-----" echo "$NUM instances are now running." echo "Wait a few minutes to finish ext4 formatting before initialization...." confirm "Initialize Gluster volme(y/n)? " NODE=$(ec2-describe-instances -F instance-state-name="running" | grep "INSTANCE" | head -1 | awk '{print $4}') ssh -i enakai_sa.pem -o "StrictHostKeyChecking no" root@${NODE} < $TMPFILE 2>/dev/null echo "-----" echo "Gluster volume is now mounted." echo "Check with the following command:" echo "ssh -i enakai_sa.pem root@${NODE} df -H" rm $TMPFILE