Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Deploying MongoDB on Amazon WS | Michael Karpitsky

Deploying MongoDB on Amazon WS | Michael Karpitsky

Michael Karpitsky
Meetup #5

Minsk MongoDB User Group

July 05, 2012
Tweet

More Decks by Minsk MongoDB User Group

Other Decks in Programming

Transcript

  1. А  нужен  ли  AWS?   •  Небольшой  проект  –  mongolab

      •  Все  сейчас  работает  и  ничего  не  планирует   расти   •  Хочу  пробовать  облака!   •  Не  устраивает  текущая  производительность   •  Предполагаем  рост  
  2. primary/secondary   mongod   EBS   EBS   EBS  

    EBS   EBS   EBS   EBS   /data/db   /data/db/journal   /var/log   Raid10   Raid1  
  3. Настройки  OS   •  ext4,  xfs   •  raid10,  raid1

      •  $  blockdev  -­‐-­‐setra  128  /dev/md0  (read-­‐ahead)   •  выключить  ayme,  dirayme     #  cat  /etc/fstab     UUID=6..  /data/db  ext4  noayme,nodirayme  0  0    
  4. Security  group   internet   app   mongod   mongod

      Port  22,  80,  443   Port  22   Port  22   Port  27017   Port  27017   Port  27017  
  5. Security  group   •  Порт  22  из  0.0.0.0/0   • 

    Порты  27017,  27018  и  27019  из  security   group  приложения   •  Порты  27017,  27018  и  27019  из  security   group  mongo  
  6. >  rs.status()   •  $  mongo   •  >  rs.iniyate()

      •  >  rs.add(node1)   •  >  rs.add(node2)   •  >  rs.status()  
  7. Backup  (вариант  1)   •  >  use  admin   • 

    >  db.runCommand({fsync:1,  lock:1});   •  $  ec2-­‐create-­‐snapshot  –d  backup-­‐date  vol-­‐ {1..4}   •  >  db.$cmd.sys.unlock.findOne();  
  8. Backup  (вариант  2)   •  $  mongodump  –d  database  

    •  $  tar  zcvf  /backups/backup-­‐date.tgz  dump   •  $  ec2-­‐create-­‐snapshot  –d  backups-­‐vol-­‐date   backup-­‐vol-­‐1