After deciding to virtualize your Domino servers, you should configure them for optimum performance. In this tutorial, contributor Eric Siebert shares tips on Domino server placement, memory usage, monitoring and more to ensure you get the most out of your virtualized servers.
|Why Domino server placement is important|
Lotus Domino servers are resource intensive, making their placement on virtual hosts extremely important. You'll want to avoid placing too many servers on a single virtual host. It's also best to divide virtual machines (VMs) between all of your virtual hosts. If your hosts are in a cluster with VMware Distributed Resource Scheduler (DRS) enabled, your Domino servers may be automatically moved around between hosts in the cluster, based on resource usage and availability. However, DRS only uses CPU and memory resource usage to determine VM placement; it does not take disk or network usage into account.
Domino servers typically have heavy disk and network usage. Therefore, DRS may place too many VMs together on the same host because it's using CPU and memory usage -- not disk and network usage. This may create disk and network bottlenecks on your virtual host servers.
To prevent this, use DRS affinity rules to keep specific Domino servers from being placed on the same host. These rules ensure that the VMs you define will always be placed separate from one another (Figure 1).
Note: Don't create too many rules, as they might make it difficult for DRS to function properly. Additionally, you can set the automation level for your Domino servers to disabled so that they won't automatically be moved to other virtual hosts.
|Stagger server tasks and disable unnecessary tasks|
Domino servers have several individual tasks that perform various functions such a calconn, IMAP, SMTP and billing. Many of these tasks are enabled by default and consume server resources on a virtual host where VMs compete for limited resources. You should disable any unnecessary tasks to reduce resource usage. Go through each task and decide if it's necessary for each Domino server. If it isn't, disable it. This will help reduce the resources that your Domino server uses.
Every Domino server has specific tasks that it runs daily and weekly to help maintain databases located on it. For example, the Design task, which runs nightly, updates database designs from templates. Other tasks include the updall and compact tasks. These tasks update views and reclaim white space from databases. Typically, these I/O-intensive tasks run during off hours.
In virtual environments where multiple Domino servers are located on a single host, having all the servers run these scheduled tasks concurrently can severely degrade performance of VMs running on that host. It can also affect the performance of VMs on other hosts using the same disk LUNs. To prevent this, stagger task start times on each Domino server.
In a virtual environment, one VM can have a ripple effect on other VMs. Typically, this effect doesn't exist on physical servers because they don't share hardware components. You should always be aware of this when configuring and administering Lotus Domino servers in a virtual environment.
|Memory is important to Domino servers|
The memory usage of a Domino server can change over time as usage and loads increase and decrease. Domino servers use memory for a component called Unified Buffer Manager (UBM) to cache database information. The maximum memory space it consumes is based on available system memory. Therefore, it's essential to have enough free memory to allow UBM can grow when needed.
UBM won't consume all free memory on a server; it limits itself to conserve memory for other processes that may need it. VMware uses some advanced memory techniques to conserve physical host memory.
One such technique is a memory balloon driver that installs inside the guest OS as part of VMware Tools. The balloon driver inflates -- uses more guest OS memory -- as memory contention and usage occurs on the host (Figure 2). When it inflates, it decreases the amount of usable memory inside the guest OS and to applications such as the Domino server.
In most instances, you want the balloon driver to do its job. On the other hand, the more free memory a Domino server has, the more caching it can do using the UBM. Check memory balloon statistics using VMware vCenter Server's built-in performance monitor utility.
A memory balloon value of 0 is a good indicator that your VM is not ballooning. Any value above that indicates that your VM is ballooning and you should consider moving it to another host with more free physical memory. You may also want to disable the balloon driver on the VM.
To disable the balloon driver, go into the Windows Control Panel -> Add Remove Programs, select VMware Tools and click Change. You don't need to remove the tool, but you do need the other VMware Tools drivers.
When the wizard opens, select Modify, then expand the VMware Device Drivers option. Next, select Memory Control Driver and then select Feature Will Not Be Available.
|Be sure to monitor your Domino servers|
Be sure to closely monitor the performance of your VMs and hosts using virtualization-specific tools (i.e. VMware vCenter Server, Vizioncore vFoglight or Veeam Monitor). These tools are aware of the virtualization layer and are more accurate than typical OS performance monitoring tools. This is particularly important on Domino servers, since they typically have heavy usage across all host resources.
Be sure to apply standard Domino performance-tuning settings and parameters to Domino servers to ensure that they're running as efficiently as possible. At this point, you should be able to take full advantage of all the virtualization benefits on your Domino servers.
Note: Not all resource bottlenecks are obvious. If you don't look for them, you may not be aware of them. Identifying bottlenecks and performance problems is critical to the health of your Domino server. It will also help to ensure the best possible user experience.
|ABOUT THE AUTHOR:|