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.
- Let's assume we have
xvdb, xvdc
for/mdb/data
- We have
xvdd
for/mdb/journal
- And
xvde
for/mdb/log
- 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.