Skip to content

Instantly share code, notes, and snippets.

@we4tech
Last active August 29, 2015 14:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save we4tech/0db66c5d82822c50ca8e to your computer and use it in GitHub Desktop.
Save we4tech/0db66c5d82822c50ca8e to your computer and use it in GitHub Desktop.
Setting up a Mongodb instance with RAID 10 and separate disk for Journal and Log

Mongodb Server Setup

At the end of process we will have /mdb/data for mongodb database directory which is on RAID 10. /mdb/journal which is used for storing journal files with IOPS 250 and /mdb/log with IOPS 125.

  1. Let's assume we have xvdb, xvdc for /mdb/data
  2. We have xvdd for /mdb/journal
  3. And xvde for /mdb/log
  4. Let's follow the following commands
sudo apt-get install mdadm
sudo mdadm --verbose --create /dev/md1 --level=--chunk=256 --raid-devices=2 /dev/xvdb /dev/xvdc
echo 'DEVICE /dev/xvdb /dev/xvdc' | sudo tee -a /etc/mdadm/mdadm.conf
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
sudo blockdev --setra 128 /dev/md1
sudo blockdev --setra 128 /dev/xvdb
sudo blockdev --setra 128 /dev/xvdc
sudo dd if=/dev/zero of=/dev/md1 bs=256 count=1
sudo apt-get install lvm2
sudo pvcreate /dev/md1
sudo vgcreate vg0 /dev/md1
sudo vgs
sudo lvcreate -n data -l +100%FREE vg0
sudo lvdisplay
sudo mkfs.ext4 /dev/vg0/data
sudo mkdir /mdb
sudo mkdir /mdb/data
echo "/dev/vg0/data /mdb/data ext4 defaults,noatime 0 0" | sudo tee -a /etc/fstab
sudo mkdir /mdb/log /mdb/journal
sudo mkfs.ext4 /dev/xvdd
sudo mkfs.ext4 /dev/xvde
echo "/dev/xvdd /mdb/log auto noatime 0 0" | sudo tee -a /etc/fstab
echo "/dev/xvde /mdb/journal auto noatime 0 0" | sudo tee -a /etc/fstab
sudo mount /mdb/data
sudo mount /mdb/log
sudo mount /mdb/journal
sudo ln -s /mdb/journal /mdb/data/journal
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEBecho 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
sudo apt-get update
sudo apt-get install mongodb-org
sudo chown mongodb:nogroup /mdb/ -R
sudo nano /etc/mongod.conf

Note: Make maximum allowed opened files and other related limits to unlimited.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment