dacs.doc electric

 

Build Your Own NT Server

Teach Yourself Insanity in 14 Days

By Jim Scheef

 

Windows NT Server 4.0 Box.NEW BUSINESS means new projects. New projects mean new software. New software means a new server. Right? Well, a few months ago I decided that this was, indeed, true. For the past five years my "server" has been a 100 Mhz Pentium system which I bought in (surprise) 1994. Over the years this machine got additional memory and larger SCSI drives to keep it running as Windows NT Server grew from 3.5 to 4.0 and the clients on my network grew from Windows for Workgroups to Win9x and NT Workstation.

Finding the Hardware

So enough history. My requirements are for a server with enough horsepower to run Windows NT 4.0 Server with SQL Server 7.0 and Exchange Server 5.5. These server applications are needed for development projects, and the old machine just won't cut it. Also, when I'm ready for Windows 2000, it would be nice if the new server was ready, too.

So given my paltry budget, where, I asked myself, do I start? The answer to this question was a combination of Computer Shopper and the Microsoft Web site. The Windows 2000 Hardware Compatibility List (HCL) is at www.microsoft.com/windows2000/upgrade/compat/search/default.asp. Searching through the list to the "server motherboard" section revealed a list of candidate system boards. Comparing the model numbers to the ads in Computer Shopper yielded the features and costs associated with each board. This process quickly narrowed the list, and I eventually settled on the Intel N440BX system board. Intel calls this a "purpose built" server motherboard. The features that sold me on the board are:

  • Dual PII or PIII support
  • Built-in video (nothing fancy here since no one ever really looks at it)
  • Dual channel Symbios Ultra2 wide SCSI (important-more on this later)
  • 10/100Base-T ethernet port
  • 4 DIMM slots for plenty of RAM

Plus it has some network management features that might be nice to learn when I get around to installing Win2k. All this came at a price that almost fit my budget.

Next I needed a case, so back to Computer Shopper. There are several vendors advertising in Computer Shopper who sell nothing but system cases. I don't understand why they are all out on the "left" coast, but.... A very helpful salesman at Case Depot sold me on a server case with space for six 3.5" and four 5 1/4" devices, a 300W power supply, and a 4" cooling fan (with mounting holes for another!). Ahh! Room to grow! All this for $190 plus $30 shipping from Santa Fe Springs, somewhere in California. The case is very rugged and has a couple of handles cut in the interior that makes it much easier to flip the case over. The worst part of the case is the exceedingly difficult-to-remove front cover.

Meanwhile I ordered a 350Mhz PII, a couple of 9G Seagate U2W hard drives, and 256MB of RAM. When all the parts arrived I started construction. The motherboard fit the case perfectly; I just had to be sure to assemble the processor supports first. It's also easier to identify the jumpers and other small pin connectors before the board is installed. I installed the first processor and a "termination board" to fill the second processor slot until I can upgrade an existing machine to free up the other 350Mhz PII. I always buy Intel "boxed" processors so I am sure to get the processor with a cooling fan already mounted. The motherboard provides two 3-pin power sockets for the processor fans.
The hard drives mounted neatly but added another twist. Ultra2 SCSI drives (also called LVD for low voltage differential) require a different type of terminating resistors. Most SCSI drives produced in the past few years have a built-in terminating resistor that is enabled by a jumper on the drive. Not so with LVD! You need a special terminating resistor that occupies an additional connector on the SCSI ribbon cable. Back to the phone to order this special terminator. I use Dalco for small stuff like this. They seem to carry just about everything you're likely to need. More waiting. When the terminator arrives I'm finally ready to install Windows NT.

An initial install went smoothly as I decided how to configure the server. When I set up an NT server I install two copies of NT, one the "working" copy of NT Server and the other an "emergency" or "recovery" copy. This offers a number of advantages when there are problems and you need to recover. Let's say you turn on your server and are greeted with the "blue screen of death." The message is that a file is missing or corrupt. Since NT Server is normally installed in an NTFS partition to maintain security, you can't simply boot to DOS and replace the corrupt file. This is where the second copy of NT comes in handy. You can boot that copy, and since it understands NTFS, you can replace the corrupt file and repair the problem.

