Archive for July, 2008

VMware server performance

Friday, July 18th, 2008

We started using VMware server for virtualization running CentOS 5 as host and CentOS 5 and other operating systems as guests. The servers were Dell PowerEdge 2950s with 4 SAS disks in RAID-10 setup.
However, performance was really poor especially for I/O intensive applications. After browsing around a bit I did the following:

  1. Change I/O scheduler (host and guest)
    echo deadline > /sys/block/sda/queue/scheduler
  2. Increase disk read-ahead (host and guest)
    /sbin/blockdev –setra 32768 /dev/sda
  3. Set size of /dev/shm on host server to same as memory size on server (8 GB) via
    mount -o remount,size=8G /dev/shm
    And adding an entry in /etc/fstab for it to be set up on boot-time as well
    tmpfs              /dev/shm           tmpfs   defaults,size=8G  0 0
  4. And then add some configuration options to the .vmx files (restart of virtual machines needed after the change):
    mem.ShareScanTotal=0
    mem.ShareScanVM=0
    mem.ShareScanThreshold=4096
    sched.mem.maxmemctl=0
    sched.mem.pshare.enable = “FALSE”
    mainMem.useNamedFile = “FALSE”
    MemTrimRate = “0″
    MemAllowAutoScaleDown = “FALSE”

This indeed the trick. Performance increased significantly!

Specifically I/O intensive operations does not affect the host server and all virtual machines as previously.

Adding new subnet to external Netscreen interface

Friday, July 18th, 2008

We ran out of public IP addresses on our site where we map public IP addresses to services on internal servers via MIPs.

When we received more IP addresses in a different subnet I could not easily figure out how to use them until I ran across an article on the Juniper support site.

The solution was really simple:

  1. Add a routing entry for the new subnet on the external interface (ethernet1) with “0.0.0.0″ as gateway
    Network -> Routing -> Destination -> New
  2. Add MIPs using addresses in the new IP subnet

How simple and it works great!