My name is Michael Hesse and I am responsible for the technical side of the SAP Alliance. I have spent the last four years on how to run SAP solutions on VMware and convincing SAP that it works well and even is a good thing. I would like to pass on to this community some of the recommendations we have developed during all our test cycles.
In general you can treat a virtual machine just like any standard server. All the recommendations for configuring your server, storage and OS are equally applicable to the virtual machine. From my experience, if you follow these guidelines your SAP solutions will run smoothly on VMware ESX Server.
There are some recommendations that are specific to setting up your environment so it works well with VMware software. The first four recommendations are valid for both Windows and Linux guest operating systems:
1. Use the latest processor generations (Core2duo or Quad from Intel Xeon 51xx,53xx, Rev. E/F or Barcelona from AMD), due to their enhanced support for virtualization.
2. For optimal results use virtual machines with one or two virtual CPUs. It is possible to use four virtual CPUs if your workload requires more processing power, but performance-wise two virtual machines allocated two vCPUs each will give better throughput.
3. Follow the SAP rules for setting up file systems for your database installation. These include:
Distribute database files over different physical/virtual disks.
Separate log and db files.
Use at least two separate VMFS (VMware Filesystem) volumes to create the virtual disks.
If you are planning to use Storage based Backups (Snapshots/Clones) we recommend to put the Database files on Raw Mapped Luns (RDM) and all the other parts on standard virtual disks. This way you get easier integration with the Storage based tools.
Distribute SAP large tables onto their own disks (LUNs) to use some of the database specific features like parallel load or queries etc for improved performance.
4. Don't over-commit memory! With VMware it is possible to assign more virtual memory to the virtual machines than there is physical memory available in the host. This practice is not recommended at all with SAP solutions. SAP allocates memory permanently and does not release it again. To enforce this policy, we recommend setting the "Memory Reservation" to the amount of memory configured for the virtual machine. This will ensure that the virtual machine with the SAP instance will always have the full amount of memory available. The same can be done for the "CPU Reservation," but we recommend enabling this only in case of performance problems, since the reserved resources are not available to other virtual machines any more.
The following recommendations are specific to Windows guest operating systems:
5. Install VMware Tools to avoid time conflicts. We also highly recommend that you use NTP (Network Time Protocol) on the ESX Server host machine.
6. If you are using SQL Server as the database, use "fixed memory allocation" to avoid the allocation overhead of "dynamic" memory allocation.
7. For CPU-bound systems with sufficient memory resources, use the SAP flat memory model with memory protection (mprotect) switched off. For more details on this configuration, see SAP note 1002587. This configuration yields the best performance and repsonse times.
8. For memory bound systems, use the classical SAP view memory model. To improve performance for this configuration, implement Microsoft hotfix 931308 (see http://support.microsoft.com/kb/931308).
These recommendations have also been documented in the SAP Notes:
1056052 for Windows
122388 for Linux
Here is a list of the SAP Notes relevant to VMware:
1122388 Linux: VMware ESX Server 3 configuration guideline
1056052 Windows: VMware ESX Server 3.0 configuration guideline
674851 Virtualization on Windows
895807 SAP support in virtualized SAP Environments
1104578 Virtualization in Windows: Enhanced monitoring
1122387 Linux: Supported virtualization technologies with SAP
171380 Linux: Released IBM hardware (Intel and AMD processors)
300900 Linux: Available DELL hardware
1002587 Flat Memory Model on Windows
597470 Linux: Released Sun Microsystems hardware
1019567 Corrections for new operating system monitor
Another very good place to look for VMware best practices is:
And last but not least, VMware has recently published a new paper, Best Practice Guidelines for SAP Solutions on VMware® Infrastructure. You can find it on the SAP portal on the VMware web site.