The purpose of this installation is to assist in recovery in the event the main NT Server installation becomes unbootable. This can happen if the registry or a system file becomes corrupt. Since you want NT Server installed in an NTFS (NT File System) partition to keep things secure, you need another means to replace files on the NT Server partition that understands NTFS. This is provided by the installation of NT Workstation.

I prefer to install the copy of NT Workstation in a DOS bootable FAT partition. Keep in mind this must be the first partition on drive 0. Here's how I partitioned drive 0:

Partition type
Size and Format
Contents
Primary
256M FAT
DOS, NT Workstation
Primary
2G NTFS
NT Server system
Secondary
6.8G NTFS
Server applications

The second 9G drive, formatted as a single NTFS partition will be used for the databases and other files. While we're on the subject of the hard drives, let's talk about the SCSI controller. Remember I said the dual channel SCSI controller was important. Each channel has a separate connector, one a 68-pin wide connector and the other the older style 50-pin connector. This allows connecting the slower devices such as the CD-ROM and tape backup drives to the 50-pin narrow connector while the hard drives are connected to the 68-pin wide SCSI connector. Isolating the "fast" and "slow" devices increases efficiency. It is especially important with LVD hard drives. If LVD devices are mixed with other SCSI devices, even ultra SCSI hard drives, the LVD drives will slow down and operate in conventional SCSI or "single-ended" mode. This cuts maximum speed at least by half. Never mix LVD drives with other types of SCSI devices on the same SCSI bus.

Hardware Lessons Learned

When I started this project, the plan was to build the server using a 350Mhz PII from an existing machine plus a new 350Mhz PII. Well, guess what. This won't work! Dual processor machines must have "matching" processors. Intel defines "matching" to be within one "stepping." What is a stepping? Apparently it is what prevents you from using a ten-month old processor alongside a new one, or one more gotcha. Another thing I learned the hard way, if you buy a "dual processor capable" machine, buy both processors when you build the system.

NT Setup Procedure

Back in hard disk setup I described how I partitioned one of the 9G drives into three drives. The first step is to create the 256M partition. This is created and formatted using DOS booted from a floppy. The easiest way to make such a floppy is to make a "Windows Repair Disk" on a Windows 95 or 98 machine. Do not "enable large drive support" when you run FDISK as NT 4.0 does not support FAT32. Once this drive has been formatted, boot from the NT Workstation CD and install NT Workstation into this same FAT partition. This should be a minimal installation and need not be configured for the network. Actually you could install a second copy of NT Server. I prefer NT Workstation simply because it is smaller and will install in a smaller partition. Once NT Workstation has been installed, you should be able to boot the machine to either NT or DOS. In this case I found that I could let NT detect the video controller, but I learned the hard way that I had to use the SCSI and network drivers that came on diskettes with the motherboard. In both cases the drivers on the NT4 CD would not work. While the video driver on the NT CD did work, the driver that came with the motherboard offered better performance and more features than the generic Cirrus Logic chip driver on the NT CD.

Now that you have NT running, you can use Disk Administrator to create the other partitions and do the formatting. This gives you complete control over the type of partition and the cluster size used to format each partition. You are now ready to install NT Server.

I prefer to start the NT Server install from NT Workstation. To do this, insert the server CD and open an NT CMD "DOS window." Use the command line to switch to the \i386 directory on the CD. Type "winnt32 /e /n" to start the 32-bit version of the NT Server install. The options tell the installer not to make startup diskettes and to use the floppyless install procedure. You will be prompted for the source of the install files (the default will be correct), and the installer will start to copy a lot of files to the hard drive. When the copy is finished, you will be prompted to reboot the machine. Take this opportunity to change the CMOS setup to prevent rebooting from the CD drive. When the machine boots from the hard drive, the NT Server setup will continue. As with the Workstation install, I used the SCSI and network drivers from the motherboard diskettes. When the server install is complete, the NT boot menu should show NT Server, NT Workstation, and Windows 95 (or whatever you used for that very first partition and format).

Software Lessons Learned

Now the tricky stuff begins. If you have followed all the instructions so far, you may be surprised to find that NT Server is installed and running on drive E:! This is due to the way drive letters are assigned in DOS and Windows, and NT is no different. Fortunately NT gives us a way to assign drive letters the way we prefer using Disk Administrator. Here's how I assign drive letters:

