A Computer Lab with No Windows, Part I
Two years ago, I started my Linux terminal server project with an Athlon 1.2GHz CPU, 1.5GB of DDR RAM and an IDE 40GB hard drive as the server and a variety of older Pentium-grade PCs (ranging from 133MHz to 350MHz CPUs and having 32MB or more RAM) as workstations. To guarantee better network throughput, I bought three 100Mbps 24-port switches, consumer grade, for about $120 each. The system ran fine for up to 15 workstations, but it started running out of resources (I used the top command to monitor) when more workstations were added. As some of the courses have a class sizes of up to 30 students, I had to build a more powerful server to run this Linux terminal server network.
In September 2003, AMD's Opteron 24x series was available at a price comparable to the Xeon's 2.x from Intel. It was a difficult decision to choose between Xeon or Opteron. The Opteron is a 64-bit CPU but it could be purchased at about the same price as a 32-bit Xeon. Plus, it looks especially attractive when future 64-bit upgrades are considered. However, the only distribution with 64-bit support was SuSE, and most other applications, such as OpenOffice.org, still were running on 32-bit. I finally chose Xeon as I found it beats Opteron in most 32-bit tests, and the hyperthreading technology made my dual Xeon system functions like a system with four CPUs.
Having made those decision, below are the specifications of my new Linux terminal server, built in September 2003:
Intel SE7501BR2 Dual Xeon motherboard with on-board Ultra320 SCSI
2 Xeon 2.4 GHz CPUs
4GB of DDR RAM with ECC (Error Correction Code)
2 36GB Seagate Ultra320 hard drives
With a special power supply and a server case, the whole server cost $4,500 including tax. By the time you read this article, it certainly would be cheaper and have better, faster and more powerful components.
The Manitoba chapter of Computers for School has been a huge supporter of my Linux terminal project. I received about 36 IBM 300PL slim-line PCs as workstations and a 100Mbps Intel 510P 24 Port switch from them for free. The I300PLs have built-in video and built-in sound as well as built-in Intel 100Mbps network cards. While they do not have enough power to run MS Windows (that, in fact, that was the main reason I was able to get as many as I wanted from Computer for Schools--no other school wanted them), they are perfect as a standard workstation in my classroom. The built-in network card supports PXE booting; some of the older BIOSes needed an upgrade, but that's downloadable from the IBM support site. On top of each on-board Pentium 200MHz CPU is a big heat sink with no cooling fan. Again, this is another advantage as no cooling fans need to be replaced.
My rule of thumb for memory is 100MB for each station. However, ECC RAM works in pairs, and I had no choice but to get the maximum amount of 4GB, the maximum RAM size any 32-bit system can handle. Thus, for people who want to build a LTSP to support more than 30 workstations, 32-bit CPUs are out of the question-- 64-bit CPUs, such as Opteron, should be considered. With the 64-bit support coming in future Linux distribution releases, Opteron definitely will my choice for my next terminal server.
Although the SCSI drives are more expensive (more than double the price of IDE), they deliver excellent performance on my network. With the new server, all the workstations (26 at present) can run KDE, OpenOffice.org, Web browsers and other applications smoothly and seamlessly. Recently, I installed several systems with serial ATA hard drives and found they perform much better than those with Ultra-DMA IDE drives. With the price of serial ATA drives coming down so rapidly (they are almost the same price as the parallel IDE drive), they probably soon will make SCSI obsolete--SCSI is just too expensive.
With a standard configuration of only 32MB of RAM, built-in 2MB S3 video, built-in sound and no hard drive, the workstations performance is comparable to a PC with 2GHz and 256MB of RAM running MS Windows. After typing in the user id and password, a beautiful KDE (or GNOME) window manager can be loaded in less than 10 seconds.
As far as getting software for the Linux terminal server, there are several choices. The easiest way is to download it from K-12 Linux Project site. Most of the mirror sites are educational, and they all are connected to the fastest Internet backbone. I usually can get up to 1Mbps on the ADSL link from my high school (during school hours when many students also are using the ADSL link) and can download the iso image of three CDs in less than two hours. Once the iso images are downloaded, check the download with the md5sum error and then burn your own CD with a standard CD burner. If you don't have access to a high-speed link, you can purchase the CD from the K-12 Linux Project site or from any Linux CD Web site; the cost is a few dollars plus shipping, the shipping cost is usually higher than the CD cost.
If you have your own Linux distribution CDs, you can download only the terminal server components from the Linux Terminal Server Project site. This is the general Linux Terminal Server Project, without the K12 chapter.
The main catch in getting the software is the driver for your mass storage, the hard drive. Unless you need to support only a small number of workstations--say, 5 or less--a SCSI or SATA interface is essential for good performance. Unlike the parallel IDE, neither the SCSI nor the SATA is a standard interface, and a special driver for Linux is needed. Moreover, the driver needed is for the SCSI or SATA interface and, in general, should be supplied by the motherboard maker or the interface maker. The SCSI driver I got from Intel was written for Red Hat 8.0, and as a result, I can choose only the LTSP software that was built on Red Hat 8.0. In fact, the driver from Intel didn't work with Red Hat 9.0, so I had to settle for LTSP 3.0, which was built on Red Hat 8.0.
- New Products
- Encrypt Your Dog (Mutt and GPG)
- Practical Tiny Core in the Fire Service
- New Products
- DevOps for Dummies
- Tech Tip: Really Simple HTTP Server with Python
- Python Scripts as a Replacement for Bash Utility Scripts
- Cooking with Linux - Serious Cool, Sysadmin Style!
- Linux In Government: Interoperability
- RSS Feeds
Free DevOps eBooks, Videos, and more!
Regardless of where you are in your DevOps process, Linux Journal can help!
We offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, and advice & help from the expert sources like:
- Linux Journal