Created
September 24, 2013 20:33
-
-
Save teknogeek0/6690813 to your computer and use it in GitHub Desktop.
ebsraider
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# made by Chris Munns | |
host_info=`ec2-describe-instances | grep $HOSTNAME` | |
host_id=`echo $host_info | awk '{print $2}'` | |
host_zone=`echo $host_info | awk '{print $11}'` | |
SCHEDULER=deadline | |
MDADMCOM=/sbin/mdadm | |
volNum=$1 | |
volSize=$2 | |
raidLvl=$3 | |
raidDev=$4 | |
devName=$5 | |
mountP=$6 | |
echo "On host $host_id in AZ $host_zone" | |
echo "Creating $volNum volumes of size $volSize GB for a RAID $raidLvl" | |
echo "which will be mounted /dev/$devName at $mountP" | |
## make the ebs volumes | |
for (( x=1; x<=volNum; x++)) | |
do | |
ec2-create-volume -s $volSize -z $host_zone | |
done > /tmp/volsCreated.txt | |
## attach those ebs volumes to this instance | |
(i=0; | |
for vol in $(awk '{print $2}' /tmp/volsCreated.txt); do | |
i=$(( i + 1 )); | |
ec2-attach-volume $vol -i $host_id -d /dev/$devName${i}; | |
## lets set the scheduler as well | |
echo $SCHEDULER > /sys/block/$devName${i}/queue/scheduler | |
done) | |
rm /tmp/volsCreated.txt | |
## sleep a bit so we wait for device intialization | |
sleep 30 | |
## raid dem disks son | |
$MDADMCOM --create --level $raidLvl --chunk 256 --raid-devices $volNum -L $mountP /dev/$raidDev /dev/$devName* | |
### may not need this at all, commenting out until i see it break something | |
## make sure our array is initialized and active before moving on | |
#while [ -z "`cat /proc/mdstat | grep md1 | grep active`" ] | |
#do | |
# ## wait 10 more seconds | |
# sleep 10 | |
# echo "Waiting for device initialization..." | |
#done | |
## create the mdadm.conf so that our array persists | |
mkdir -p /etc/mdadm | |
## take the results of scan and put it in the conf | |
$MDADMCOM --examine --scan --config=mdadm.conf >> /etc/mdadm/mdadm.conf | |
## lets format us a volume | |
/sbin/mkfs.xfs /dev/$raidDev | |
## mount up | |
mount -o noatime,nobarrier,nodiratime,logbufs=8 /dev/$raidDev $mountP | |
## persist in fstab | |
echo "LABEL=$mountP $mountP xfs noatime,nobarrier,nodiratime,logbufs=8 0 0" >> /etc/fstab |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment