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

MongoDB and Red Hat Enterprise Linux

mongodb
April 24, 2012
560

MongoDB and Red Hat Enterprise Linux

Red Hat Enterprise Linux (RHEL) powers mission critical applications for thousands of enterprises and delivers performance, reliability, scalability, and security. In this webinar, we'll walk through some of the steps necessary to deploy MongoDB on RHEL 6.2 and take advantage of several features of the underlying system. Using multiple example deployment scenarios, we'll review issues like configuring storage, server security and system monitoring. These steps can serve as a basis for deploying MongoDB in your own RHEL environment.

mongodb

April 24, 2012
Tweet

Transcript

  1. 2 04/24/12 Why Open Source ? • Code transparency •

    Commoditization of technology, provide alternatives • Started with the Operating System (Linux), expanded to: • Storage (DM/MPIO, LVM) • Clustering (RHCS, GFS) • Middleware, (JBOSS, MetaMatrix, Messaging, Rules) • Virtualization (KVM, RHEV) • much more... • Take advantage of rapidly emerging technologies • Virtualization, Realtime, Grid, Cloud, Messaging (AMQP), etc... • Drive cost down by providing customers with choice • Strategic Elimination of Vendor Lock In
  2. 3 04/24/12 Why Red Hat? Company Track Record • #1

    Provider of Open Source solutions for over a decade • Best in class Linux Training & Certification • Consistent & predictable release cycle • Consistent & predictable pricing • Consistent & predictable (timely) responses to fixes & security alerts • Responsible adoption of emerging technologies • Unmatched ISV & HSV ecosystem • Company's growth & reinvestment in relevant technologies
  3. 4 Red Hat Enterprise Linux 6  Extensive improvements in

    every dimension – Efficiency, scalability and reliability – Unprecedented resource management – Focus on security – Superior application development and production platform – Integrated virtualization – Enterprise manageability
  4. 5 Facts and Figures Red Hat Enterprise Linux 6 Released

    November 10th, 2010 85% more packages than Red Hat Enterprise Linux 5 Represents more than 600 person years by Red Hat engineers 14,631 resolved issues from partner,customer & community reports 1,821 customer/partner requested features included 847 features & fixes verified by partner QA teams 3.7 GB of content 2,957 binary RPMs 3,900 additional kernel enhancements to 2.6.32 Red Hat engineers are based in 26 countries Kernel based on 2.6.32 with many features from .33 & .34 Red Hat is the lead developer of kernel features Red Hat Enterprise Linux design allows smooth integration of future features
  5. 6 RHEL6 Scaling Improvements • Tickless kernel (2.6.17)  Reduced

    power consumption • Split LRU (2.6.28)  Efficient reclaim (large systems) • C – groups (2.6.18/2.6.29)  Better hardware utilization • Ticket spinlocks (2.6.25 / 2.6.28)  Scalable / predictable locking • Per-bdi flush (2.6.31)  Scalable flushing of dirty blocks • Transparent Huge pages (2.6.31)  Automatically use huge pages RHEL x86_64 version CPUs Memory 2.1 4 64GB 3 16 128GB 4 32 256GB 5 255 1TB 6 4096 64TB
  6. 8 Mission Critical Features Component Red Hat Enterprise Linux Solaris

    IBM AIX HP-UX Provisioning Kickstart, Red Hat Network / Satellite Jumpstart, Sun xVM Ops Center Workload Partitions Manager Ignite/UX, Hp Virtualization Manager Systems Management & Monitoring Red Hat Network / Satellite Sun xVM Ops Center, Sun Management Center IBM Tivoli Monitoring, IBM Systems Director HP Systems Management, Insight Manager Security EAL4+ EAL4+ EAL4+ EAL4+ Identity Management Red Hat Directory Server, Red Hat Certificate System Sun Java System Directory Server, Identity Server Tivoli Directory Server, Identity Manager HP-UX Directory Server, no Identity man. Virtualization Red Hat Enterprise Linux Virtualization, KVM, Xen Containers, Ldoms, Domains, xVM WPAR, PowerVM HP Insight Dynamics – VSE, npars Clustering Red Hat Cluster Sun Cluster PowerHA Serviceguard Tuning & Troubleshooting Systemtap DTrace probevue ktracer Bare-Metal Recovery Kickstart, Red Hat Network / Satellite Flash Archive Tivoli Storage Management HP StorageWorks Data Protector
  7. 9 Reliability, Availability, Serviceability (RAS) Enables a new class of

    hardware/software capabilities  Advanced error recovery/reporting  CPU and memory hot add  Machine Check Architecture  Intelligent recovery from CPU/memory errors  Enhanced error reporting for PCI devices (PCI-AER & APEI)  DIF/DIX: End-to-end data integrity checking  Rapid file system recovery (up to 10x faster than RHEL 5)  E.G. Fsck for 1TB filesystem (45 million files)  RHEL5 Ext3 = 1 hour, RHEL6 Ext4 = 6 minutes.
  8. 10 RHEL 6 - Support for Xeon 7500 RAS Features

    RAS Feature Supported in RHEL 6 Recovery from Uncorrected Data Errors (MCA) Yes Yes OS CPU On-Lining Yes Yes OS Memory On-Lining (Capacity Change) Yes Yes DIMM Isolation Yes Yes Physical CPU Hot Add Yes Yes Transparent Memory Migration Yes Yes QPI Poisoning/Viral Mode Yes Yes CPU Sparing/Migration Yes No Direct Connect Flash Yes No Physical IOH Hot Add No OS IOH On-Lining No Scalable Memory Interconnect (SMI) Clock Failover No Scalable Memory Interconnect (SMI) Lane Failover No Scalable Memory Interconnect (SMI) Packet Retry No QPI Clock Failover No QPI CRC No QPI Self-Healing No QPI Packet Retry No Single-Core Disable for Fault Resilient Boot No On-Die Error Protection No Out-of-Band Access to Uncore MCA Registers No Memory Board Hot Add Yes Yes Memory Mirroring Yes Yes Intra- and Inter-Socket Memory Mirroring Yes Yes Static Hard Partitioning Yes Yes PCI Express Hot Plug Yes Yes Memory Demand and Patrol Scrubbing Yes Yes DIMM and Rank Sparing Yes Yes DRAM SDDC No Requires OS Support New RAS Features in Xeon 7500/6500 Existing RAS Features in Xeon Architecture
  9. 12 C-group (RHEL6) • Resource Management • Memory, cpus, IO,

    Network • For performance • For application consolidation • Dynamic resource allocation • Application Isolation • I/O Cgroups • At device level control the % of I/O for each Cgroup if the device is shared • At device level put a cap on the throughput
  10. 13 Quick Overview – KVM Architecture • Guests run as

    a process in userspace on the host • A virtual CPU is implemented using a Linux thread • The Linux scheduler is responsible for scheduling a virtual CPU, as it is a normal thread • Guests inherit features from the kernel • NUMA • Huge Pages • Support for new hardware
  11. 14 Quick Overview – KVM Architecture • Disk and Network

    I/O through host (most of the time) • I/O settings in host can make a big difference in guest I/O performance • Need to understand host buffer caching • Proper settings to achieve true direct I/O from the guest • Deadline scheduler (on host) typically gives best performance • Network typically goes through a software bridge
  12. 15 RHEL – The OS of Choice for Leading Virtualization

    Performance • SPECvirt_sc2010 is the main industry benchmark for measuring and comparing virtualization performance • http://www.spec.org/virt_sc2010/ • Red Hat employees have actively participated in the SPEC subcommittee for many years. • All of the leading submissions use RHEL as the guest OS. • The leader at each socket range is KVM based • http://www.spec.org/virt_sc2010/results/
  13. 16 Performance Setting Tool • tuned for RHEL6 • Configure

    system for different performance profiles • laptop-ac-powersave • spindown-disk • latency-performance • laptop-battery-powersave • server-powersave • throughput-performance • desktop-powersave • enterprise-storage • default
  14. 17 Performance Monitoring Tools • Monitoring tools • top, vmstat,

    ps, iostat, netstat, sar, perf • Kernel tools • /proc, sysctl, AltSysRq • Networking • ethtool, ifconfig • Profiling • oprofile, strace, ltrace, systemtap, perf
  15. To#join#via#VOIP,##go#to#Communicate#>#Integrated#Voice#Conference#>#Join#Conference# Contact#[email protected]#if#you#are#having#audio#issues# Components# mongod# • Core#database# server#process# • Responsible# for#the# storage# system#

    mongos# • Used#with# sharded# deployments# • Routes#data# requests#to# appropriate# shards# config# • Used#with# sharded# deployments# • mongod# process#that# maintains# sharded# cluster# metadata#
  16. To#join#via#VOIP,##go#to#Communicate#>#Integrated#Voice#Conference#>#Join#Conference# Contact#[email protected]#if#you#are#having#audio#issues# Tuned#Profile# •  tuned.conf## –  The#configuraUon#for#the#tuned#service#to#be#acUve#for#this# profile.# •  sysctl.ktune#

    –  The#sysctl#se\ngs#used#by#ktune.#The#format#is#idenUcal#to#the#/ etc/sysconfig/sysctl#file#(refer#to#the#sysctl#and#sysctl.conf#man# pages).# •  ktune.sysconfig# –  The#configuraUon#file#of#ktune#itself,#typically#/etc/sysconfig/ ktune.# •  ktune.sh# –  An#initRstyle#shell#script#used#by#the#ktune#service#which#can#run# specific#commands#during#system#startup#to#tune#the#system##