II. Preparing the hardware for installation

Contents

1. Introduction

2. Hardware recommendations
    2.1 CPU
    2.2 Memory
    2.3 Disks
    2.4 Network interfaces
    2.5 Other devices
    2.6 Maintenance

3. Preparing the server
    3.1 Real time clock
    3.2 Boot order
    3.3 Boot messages and memory check
    3.4 Energy saving
    3.5 Mouse support
    3.6 Security

1. Introduction

This chapter discusses 'best practices' for preparing the server hardware. These lessons were learned during the early installations of ServerAtSchool on four primary schools in The Netherlands.

(top)

2. Hardware recommendations

As stated before, the recommended hardware configuration is as follows:

Best results are obtained using good-quality brand name components or computers. It is especially important to have good hardware documentation and a good manufacturer's warranty. If you try to skimp when investing in a server, you may be facing high costs if the hardware fails on you. Server hardware is very, very important; it would be penny wise, pound foolish to simply choose the cheapest. You should go for the best you can afford.

2.1 CPU

The OpenNA/ServerAtSchool Linux is optimised for Intel hardware. The CPU should be at least a Pentium II. It might be possible to install ServerAtSchool on another processor, e.g. an AMD or perhaps a VIA chip. However, there can be subtle hardware incompatibilities that may be brought to light by this optimised version of Linux . If the software had not been optimised, and instead had been compiled for the generic i386 architecture, performance would have suffered.

2.2 Memory

RAM is very important. The rule of thumb is to install as much as you can afford. If you have to choose between a faster CPU and more RAM, you should go for the extra RAM. There is one caveat: the OpenNA/ServerAtSchool Linux kernel (2.4.29-1 at the time of writing) as it is installed by the ServerAtSchool installation program is not compiled to take advantage of the so-called high memory area (HIGHMEM). The reason is simple: the kernel runs faster without HIGHMEM. This means that with the default kernel the usable memory is effectively limited to some 880 MB. On a machine with 1024 MB RAM this leaves 144 MB RAM unused.

NOTICE: A possible solution is to install another kernel. Fortunately the ServerAtSchool CD provides such a kernel (even though it is not installed by default). See /ServerAtSchool/RPMS/kernel-SERVER-2.4.29-1hm.i686.rpm.

You should make sure that the RAM you install is 100% compatible with the motherboard. It is probably best to follow the motherboard manufacturer's recommendations. Do not try to save a little money by using noname or OEM memory; use only first class RAM. If the design of the motherboard allows it, you should use ECC memory. This type of memory is capable of automatically correcting certain errors that might otherwise wreak havoc. The importance of data integrity on a server, especially in RAM, cannot be overstated.

2.3 Disks

The design of the ServerAtSchool server is based on having a computer with three disks. The best results were achieved with ATA (IDE) disks.

The first disk is to be used as "the" system disk. Usually this would be device /dev/hda. This equates to the primary IDE master.

A second disk would be dedicated to backups. The standard ServerAtSchool system makes backups of the first disk on the second disk every night. This protects against the first disk failing. As a rule, the partition for backups on the second disk is mounted at /backup.

NOTICE: The ServerAtSchool server is not designed to create backups on tapes. The simple reason is that it takes a lot of discipline to exchange tapes and stick to a rigid backup scheme, especially for schools without a systems administrator. A teacher has neither the incentive nor the time to perform the task of managing backup tapes every day. Furthermore, tapes are both limited in capacity and error-prone. At about EUR 1 per gigabyte a fast ATA disk is much cheaper and also more reliable.

The third disk in the standard ServerAtSchool setup is to be used as an encrypted off-site backup for another school. The idea is to work together: school A stores its daily backup on the third disk of the server located in school B, whereas school B uses the third disk in school A's server for its daily backup. These backups can be done via the 24/7 xDSL connections both schools probably already have. Since 'they' use 'our' third disk, and 'we' use 'theirs', no money for these 'third disks' needs to change hands; it's simply a matter of cooperation. In the ServerAtSchool server software the 'other' school is called a buddy, and the third disk that holds the backups of another school is mounted at /home/buddies/home.

Good results were achieved with the following allocation of disk devices:

With the ever growing needs for file storage, it is a good idea to use disks of at least 80 GB. Even better would be to use 120 GB disks. Good results have been achieved with Ultra-ATA 100 disks, but of course you can also use Ultra-ATA 133 disks, provided the motherboard supports these.

NOTICE: Some older hardware may present problems with huge disks; there is a limit at 137 GB. In order to circumvent problems with this limit, the advice is to stick to disks no larger than 120 GB.

