W2K Cluster Upgrades: Apps Will Work But Why Hurry?

Eyeing those Wolfpack clusters in your Windows NT 4.0 domain for possible upgrades to Windows 2000?

The official word from Microsoft Corp. (www.microsoft.com) is the incremental upgrade of failover clusters on Windows NT 4.0 Server, Enterprise Edition, to Windows 2000 Advanced Server in an otherwise Windows NT 4.0 domain might make sense.

Advanced Server promises substantial performance benefits over Windows NT 4.0 Server, Enterprise Edition, and Microsoft and ISVs say many current cluster-aware applications run just fine on Advanced Server.

But the road to two-node failover clusters in Windows 2000 Advanced Server is fraught with tricks and traps. Rushed into and handled badly, migrating before applications are certified and bugs are worked out could leave users with low-availability clusters and little support.

"There are many additional features that you find in Advanced Server that aren’t there in Enterprise Edition that customers could take advantage of," says Mark Hassall, a Microsoft Windows 2000 product manager who specializes in Advanced Server. New features in the core operating system include a bounce in addressable memory to 8 GB and kernel enhancements.

As in the above examples, most of the potential benefits have to do with Windows 2000 or Windows 2000 Advanced Server, not advances in Microsoft’s clustering technology.

"I think you will see improved speed of failover because of the general performance of Windows 2000, but not specifically on the clustering side. Improvements to the TCP/IP stack, for example," Hassall says.

In fact, much of the clustering technology is identical between Enterprise Edition and Advanced Server. Because the main ClusterAPI is the same, many applications that run on Microsoft Cluster Service (MSCS) run on Windows 2000 Advanced Server.

Microsoft’s SQL Server 7.0, Enterprise Edition, database server and Exchange Server 5.5, Enterprise Edition, messaging server work on Windows 2000 Advanced Server, according to Hassall.

Other ISVs say their cluster-aware applications written for Enterprise Edition are currently running on Advanced Server in their labs without tweaking. Some report facing a lot of work to comply with Microsoft’s certification requirements for Windows 2000, which places strict demands on the way a vendor’s application installs itself.

In addition to the general Windows 2000 certification requirements, the Microsoft certification specification for Advanced Server will require that applications be able to install on two nodes. To pass certification, clients must also survive failure of one node of the server application without crashing or becoming unstable. Windows 2000 Datacenter Server, a higher-end version of the operating system expected to ship sometime around June, will support four-node clustering. The Datacenter logo program will be bestowed only on applications that install on four nodes, support failover to all cluster nodes, and don’t take clients down with failed servers.

Certification logos will be slow to appear on ISVs products, though. Microsoft has promised only 100 certified applications by June, and an overwhelming majority of those certifications will probably come on desktop applications designed for Windows 2000 Professional.

Users who can’t wait for cluster-aware applications to be certified would probably be wise to wait at least until the vendor declares the application Windows 2000 Advanced Server Ready, signaling a willingness to support customers who migrate their clusters. Of major cluster-aware applications, Microsoft has crowned Exchange Server and SQL Server as Advanced Server Ready, and IBM Corp.’s DB2 Universal Database also makes that claim. Lotus Development Corp. plans to certify its Domino family of messaging servers for Advanced Server later this year. Oracle Corp., Sybase Corp. and SAP AG haven’t declared their status on Microsoft’s Web site yet.

In the spirit of high-availability, Microsoft is emphasizing a new way to upgrade clusters to Windows 2000. Dubbed the rolling upgrade, the procedure calls for an administrator to pause one node of a cluster and fail its resources onto the second node. The second node continues all services while the first node is upgraded to Windows 2000 Advanced Server. When the upgrade is complete, the administrator pauses services on the second node, failing all the cluster resources to the first node. The second node is upgraded, and the cluster is running Windows 2000 Advanced Server on two nodes.

"The system downtime caused by a rolling upgrade is so small that administrators can decide to perform a rolling upgrade during a working day instead of performing it late at night or on weekends," Hassall says.

Clients lose access to the services only during failover. (Unless, the working node fails while the other node is being upgraded). If the Windows 2000 Advanced Server installation is a flop, the cluster resources can fail back to the NT 4.0 machine until the administrator gets the system working again. As an upgrade, the cluster doesn’t need to be reconfigured.

If the rolling upgrade sounds a little too good to be true, it may be. Both nodes of the Enterprise Edition cluster must be running Service Pack 4 or later. All hardware and drivers in the original cluster must support Windows 2000. Finally, the application has to support rolling upgrades.

The list of rolling upgrade resources is so short right now it doesn’t include SQL Server, Exchange, or any third-party applications. Supported resources include the file share, the IP address, the network name, physical disk, time service, Internet Information Server 4.0, and some configurations of Message Queueing services.

Microsoft was unable to provide a ballpark estimate for the percentage of Wolfpack clusters on the market that might support a rolling upgrade.

Microsoft offers several less available upgrade options for the rest of the clusters in the world. Users can take some resources offline before the rolling upgrade; upgrade the cluster service without maintaining cluster availability; or perform a clean installation of the operating system.