May 25, 2011, 4:56 p.m.
posted by vdv
Windows Server 2003 is remarkably adaptable. The same server code can run on a whitebox Pentium 600 and a multiprocessor, multigigahertz powerhouse. The trick is to pick systems that run Windows Server 2003 reliably.
There is an old story that the inventor of chess was offered any gift he desired by a delighted Chinese emperor who had just learned the game. The inventor asked for a simple gift, to have a single grain of rice placed on the first square of a chessboard, then two grains on the second, four on the third, and so on. Using this progression, the emperor would need to put 18,446,744,073,709,551,616 grains of rice on the 64th square to fulfill the request, not to mention filling all the other squares first. As the story goes, the emperor decided it was simpler and cheaper just to execute the inventor. You may make a similar decision concerning your hardware vendor, depending on your Windows Server 2003 installation experiences.
No book could begin to cover the myriad combinations of hardware and software problems that might come up when deploying Windows Server 2003. This chapter contains advice on making basic configuration decisions that can cut down on the number of potential problems, or at least reduce the number to something less than 18,446,744,073,709,551,616.
Hardware Compatibility List
The newest, hottest machines might sell lots of magazines, but I think it's fair to say that system administrators value reliability, interoperability, and high-quality technical support over performance and slick features. This means buying systems and components that are certified to run Windows Server 2003.
Hardware vendors work with Microsoft to test and certify their systems and components. The vendors submit their test results to Microsoft's Windows Hardware Quality Lab (WHQL) along with sample hardware and the source code for the drivers. Technicians and engineers check the testing and often rerun the tests to validate the results. Details of this program are available at www.microsoft.com\hwtest.
Microsoft maintains a list of certified systems and components in a Hardware Compatibility List, or HCL. The most current HCL is available at www.microsoft.com/hcl. When checking the HCL, make sure you focus on the server version you plan on running and the expected configuration. Pay particular attention to component versions. You may have a SCSI controller that is only certified when used with a particular system.
If you really want to get into the nuts and bolts of the development and testing process, take a look at www.microsoft.com\hwdev. Microsoft's recommendations to hardware vendors for server specification are in the Hardware Design Guide. For the last word on driver development, go to the Open System Resources web site at www.osr.com. Here you'll find information from the engineers who teach the engineers at Microsoft.
Support for Certified Hardware
From our perspective as system administrators, the most compelling reason to buy logo-branded hardware is the support commitment that lies behind the logo. If you have a server problem that cannot be resolved by front-line technical support at Microsoft, it will be escalated to a point where support engineers will attempt to replicate your problem using the exact hardware and drivers you are using.
That being said, millions of servers that are not on the HCL run Windows-based server products without a hitch. The key to a satisfactory configuration is getting the vendor's support. If you plan on upgrading an existing system to Windows Server 2003, or you buy a new system that comes with an earlier server version pre-installed, make sure the vendor will work with you during and after the upgrade. This is especially true for older machines that might be unstable or lack the full range of features under Windows Server 2003.
Using Unsupported Hardware
If you have hardware that is not on the HCL, the Microsoft support representative will put forth a good-faith effort to resolve a problem with the understanding that a satisfactory conclusion is not guaranteed. In my experience, Microsoft technicians lean way over the line to help resolve problems involving unsupported hardware. You are not likely to be denied help with a DNS query failure because you are using an unsupported network card. On the other hand, you are not likely to get the full range of support for an ongoing database corruption problem if you use an unsupported RAID adapter.
No matter where you buy a system, check the vendor's web site to make sure that you have the most current Windows Server 2003 drivers for every component. Look for configuration tips in Microsoft's KnowledgeBase and the Microsoft public newsgroups. A quick search of the Windows server newsgroups is always a good idea. Word of buggy drivers gets out fast. Why go through the same grief as hundreds of other administrators? Better to find new and unique sources of grief.
If you are upgrading your hardware in preparation for running Windows Server 2003, keep a close eye on the processor's L2 cache specifications. The newer processors have made significant improvements in onboard cache (L1) and bus-attached cache (L2) architecture. The Windows Server 2003 memory management subsystem uses L2 cache extensively, so it is a significant contributor to overall system performance.
In most circumstances, file and print servers can get by with the 256KB cache that comes on standard PIII CPUs. Application servers, however, benefit greatly from larger, bus-speed L2 cache on Xeon processors. The price tag goes up dramatically as you increase cache size, but the performance improvements scale linearly, as well. For example, Dell has released performance numbers for its PowerEdge servers in various L2 configurations. For more information, visit www.dell.com/us/en/gen/topics/power_ps4q99-L2cache.htm.
When purchasing IA64 systems, look for Itanium 2 (McKinley) processors with chipsets that support access to all the physical memory the processor can address. The L2 cache in an Itanium 2 processor is relatively puny but the L3 cache can range up to 3MB and runs at full processor speed.
Chipsets, Motherboards, and BIOS
The trade magazines often have bubble charts that show price/performance ratios between many different machines of comparable processor speed. The chipset plays a considerable role in determining a system's place on that bubble chart. Intel is the leading chipset manufacturer. Other leaders include:
The ultimate source for motherboard and chipset comparisons is Tom's Hardware at www.tomshardware.com. You can be sure of getting impartial data from Tom and his colleagues without wondering, as I often do, whether a four-page ad for a particular brand of server in a trade magazine had any bearing on its being chosen as a top-rated box. Another good source for hardware news and views is Earthweb's System Optimization Information web site at www.sysopt.com.
After you decide on a motherboard vendor, stick with its products for a while. You'll get to know its idiosyncrasies and can make diagnostic decisions should any problems come up.
If you are specifying hardware for a new server, you should not order less than 512MB of RAM. Adding memory to an older machine is often a hassle, so if you are upgrading an existing NT server, don't order more RAM until you upgrade and evaluate performance. You may find that the server operates just as fast or faster under Windows Server 2003 than it did under NT, thanks to the improvements in the code, thus eliminating the need for more RAM.
If you add more memory to a server to accommodate Windows Server 2003 and you cannot obtain memory that is an exact match to the existing memory, consider removing all existing DIMMs and installing new ones. This ensures that you won't have timing inconsistencies as you cross memory bank boundaries. This can cause subtle instabilities and may even lead to system crashes.
The drives and drive controllers you use can make as much or more difference in performance and reliability as processor and memory. If a budget battle forces you to pare down your wish list for a server, lean toward improving I/O before upping processor speed.
Your storage decisions are limited only by your pocketbook. In general, you need to decide on drive type, size, RAID configuration, and format.
The drive choice for servers typically boils down to SCSI versus IDE/ATA. Quite a few advances have been made in performance and storage capacity of IDE/ATA drives over the last few years. You can buy 100GB drives at your local Costco or Sam's Club for around $200, and the latest Ultra DMA specification now permits 133 MB/sec burst transfer rates.
SCSI drives deliver faster burst rates (up to 160 MB/s for the current spec, with 320 MB/s waiting in the wings) but the drives are considerably more expensive and high-performance SCSI interface cards cost several hundred dollars.
In spite of the attractive pricing, IDE/ATA drives suffer in performance because only one command can be pending at the bus controller any one time, regardless of the number of devices on the bus. This makes the bus controller a tremendous bottleneck on a busy server. Also, one of the IDE interfaces in a computer is generally given over to a CD-ROM or DVD device. These devices most often use Programmed I/O (PIO) rather than Direct Memory Allocation (DMA). Access to a fast DMA drive is slowed by waiting for PIO transactions if the CD-ROM drive is on the same bus. For desktops and small servers, fast IDE/ATA controllers and drives deliver acceptable performance, but for real performance you'll be happy you spent the money for SCSI.
If you have the budget and don't mind getting locked into a single vendor for your storage alternatives, take a look at Fibre Channel controllers and drives. The current Fibre Channel specification delivers 100MBps (that's megabytes per second) of full-duplex data transfer, which blows even ultraSCSI into a crumpled garbage pail, with 500MBps coming up real soon now. Also, high-end Fibre Channel controllers support dynamic changes to storage configurations, enabling you to add gigabytes onto a volume just by slipping in a disk and updating the settings.
Give the operating system at least 3GB, with 4GB being preferable. Pay particular attention to the size of the system volume on a system running Application-mode Terminal Services, where user profiles are stored in the system volume by default. It's possible to fill up the system volume very quickly with temporary Internet files and user files saved to their local profile.
If you make the system partition too small, or fill it up with non-system files, you take the chance of fragmenting the NTFS Master File Table (MFT). This has a severe impact on performance. Normally, the MFT is protected by a buffer zone of 25 percent of the volume, but the system does not notify you if you puncture this buffer zone, so you won't know you have a problem until you try to defragment the volume and find that your MFT has broken into many pieces.
Windows Server 2003 avoids many of the MFT fragmentation problems in earlier versions because it formats the boot partition directly as NTFS rather than converting the partition after files have been copied to it.
Continuity of service is a prime consideration when building a server. For storage, this means using fault tolerant disk subsystems wherever possible. This includes mirroring, RAID 5 striping, or RAID 0+1 stripe/mirroring.
Windows Server 2003 uses a Logical Disk Manager (LDM) subsystem, licensed from Veritas, to control fault tolerant drives. LDM supports RAID 1 mirroring and RAID 5 parity striping. It also supports two configurations that are not fault tolerant: RAID 0 striping and volume spanning. LDM does not support RAID 0+1.
You can mix and match SCSI and IDE drives in the same drive set, although this is not recommended because it generally slows down the array.
One of the most significant changes in Windows Server 2003 compared to Windows 2000 in this area is the total lack of support for legacy fault tolerant (FT) disk sets. Windows 2000 would convert legacy FT disk sets to dynamic disks and incorporate them into the Logical Disk Manager (LDM) database. In Windows Server 2003, you must remove all FT disk sets prior to upgrading. Chapter 2, "Performing Upgrades and Automated Installations," has more information on this requirement. There is a utility called FTONLINE that can recover an FT disk set if you forget to remove it first.
Under most circumstances, you are better off using hardware RAID than LDM. A good RAID controller gives you hot-swap capabilities, hot spares, and dynamic expansion, none of which is provided by LDM. Also, hardware RAID controllers do a much better job of detecting cascading sector failures. Finally, top-of-the-line RAID controllers support RAID 0+1, or mirrored stripe sets. This gives you the best of both worlds: the speed of RAID 0 and the fault tolerance of mirroring. You'll spend more for the drives and enclosures, though.
What's the bottom line? Use hardware RAID if you can afford it and software RAID if money is tight. If you opt for software RAID, you'll get better performance with SCSI compared to IDE because of the multitasking capabilities of the SCSI interface. You'll also get better performance by using multiple SCSI channels for your array rather than putting all devices on the same SCSI bus.
You'll be happy to know that Windows Server 2003 Setup supports formatting partitions as NTFS as part of Setup without initially formatting them as FAT and then converting. This avoids many of the fragmentation problems in earlier versions. There is also a quick format option that skips the sector scan of a normal formatting to speed up installation.
I recommend using NTFS for all partitions on a server. This gives you security, stability, and scalability. FAT32 has a performance edge over NTFS in terms of raw lookup speed for small partitions, but this does not make up for its fragility and fragmentation problems. You can choose to convert a FAT or FAT32 partition to NTFS during or after Setup. If you format as FAT or FAT32 using Windows Server 2003 Setup, the conversion utility will permit you to change the cluster size.
Some administrators shy away from NTFS because of the difficulty in booting to a floppy to access files. Windows Server 2003 incorporates a Recovery Console that permits booting to a command prompt and accessing an NTFS drive. Armed with the Recovery Console, you can join Oprah and say goodbye to FAT forever.
Removable Media (CD-RW and DVD-RAM)
Windows Server 2003 supports writing directly to removable read/writable media such as CD-RW and DVD-RAM. The CD writing engine uses file-based technology. This contrasts with packet-based products such as EZ CD Creator from Roxio (www.roxio.com), CDRWIN from Goldenhawk Technologies (www.goldenhawk.com), and Nero from Ahead Software (www.nero.com). (Microsoft licensed portions of the CD writing engine from Roxio. Roxio is a subsidiary of Adaptec, Inc.)
Windows Server 2003 introduces a new image writing API, IMAPI, for interfacing with read/write removable media such as CD-R, CD-RW, and DVD-RAM. You can get more information about this API from www.microsoft.com/hwdev. For general information about CD-R technology, visit www.cdrfaq.org. It's a great site with well-groomed, current topics.
Windows Server 2003 supports the Joliet extensions to the ISO 9660 standards for CD-ROM, which enabled long filename support. If you have a DVD-RAM, the system can format the disk using FAT32, giving you lots of flexibility in how you use the media. DVDs can also be formatted using UDF 1.5, the industry standard for DVD formatting.
IA64 Storage Configuration
If you are installing the IA64 version of Windows Server 2003, you must configure the boot drive to use a GUID Partition Table, or GPT. The GPT formatting method is part of the Extensible Firmware Interface (EFI) specification from Intel. GPT replaces the Master Boot Record (MBR) formatting scheme used in classic Intel computers.
Each partition on a GPT boot disk is assigned a Globally Unique Identifier (GUID) and a type designator. There are no hidden partitions or special disk structures, no strange rules for logical drives in extended partitions, no arcane machinations to support hidden OEM utilities.
A GPT disk has a small partition table at the start of the disk with a mirror copy at the end of the disk. Unlike a classic MBR-based partition table, which is limited to four entries, a GPT disk can have 128 partitions. This gives you quite a bit of flexibility in structuring large disks or disk arrays. A typical boot disk will have these partitions:
Managing Files Stored in the ESP
If you have multiple copies of Windows Server 2003 or XP on a machine, each one gets a separate folder in the ESP. For example, the second copy would get the path \EFI\Microsoft\WINNT50.0 and the third copy would get \EFI\Microsoft\WINNT50.1, and so forth.
EFI Boot Manager ver 1.02 [12.36A] Please select a boot option: Microsoft Windows Server 2003 Standard Edition Acpi(PNP0A03,0)/Pci(5|0)/Mac(0003478991556) EFI Shell [Built-in] Boot option maintenance menu
LoadIdentifier = Microsoft Windows Server 2003, Standard Edition OsLoadOptions = EfiOsLoaderFilePath = HardDiskVolume1\EFI\Microsoft\WINNT50\ia64ldr.efi OsLoaderFilePath = HardDiskVolume2\WINDOWS
The individual NVRAM entries are not visible directly from the EFI shell. Microsoft provides a utility in the EFI System Partition called Nvrboot.efi for managing Windows entries in NVRAM. The operation of this utility is covered in Chapter 3, "Adding Hardware."
GPT Drive Sizes
GPT drives can contain 264 logical blocks. A logical block generally contains one sector, or 512 bytes, yielding a capacity of a phenomenal eight zettabytes. (See physics.nist.gov/cuu/Units/prefixes.html for a list of scientific notation prefixes.) However, Windows Server 2003 sets a maximum volume size of 16 exabytes, corresponding to the limits of NTFS. This may not seem like much of a limit, but just wait until the next version of Microsoft Office comes out.
A GPT disk cannot be read by standard MBR-based utilities. This can lead to problems for utilities that perform automated processes on unpartitioned drives.
To protect a GPT disk from corruption by these utilities, the GPT specification includes a protective MBR. This is an MBR placed at Sector 0 of the disk with a single partition table that spans the entire disk (or the maximum allowable MBR disk size, whichever is smaller). If a utility makes a change to this structure, it will not prevent an IA64 server from accessing volumes on the disk.
Partitioning GPT Disks
GPT disks are partitioned using the EFI firmware on the system or by an IA64 version of Windows Server 2003 or XP. Standard IA32 versions of Windows Server 2003 and XP cannot read or write to a GPT disk. IA64 versions can read and write to an MBR disk but they must boot from a GPT disk. Earlier versions of Windows cannot read, write, or boot from a GPT disk.
Removable media cannot be partitioned as GPT disks. An IA64 system partitions large capacity cartridge drives such as Jaz, Zip, and Orb drives along with magneto-optical disks and superfloppies. A superfloppy disk can have only one partition that can be formatted FAT, FAT32, or NTFS.