By placing the 'backup' disk and the 'buddies' disk on the secondary IDE-controller, the primary IDE-controller can concentrate on the system disk. This is a performance consideration.

2.4 Network interfaces

The ServerAtSchool server must have two network interfaces. One interface is used to connect the server to the Internet. By default this is the interface known as eth0. The other interface is used to connect to the local area network (LAN). This interface is known as eth1. The design of the ServerAtSchool server is based on the assumption that the server will be connected to the Internet 24/7 (24 hours per day, 7 days a week) via a broadband connection, either xDSL or cable.

Popular speeds for broadband connections are 512 kb/s downstream/128 kb/s upstream, 1024 kb/s downstream/256 kb/s upstream, 2048 kb/s downstream/512 kb/s upstream. Given these broadband connection speeds, a 10 Mb/s network interface would probably suffice for the external network interface of the server. However, bandwidth keeps increasing and some cable providers now offer 10 Mb/s downstream. In that case you are better off with a 10/100 Mb/s interface for eth0.

The connection to the LAN via eth1 should be as fast as possible. The best choice depends on the available network hardware (network hubs and switches) and cabling. If the existing network cabling is of good quality (Cat. 5 or better) you might be able to operate the network at 100 Mb/s. In that case a 10/100 Mb/s network switch with one or two 1000 Mb/s ports (such as the Netgear FS526T) would be a good investment if the server has a 10/100/1000 Mb/s network interface. The effect would be that 10 clients (each with 10/100 Mb/s network interfaces) would be able to connect to the switch at the full 100 Mb/s and that the combined traffic of these 10 client computers would still not saturate the 1000 Mb/s connection between the switch and the server. By cascading two or more of these 10/100/1000 Mb/s switches, you can increase the number of 10/100 ports with a 1000 Mb/s connection to the server.

NOTICE: A fast network (100 Mb/s or even faster) is not required, but it is recommended. The most important reason is the bandwidth necessary to restore a client image. The faster that goes, the more feasible it becomes to simply restore an image every day. A second important reason is that users in a school often use the same (multi-media) applications at exactly the same time because they only have 10 minutes at the computer. If it takes forever to load the images from the server, you lose valuable time.

Here is an example of a standard ServerAtSchool network:

[ example of a network configuration ]
preparing_network.png

In the top left corner you can see the broadband connection coming in. It is connected to the server via a 10 or 100 Mb/s network interface eth0 mounted in the server. The server has a 10/100/1000 Mb/s network interface eth1 which is connected to a gigabit port on the switch. This switch has 24 ports which can operate at 10 or 100 Mb/s and 2 ports which can operate at 10, 100 or 1000 Mb/s. At the bottom of the sketch you can see 12 client computers connected to the switch. Another 12 10/100 Mb/s ports on the switch are unused in this example, as is the second gigabit port on the right hand side of the switch.

It is a good idea to use two different brands of network interfaces in the server computer, say one 3Com 3C905C-TX and one Intel Pro/1000. During installation these network interfaces will each get their own driver. This makes it easier to assign the correct name (eth0, eth1) to the loadable drivers (e.g. 3c59x or e1000) in the configuration file /etc/modules.conf. See also the section 2.1 /etc/modules.conf in chapter V. Configuring all ServerAtSchool components.

2.5 Other devices

Of course you need to be able to see what you are doing during installation of the server software. However, you definitely do not need a fancy graphics adapter in your server. You also do not need a new, large and expensive monitor. Any old clunker will do for the 80 characters by 25 lines that need to be displayed.

Look at it this way: you install the server software once and as soon as you are ready with that, you simply switch off the screen. Subsequent system maintenance can be carried out using a terminal session over a secure, encrypted network connection (SSH). If configured correctly, you can do that from any client on the LAN (perhaps using the terminal emulator PUTTY.EXE) or even from a remote location off the school premises. You don't have to be hanging upside down in a cold broom closet to work on the server.

The OpenNA/ServerAtSchool server also does not require a mouse; a mouse has no added value at all on a server. You do need a keyboard though. Just like the monitor an old keyboard will be fine since you won't be using it very often.

If at all possible, the server should have a diskette drive (known as /dev/fd0). This comes in handy when you use the disk imaging program Ghost for Unix (discussed in section 13 Ghost for Unix in chapter V. Configuring all ServerAtSchool components), which works with a bootable diskette. It is very convenient to have a diskette drive on the server to create such a diskette.

Also, you may want to have at least 1 serial port in your server. You can use it to connect an Uninterruptable Power Supply (UPS) to the server. If a UPS is connected to the server via a serial cable, the UPS will be able to initiate a clean shutdown of the server in the event of an extended power failure.

