Tips for Virtualizing SAP

If you’re a follower of mine on Twitter (@eczerwin), you know that about 8 months ago I was transferred by my company from Chicago, USA to Zurich, Switzerland.  This mission has been exciting and a lot of fun – but it’s not easy.


The mission – Move roughly 12TB of SAP data over the ocean into two new datacenters running on new iron, with one weekend of downtime.  In the future keep your eyes open for another blog post on exactly how we completed this data move.


My personal goalVirtualize every possible server that comes over (or at least what the app owners will allow without having heart attacks).


After having a chat with the SAP app owners and trying to soothe their concerns we moved forward like this;  all SAP application servers and test DBs will be virtualized, while production DBs stay physical (it’s only 2 servers).  Oh well, a bit of a compromise but we are bringing the physical server count down to more than half of the current numbers.  For all you hardware geeks out there let me give you a quick rundown of what we are putting this environment on …

The Iron

  • 2 EMC VMax-  1 for full production the other for test/dev and SRDF/A Target roughly 70TB usable
  • 4 DELL R910s for Datacenter 1 – 128 total cores and 1.2 TBs total memory – Production Cluster
  • 4 DELL R910s for Datacenter 2 – 128 total cores and 1.2 TBs total memory – Test/Dev/Failover cluster


The Hypervisor and utilities

  • ESXi 4.1
  • vCenter 4.1 running on a Windows 2008 VM
  • Powerpath/VE (Just listed as supporting ESXi 4.1 about a week ago)


In addition to all this new gear, I still have not mentioned the infrastructure for the backups which will include a couple more SANs and more replication.  I don’t want to be too longwinded about that here. After all, we are here to talk about virtualizing SAP.

While doing all the design for slot size and etc, I was researching and found there were some special requirements to virtualize SAP in a supported fashion. Our SAP environment is running on Windows 2003 x64, so most of these requirements will relate directly to running SAP on Windows. (Also big thanks to @BasRaayman for good insight into a lot of this.)

First and foremost, SAP absolutely requires memory reservations.  Most of these servers have 48GB of memory so we needed a very large cluster design to have the proper amount of slot sizes (in this scenario with such strong hardware, I chose not to use resource pools).  The way SAP works is the app fully allocates the memory and doesn’t free it up as long as it is running.  If these servers don’t have the memory guaranteed to them 100% of the time they will most likely perform very poorly.

Secondly, there is some cloudy information out there about CPU reservations in SAP. I spent a while reading through many SAPNotes (which led to some confusion) and chatting with colleagues about it. In the end I decided to trust in what I had designed, and let the Hypervisor deal with the CPU scheduling. The important part in this is that you plan for capacity and design your cluster(s) very carefully. In my opinion, CPU reservations are not necessary.

Now, next up is something you will need to prod your SAP Basis Administrators about. There is a memory model setting inside of the newer versions of SAP that is important to set when running in a virtual environment.  If you are running Windows 2003, it should always be set to classical.  However, if you are running windows 2008 there are differences to take into account.  If you have a CPU bound system with plenty of memory resources, go with the Flat Memory model as recommended by SAP.  If you are memory bound, go with Classical.  This can be tricky and require some monitoring and tuning after it is already live. 

For the particularly high I/O VMs, I decided to use RDMs for the data volumes (these are mostly housing large SQL DBs). Now I know this is not required as VMware stated the speed difference is next to nothing. However, if I see later the performance is fine I can always convert them to VMDKs. Also by using the PowerPath/VE plugin we have true load balancing and multipathing back to the VMax Arrays. When I get around to testing the performance with and without PowerPath/VE I may write another blog post about just that!

In my opinion SAP is like any other tier 1 application – just with a few additional special requirements.  It can absolutely be virtualized, don’t listen to all the naysayers.  My biggest word of advice is to plan carefully and keep your capacity in check, then any other extra bumps in the road should not be too bad.


— Ed Czerwin

VMworld 2010 Sunday/Monday update


Well, my first VMworld experience started with a bang!  After some seemingly too-long flights and an interesting shuttle ride from the airport to the hotel, I made it!  I dropped off my stuff at the hotel  and went to register.  Thankfully, by 5:30, there was no one in line and the process was very quick.  I went back to the hotel and got connected with Scott Sauer and John Blessing (@ssauer and @vTrooper) and we headed over to the Thirsty Bear for the VMunderground party, WuPaaS.  I can’t say enough how great this event was, so thanks to all the sponsors, Sean Clark (@vSeanClark), and Theron Conrey (@theronconrey).  I had a chance to finally meet a lot of the VMware/virtualization twitterverse I’ve been talking to for the past year, which was really cool.  After the Warm-Up party, we moved to the Chieftan and continued chatting.

This morning, I grabbed some food in Moscone South and met up with Tommy Trogden (@StorageTexan) and Peter Selin (@pjselin) and headed to an informative session about View performance tuning and View Planner.  We tried to get into a storage session but it closed early because it was full.  We headed to an early lunch and then I spent some time in the blogger lounge.

So far, I am really impressed with everything, except for the lines.  What can you expect though, with 16,000+ people in attendance?

More to come….


Six P’s and None the Richer

Welcome Kelly Culwell!

Solution Architect, InterWorks

Kelly0070 (Small)

A few years ago, I attended a VMware classroom training session (I think it was VI 3 ICM) and learned a lot.  Unfortunately, I don’t remember the name of the instructor, but he included a bit of wisdom that I will carry with me always, and that is the six Ps … P’s … Pees … what have you.  Prior Proper Planning Prevents Poor Performance.  In some cases, the final two become Pissed-off People.  While this principle is applicable to every aspect of life, not just IT, it becomes crucial when planning the implementation of a virtualized environment.

I’ve talked about this concept many times before, and I think some of my co-workers are repeating it now as well.  You wouldn’t try to build a house without considering the foundation, the frame, the wiring, and the roof, so why would your infrastructure or the core of your business be any different?  I don’t know how many times I’ve looked at a new client or some other environment and immediately seen the effects of over-provisioning, or improper provisioning, of their resources.  Now don’t get me wrong–I am by no means claiming to be an expert on anything, but I’m good at some things, and I relate a lot of my experiences to my day-to-day grind.  The purpose of this post is simply to make people think.

Continue reading