As you may have read in our Exchange Server 2007 and Windows Server 2008 blog post, the RTM version of Exchange 2007 cannot be installed on Windows Server 2008, but Exchange 2007 Service Pack 1 (SP1) will be supported for installation on Windows Server 2008. Here's the tricky part: Exchange 2007 SP1 can be installed on Windows Server 2008, but Windows Server 2008 cannot be installed on Exchange 2007 SP1. This means that all computers running Exchange 2007 SP1 must have Windows Server 2008 already installed before Exchange can be installed on the system. This also means that you cannot take an existing Exchange 2007 server (RTM or SP1) running on Windows Server 2003, and do an in-place upgrade of the operating system to Windows Server 2008.
Or can you?
I decided to give it a try myself (so you don't have to – please don't try this at home, or at work). I was completely undeterred by the many technical reasons why an in-place upgrade of the operating system cannot be performed on an Exchange server. For example:
Of course, these are blockers that directly affect Exchange. There may be additional technical barriers for 3rd party applications (such as those applications not being tested or supported on Windows Server 2008).
Because the cluster issue was a hard blocker, I used a standalone Mailbox server running Exchange 2007 SP1, and upgraded the operating system from Windows Server 2003 to Windows Server 2008. Except for one hard-block as noted below, the operating system upgraded with minimal intervention from me and clearly demonstrated to me that the Windows team has done a great job with their operating system upgrade process. Unfortunately, though, after the operating system upgrade completed, Exchange was broken beyond repair.
During the operating system upgrade, the only hard-block I encountered (and perhaps the only one that others will encounter, depending on what is installed on the Exchange server) was Windows PowerShell. You need to remove Windows PowerShell before you can perform an in-place upgrade of Windows 2003 to Windows 2008. The upgrade will not proceed if PowerShell is still installed. Removing PowerShell out from under the Exchange Management Tools requires a reinstall of Exchange, because once you do that the Management Tools are completely broken on the system. But I didn't care that Exchange was broken at this point, and there was nothing stopping me from moving ahead. So I ran through the upgrade and Windows 2008 got installed.
That's when things went really bad. When the system came back up, only one of the Exchange services started: the AD Topology service. Others did not start because a core dependency service for them, NtlmSsp, does not exist in Windows 2008. Not to be deterred, I went into the registry, removed the dependency listing for NtlmSsp, and rebooted the system. That got other services to start, namely the System Attendant, Search Indexer, and the Store. But all of the other services started crashing on startup (Mail Submission service, Replication service, Exchange Search service, and Service Host service).
Still, I had some services running, so I proceeded with installing the Windows 2008 pre-requisites on the box. After those were installed, Exchange was not in any better shape. Next, I right-clicked the ExchangeServer.MSI file in my install tree, and chose Repair. Setup ran through the repair process, but it ended up making things worse. Services that were starting no longer started, and the system didn't provide any clues as to what to try to fix next. All I had were event log entries showing that the process for each failed service was crashing in Kernel32.dll. Rebooting did get my three original services to start again, but none of the rest started, basically rendering the box dead from an Exchange perspective.
So, it was game-over for my standalone server. Because of the hard-block for mixed-OS failover clusters, there's no in-place operating system upgrade for clustered mailbox servers either. In other words, it's not supported and it doesn't work. You cannot take an existing Exchange 2007 server (RTM or SP1) running on Windows Server 2003, and do an in-place upgrade of the operating system to Windows Server 2008! Moreover, even if you do manage to get some or all of the Exchange services running, Microsoft Support Services cannot and does not support a server that is in this state, as the integrity of the deployment has been compromised beyond repair.
So how do you get Exchange 2007 SP1 on Windows Server 2008? There are three migration paths that you can use to do this:
We're currently working on documentation for each of the above migration paths, and we expect to have that content published around the time SP1 is released. And, we are also working on documentation that will help you recover as much data as possible if for some reason an in-place operating system upgrade of an Exchange server was done, which should not be done in the first place!
In the meantime, we encourage you to try out SP1 and Windows Server 2008 in your labs. Here's some fresh content and other useful links to help you get started:
- Scott Schnoll