Finally, a few hints for (new) hardware:

2.6 Maintenance

During its lifetime, your server collects dust: in the fans, in the heat sinks, in the power supply, in fact, everywhere. It is a sensible idea to find an air compressor and dust off the inside parts of the server every once in a while, say every 1 or 2 years. This will prolong its life, because collected dust acts as a thermal insulator and will cause higher temperatures inside. Higher temperatures decrease the lifespan of the server. After dusting you should make sure that all cables are properly connected by gently but firmly pressing them home in their sockets.

NOTICE: Please make sure that you block the fans to stop them spinning while you are using compressed air. If they spin, they can generate electricity (like a dynamo) and damage the computer electronics.

(top)

3. Preparing the server

The most important preparation before you start the actual installation is to get the BIOS configuration settings right. A good way to configure the BIOS is to start from scratch with factory default settings or indeed any default settings. Various names are used (examples taken from different servers):

After restoring the defaults, saving the new settings, and rebooting the computer, the actual BIOS configuration can commence.

The reason to start from default settings is of course to be able to reproduce what you have done. If you don't have a fixed starting point you will never be able to return to that point and start again in case you get lost in the complexity of the BIOS settings. It is not important to specifically reset to factory or optimised defaults, as long as you stick to one or the other.

Since there are a lot of diffentent BIOSes, it is difficult to give exact examples or screen shots. However, there are a few settings that need special attention.

NOTICE: In order to enter the BIOS settings screen you have to press one or more specific keys on the keyboard at the correct moment during the POST (Power On Self Test). Refer to the mainboard and/or the system documentation to find out which key or keys need to be pressed. If you do not know which key you need to use, you could try pressing the [Del] key, a function key ([F1] - [F12]), or [Esc].

It is a good idea, or rather, essential, to write down the settings you change, for future reference.

Some computers have a BIOS that lacks a reset function. In such cases the only thing you can do is to meticulously write down all settings and the changes you have made. Otherwise you will never remember which settings work and which don't.

3.1 Real time clock

The ServerAtSchool software expects the real time clock (also known as the CMOS clock) of the computer to run at UTC (Universal Time Coordinated), also known as GMT (Greenwich Mean Time). This gives the least problems with Daylight Savings Time (DST).

3.2 Boot order

Since the installation program needs to be booted from a CD-ROM, it is handy to have the system attempt to boot from the CD before it tries to boot from the hard disk. The recommended boot order (depending on the actual hardware in the server) is:
  1. Diskette
  2. CD-ROM
  3. First disk
  4. Second disk
  5. Third disk
  6. Network interface
  7. Other devices (INT 19h)

3.3 Boot messages and memory check

Many BIOSes have an option to replace the screen which displays important information at boot time (such as the list of recognised disk devices and an overview of option ROM messages) with a custom graphics screen, often showing the logo of the motherboard's manufacturer. You should change this setting in such a way that the logo is suppressed. If you are (re)booting the server you will be much more interested in the technical details than a pretty picture, since there will probably be some kind of problem with the server if you need to reboot it. The only time a ServerAtSchool server needs to reboot is when the kernel is upgraded or when hardware maintenance is required.

Using the same reasoning, you should perform the slow-but-thorough variety of memory check rather than use the quick-and-dirty approach.

3.4 Energy saving

Sometimes the BIOS has a setting to spin down the hard disk(s) after a configurable amount of time. This might be a good idea to save energy on a client computer but a server should always be ready. You don't need times when the server is very slow to respond because it needs to bring a disk up to speed again.

Some BIOSes even suspend the complete system, slowing down the CPU to a minimum if no keyboard activity has been detected for some time. Again, this might be handy for a client computer, but it is very likely that a server's keyboard will not be touched at all for months on end.

The one thing you should do to save energy is to switch off the monitor as soon as the server is configured and you are ready to leave it to its own devices. You can always switch on the monitor if you need to work at the console for some reason.

3.5 Mouse support

You can safely switch off mouse support in the BIOS. ServerAtSchool does not require a mouse at the server and therefore the BIOS should not have to look for one at boot time.

(top)

3.6 Security

Some BIOSes give you a password option to prevent unauthorised users from booting the system. You should disable this password option. If you enable it, you will need to type in a password every time you need to reboot the computer. That would make it impossible to remotely reboot the server. See also the discussion of the GRUB password in section 12. Boot loader configuration in chapter III. Using the text mode installation program.

(top)

Author: Peter Fokker <peter (at) berestijn.nl>
$Id: preparing.html,v 1.19 2006/03/31 15:35:47 peter Exp $