Skip to content

Instantly share code, notes, and snippets.

@bcarpio
Created June 27, 2012 18:16
Show Gist options
  • Save bcarpio/3005807 to your computer and use it in GitHub Desktop.
Save bcarpio/3005807 to your computer and use it in GitHub Desktop.
setup_fs_mongodb_aws
@task
def setup_fs_mongodb_aws():
env.warn_only = True
sudo('puppetd --test')
env.warn_only = False
sudo("for i in `cat /proc/mdstat | grep md | awk '{print $1}'`; do mdadm --stop /dev/$i; done")
sudo('mdadm --create --force --assume-clean -R /dev/md0 -l10 --chunk=256 --raid-devices=4 /dev/xvdf /dev/xvdg /dev/xvdh /dev/xvdi')
sudo('echo "`mdadm --detail --scan`" | tee -a /etc/mdadm.conf')
sudo('blockdev --setra 128 /dev/md0')
sudo('blockdev --setra 128 /dev/xvdf')
sudo('blockdev --setra 128 /dev/xvdg')
sudo('blockdev --setra 128 /dev/xvdh')
sudo('blockdev --setra 128 /dev/xvdi')
sudo('pvcreate /dev/md0')
sudo('vgcreate datavg /dev/md0')
sudo('lvcreate -l 80%vg -n datalv datavg')
sudo('lvcreate -l 5%vg -n journallv datavg')
sudo('mke2fs -t ext4 -F /dev/datavg/datalv')
sudo('mke2fs -t ext4 -F /dev/datavg/journallv')
sudo('echo "/dev/datavg/datalv /data ext4 defaults,auto,noatime,noexec 0 0" | tee -a /etc/fstab')
sudo('echo "/dev/datavg/journallv /journal ext4 defaults,auto,noatime,noexec 0 0" | tee -a /etc/fstab')
sudo('mkdir -p /journal')
sudo('mount -a')
sudo('mkdir -p /data/db.1/')
sudo('ln -s /journal /data/db.1/journal')
sudo('chown -R mongodb:mongodb /data/')
sudo('chown -R mongodb:mongodb /journal/')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment