Table of Contents
As organizations continue to try to optimize and leverage their hardware and infrastructure environments, virtualization is becoming a larger footprint for many mail and application server deployments. Virtualization can be one method of reducing TCO (total cost of ownership). This article provides some best practices and guidance for deploying Domino servers on a virtualized VMware architecture.
It is worthwhile pointing out that by virtualization alone, it is unlikely that a TCO reduction will be achieved. This is because the number of Domino servers remains the same and so does the Administration effort required. Furthermore there is another (host) operating system to tune and maintain. Organizations may find TCO reductions can be realized more effectively by implementing new Domino features, such as DAOS and ID Vault, or Domino server consolidation (hosting more users on the same server).
The Pros and Cons of Virtualization
The potential benefits of deploying Domino in a virtualized environment include:
- Organizations can reduce the physical footprint required for supporting a server consolidation effort. You can run two mail servers on one physical server.
- Organizations can leverage a higher amount of a server's total resources.
- Migrating from physical hardware to virtualized hardware has little impact on the users. Whereas migrating users to consolidated Domino servers can require from template changes to hard-coded server references, and/or changes to users' desktop configuration.
- From a disaster recovery perspective, it can allow for an image to be brought up on another VMWare server very quickly and communicate with the Domino Data, DAOS and Transaction logging storage as if it were on the same physical server.
These potential benefits, however, do come with costs. Organizations must consider the following facts:
- There is a hardware resource overhead to provide the virtualization.
- More Domino server virtual machines (VMs) typically mean higher disk and network I/O, channelled to a single physical server.
- Some configurations can lead to dynamic guest resource allocation. This can lead to resources being shared across VMs.
A key to vitalizing your Domino servers is to ensure that the architecture within the virtualized systems is static and dedicated. For example Disk I/O for Transaction logs, DAOS, users’ mail files and networking functions should all be dedicated for each Domino server. This is in order to optimize the I/O performance channels and minimize the impact that the virtualization may have any virtualized node (or guest).
Ensure hardware resources are isolated and dedicated to the VM guests. Do not use VMware configurations such as memory over commit, ballooning or dynamic VM balancing as this can lead to stability / performance related problems for the Domino application.
Best Practices for Guest VM
The following points are designed to be templates for a starting point in sizing Domino mail servers.
- The number of vCPUs per VM depends on the number of users to be supported.
- Try not to over-provision vCPUs of Domino guest. 4 CPUs should be fine in most cases.
RAM for Domino allows it to cache more data. The operating system does I/O caching too, which improves the overall performance. IBM Software Services for Lotus recommends 4GB of RAM per Domino Server.
- Improved memory limits in 64-bit OS helps cache more data, and thus avoid disk IO. Reduces response times, and hence increasing the number of users.
- Increase VM memory when running in 64-bit guest OS. Recommend each VM to have 8 GB allocated for guest OS and Domino Application.services.
Storage architecture may be a bottleneck due to the number of servers and volumes per LUN. To optimize the storage architecture, do not use shared LUNs. This means each volume (such as notesdata or transaction log drive) is mapped to one set of spindles and are unique to each Domino server.
Use Fiber Channel disks when ever possible, 4Gb or better is recommended. 2Gb is supported but has limited bandwidth for Domino Mail servers.
- Use VMFS and use Virtual Center to create partitions
Use separate, dedicated LUNs for OS/Domino, data and transaction logs
- Separate the IO at physical disk level, not simply logical LUNs
- Make sure these LUNs have enough spindles to support the IO demands
- Fewer spindles or too many VMDK files on single VMFS LUN can substantially increase disk IO latencies
- Best performance using RAID 1+0 for Data, RAID 0 for Log
- Raid 5 can cause write queues to build up on slower Storage solutions i.e. iSCSI, Hardware Storage or software-based RAIDs.
To optimize the network access, do not share physical network interfaces controllers (NIC) with different Domino servers. Use dedicated NICs based on the network traffic:
- Use separate NICs for mail and cluster replication traffic.
- Use Enhanced VMXNET 2 or 3 driver or higher with TSO and Jumbo Frames support.
- Use NIC Teaming & VLAN Trunking if available - Note, Network teaming not always the best way.
Note: Co-located VMs outperform physical 1Gbps network speed
VM Time Synchronization
- Use VMware Tools time synchronization within the virtual machine
- Enable NTP daemon to sync with external NTP source (using vSphere client)
- Disable OS Time Service
- Windows: w32time service
- Linux: NTP daemon
Do not set limits for Domino resources. As the Domino servers are virtualized, they should be done as Static resources for each Domino Mail Server.
Never use Ballooning for Domino servers. Domino allocates and uses the memory on startup based on what it sees. This means Domino servers will build cache pools, based on the total memory physically allocation. If you use ballooning you can remove or compromise these configurations and cause Domino to slowdown, hang or crash.
- In production environments ballooning should always be 0 for optimal performance.