C:
NT Server system partition
D:
Server applications
O:
CD drive
S:
2nd 9G drive - the data - S is for system
W:
NT Workstation/DOS

When you change the drive letter for NT Server system partition, you will receive a warning that making this change can result in unpredictable behavior. Do whatever you do for good luck and click OK. You will get still another warning that Disk Administrator cannot get exclusive control of the disk, with a prompt asking if you want to make the change the next time you boot. Click OK. You will get another warning that the change you are making requires a reboot. Click OK. Continue clicking OK until the system shuts down and reboots.

When you log back on, the system will start complaining that it "does not have a properly sized swap file." Actually, the swap file still exists, but since NT can no longer find it, you are essentially running without any swap file and you must create one. NT wants a swap file on the system partition at least equal in size to the physical RAM in the system. In my case this means a swap file of 256M, so I made that the minimum (or initial) size and set the maximum to 300M. I plan to run both SQL Server and Exchange Server on this machine, so the swap file will be active. A performance hint is to always place your swap file on the fastest hard drive. NT can benefit from multiple swap files if the drive setup is appropriate. Swap files should not be placed on RAID arrays. The ideal place to put a secondary swap file is a drive all its own. This eliminates problems with head contention (more than one process looking to read or write to the disk at the same time) and file fragmentation. The last step in this process is to change all registry keys that refer to the server's system partition from "H:\" to "C:\". This can be done manually in a few hours, or in a few minutes if you spend the money for a registry editor. This must be done before any software is installed that will use any of these values stored in the registry.

I need to insert a few words of warning here that this process works with the regular NT Server only. If you are installing Windows NT Small Business Server (SBS) or Windows NT Terminal Server Edition, you cannot change the drive letter of the system partition. SBS has extensive installation scripts that "simplify" the installation process for SQL Server, Exchange Server, etc. These scripts assume that drive letter will remain unchanged FOREVER, and this means forever in the Biblical sense.

Terminal Server Edition (TSE) presents a different manifestation of the same problem. The server installation also "installs" all of the software needed for the clients. TSE clients see the same user interface as Windows NT

Workstation, so TSE needs to install all of the files normally associated with both the server and the workstations. Naturally, there are registry entries for all of these files, and the workstation entries are hardcoded to the server's system directory. And unlike a regular server when it is first installed, TSE has hundreds of these registry entries. Changing them all is not recommended.

Back Office Installation

The Back Office 4.5 setup has a very nice wizard interface similar to the Office 2000 setup. This interface allows you to pick a software package, such as SQL Server, with one click in a check box. If you continue, it will look through the registry to see if you have already installed all of the prerequisites for that package.

As a clue, I can tell you that Internet Explorer 5 is a prerequisite for all other packages (as it is for Office 2000!). If any prerequisites are missing, you are offered an opportunity to add them. I found it very difficult to determine the dependencies for each option. For example, if you want the Web interface for Exchange Server, you must install MS Site Server, but such things are not always obvious.

Now you would think that with all this sophisticated dependency checking, you could check all of the packages you need, click OK, go for coffee, and return to a fully configured server. Well, it just ain't that easy. For my first attempt to install Back Office, I tried that approach. Needless to say, it did not work. The list of errors could have been used as a draft for War and Peace (I don't speak Russian, so how would I know?). However, I did learn a little about the dependencies between the various packages. For instance, Internet Explorer must install first. After reinstalling NT Server to ensure a clean registry, I proceeded to install one package at a time. If any dependencies popped up, I canceled whatever I was trying to install and installed the prerequisite package instead. This time each run of the installer ran without errors.

Management Summary

I always like to write the management summary because it means the paper is almost done. This server has been running reliably now for several months. Of course SQL Server 7 and Exchange Server hide their own mysteries, but that's a story for another time.

Jim Scheef is a software developer with 20+ years experience in the industry. His company, Telemark Systems Inc., specializes in Visual Basic, SQL Server, and Windows NT networking. Jim has been a DACS member since the day DOG becameWC/MUG, whenever that was, and is a co-leader of the Visual Basic SIG.Contact Jim at jscheef@telemarksys.com.


BackHomeNext