You may wonder why you would want to virtualize a busy Domino server if it's already using all resources of a physical server at a maximum. The main point of virtualization is running multiple servers on a virtual host to consolidate hardware and not waste resources, which can be common on many servers.
But virtualization offers many benefits beyond simple consolidation, such as protecting from hardware failure , snapshots for easy rollbacks when upgrading, hardware provisioning when you need to add or change hardware and more.
|Know your workloads|
Knowing your workloads means that you should use performance monitoring tools on existing Domino servers to get a glimpse of average and peak utilization of the four main resources -- CPU, memory, disk and network. Measure this utilization for at least a week -- preferably a month -- before virtualizing so that you have enough data to truly understand your resource requirements.
This enables you to ensure that you size your virtual hosts correctly and choose the appropriate hardware. VMware's Capacity Planner tool can be used to assess your current environment and ensure you build your virtual hardware correctly.
|Architect hardware correctly|
A crucial decision when choosing hardware for virtual hosts is choosing a storage subsystem, as Domino is very I/O intensive. Using the wrong type of storage can result in a bottleneck that will reduce server performance.
Fibre Channel storage area networks (SANs) offer the best performance, but iSCSI SANs are also a good choice. If you choose an iSCSI storage solution, it's helpful to use a hardware initiator because it offloads the overhead from your host's CPUs.
Note: Using a network file system (NFS) storage solution is not recommended when virtualizing Domino servers.
You should try to use the fastest RPM hard drives that you can. RPM drives that reach 15,000 will help reduce latency and improve disk operation performance. These will also result in higher I/O operations per second and decreased average seek times. You should also configure RAID groups with as many spindles (drives) as possible. This ensures that disk I/O is balanced across several drives.
If you use local storage for Domino servers, try to get the largest cache possible on your disk controller and use a battery-backed write cache (BBWC). This will provide increased performance and write cache data protection.
When it comes to CPU, ensure that you have enough cores available on your host server to handle a vSMP Domino server virtual machine (VM). If you plan to use a four vCPU VM, your host server should have more than four cores available. Otherwise, the hypervisor's CPU scheduler component will have difficulty finding free cores when trying to schedule the CPU time for the VM. This will result in slow performance.
Plan on at least double the number of cores compared to the greatest amount you will assign to any VM. For example, if you're using a four vCPU VM, make sure you have at least eight cores (i.e. two quad-core CPUs). For a two vCPU VM, you need at least four cores (i.e. two dual-core CPUs).
Domino servers prefer a large amount of memory, so make sure that your hosts have adequate physical RAM available. However, it is possible to over-commit memory on a VMware ESX host. Be certain that you don't run out of physical memory or your VMs will start switching to disk and performance will suffer.
When it comes to network interface cards (NICs), make sure you have enough to ensure that there is adequate bandwidth available for the Domino servers. Domino servers can generate a tremendous amount of network traffic as users and servers replicate with the mail router during email delivery.
You should also try to isolate client traffic on separate NICs from the host server traffic. Be sure that you have enough physical NICs to accommodate this. NICs are fairly inexpensive and you can get up to four on a single physical card, so you don't want to skimp here.
|Configure physical and virtual hardware|
After you've planned the physical hardware, you must make sure that you configure it --- and your virtual hardware -- properly. Here are some tips to do so:
- When assigning vCPUs to a VM, don't go overboard. Most small to medium Domino workloads will run fine with a single vCPU. Larger Domino workloads work best with two or more vCPUs, as Domino is very multi-threaded. You may have to test configurations to find the number that is right for your hosts.
You can always add more vCPUs later, if necessary. The fewer vCPUs that a VM has, the easier it is for the hypervisor to schedule CPU time. You should also set CPU reservations for use shares to ensure the Domino server has priority access to host CPUs.
- When assigning virtual memory to a Domino server VM, make sure to allot enough memory based on its needs. You don't want to starve the VM if it needs more memory. Try not to use too much, as this can be a waste of valuable resources. You'll also want to set memory reservations to guarantee that the VM can access physical host memory and will not swap to disk if host memory is exhausted.
- When creating vSwitches for Domino server VMs, create separate ones for client traffic and for Domino server traffic. Isolate all replication and mail routing traffic between Domino servers from the client traffic. You should also avoid connecting a single Domino server to both internal and external networks.
If you want to access Domino servers from the Internet, create a separate vSwitch for external access only and connect your Domino server only to that vSwitch. Users can then use the Domino pass-thru feature to connect to internal Domino servers.
If you intend to use iNotes, you'll want to do one of two things:
- Isolate a Domino server in your data management zone (DMZ) and have it replicate user mail files with internal Domino servers.
- Use a reverse proxy server to have users access their mail files on internal Domino servers from the Internet.
- When configuring virtual disks for your VMs, there isn't a big performance difference between using raw-device mappings (RDMs) and traditional virtual disks on VMFS volumes. I recommend using traditional virtual disks.
You should also plan to use multiple virtual disks on Domino server VMs that are divided onto multiple physical logical unit numbers (LUNs) or RAID groups. Make sure to put your OS, Domino databases and transaction logs on separate virtual disks.
- Be sure to align your VM file system and guest disk partitions for maximum throughput and minimum latency. Read VMware documentation to better understand how to do this. The company's article on aligning disk partitions to boost virtual machine performance can also be helpful. You may also want to to boost performance.
|ABOUT THE AUTHOR:|
This was first published in April 2009