Count me in as one of the many Administrators that finally got around to moving from Exchange 2003 to Exchange 2007. Yes, it’s almost 2010, and probably just a few months away from the release of Exchange 2010. I never disagreed with Microsoft’s decision to release Exchange 2007 as a 64 bit only application. It’s just that it made it incredibly difficult to find a way to transition when your infrastructure is full of physical 32 bit servers. I was constantly reminded that my Exchange 2003 server was brittle, a resource hog, and lacked many of the abilities that the end users and applications were demanding. Twenty-five minute reboots, and inexplicable behaviors did not instill confidence. It was time to make the move.
My timing couldn’t have been better. I have a new virtualized infrastructure powered by some Dell blades, running VMWare ESX 3.5 using a Dell/ Equallogic PS5000 SAN to help with this transition. It didn’t take away from the normal shrewd planning necessary on a project of this nature. It just made it easier. The other benefit to deploying 3 year old software is that issues, workarounds, and fixes to Exchange, as well as how to make it play nicely with other components (ISA, CRM, etc.) were well documented.
With respect to running Exchange 2007 in a virtual environment, I noticed information on sizing is difficult to find. Capacity planning guidelines still reflected deployments with physical servers (read: more is better), and white papers on virtualizing Exchange appeared to have the intended audience of large enterprise environments only. My environment is relatively small, and a single server was going to be handling all Exchange roles. Based on my environment of about 50 users and 100 mailboxes, I sifted through all the material I could find, threw in a few wild guesses, and decided with the following configuration.
- 1 vCPU
- 2.5GB of RAM
- Primary OS resides in VMFS volume on the SAN
- Using guest OS based iSCSI initiator with MPIO enabled, dedicated NTFS volume for Exchange database.
- Using guest OS based iSCSI initiator with MPIO enabled, dedicated NTFS volume for Exchange transaction logs.
The transition occurred over one weekend, while the remainder of the outstanding issues were cleaned up throughout the week. A moment of embarrassment occurred when I realized my thorough planning never took into consideration that the “move mailbox” function would hit the transaction logs so much. I didn’t see it until it was too late. The partition for the transaction logs filled up and the services shut down. But, thanks to the ease of handling storage with the SAN, I was able to create a new LUN, initialize it in the OS, and change a couple of drive letters. Ran a backup to commit the transaction logs to the database, and I was back in business. The only puzzle that took me far too long to figure out was getting the AutoDiscover function in Exchange 2007 to work as intended. It is worthy of it’s own post at another time.
As far as performance goes, I couldn’t be happier with it running as a VM. I truly didn’t know how it would react under the settings I established, and was ready to make whatever changes necessary, but it has been performing very well. Below are some very simple utilization numbers to give you an idea.
CPU: Hovers around 50% utilization during the day, and around 15% utilization during off hours. CPU Ready values range anywhere from 20 to 200 milliseconds. This VM has just 1 vCPU assigned to it. I wanted to keep it this way if possible, so that it could use the “Fault Tolerant” feature of vSphere when we upgrade. Looks like I get my wish.
RAM: Typically runs about 50% of the 2.5GB assigned. No higher than 75% utilization during the busiest time of the day, and 15% utilization during off hours
Network: Runs about 1.2 MBps. Spikes of 40 MBps occur only because of some on-host backups occasionally occurring. Bandwidth utilization is imperceptible during off hours.
Disk I/O: Hard to gauge, but mostly because the need seems to be so low. The OS partition coming from the VMFS volume might show 200KBps, but has bounced up to 7MBps on occasion. No performance data yet on the drives connected via the guest iSCSI initiator. I think they qualify as “fast” until I find anything that suggests otherwise.
Perception: You won’t find this on any ESX or OS performance monitor. But it’s importance cannot be underestimated. I had about half of the staff comment about how much snappier their Outlook clients and OWA was working for them. I never have staff stop by and offer random comments telling me how fast something is. It’s a nice compliment to the improvements of Exchange 2007, and what it is running on.
No more painfully long restart times for me now. It’s one of the more overlooked benefits I’ve noticed while moving my systems over to my new infrastructure. Planned server restarts are a part of responsible management of IT systems. Anything that can be done to reduce any interruption is appreciated. A two minute restart is always welcome
It probably goes without saying that I took great joy decommissioning the old server. Hopefully this will be me in a good position when Exchange 2010 comes off the presses.