Do you have older PCs collecting dust? Perhaps they're new enough where you feel terrible about tossing them out, but old enough that they're not really usable given the demands of today's software. Last month, we investigated Linux as a viable desktop operating system. LTSP (the Linux Terminal Server Project) builds on this by allowing you to connect older PCs to a Linux server and make them usable at surprising speeds again. This is quite useful in a school, a corporate environment or at home, depending on how “geeky” your home is.

History

Resulting from a client need, Jim McQuillan started brainstorming with friends. The client had existing dumb terminals for access to an AS/400 minicomputer, but now needed access to multiple systems on the desktop at the same time. They (of course) didn't have a large budget, and was afraid of the maintenance required with deploying new computers. Jim had been thinking about the idea of network booting computers, and allowing a central server to provide all the horsepower for the users' applications. With the push from a paying client, he succeeded in doing exactly that, and the client couldn't be happier. This package of software that drives the computers and dedicated terminals is known today as LTSP. (www.ltsp.org <www.ltsp.org>)

What it is

LTSP is a valuable option for most office environments where the users usually stick to a couple applications, such as a word processor or web browser. Occasionally running a more demanding program is not a problem as long as it's not expected that all users can do this at the same time.

Because LTSP is based on Linux (the “L” in LTSP), it takes advantage of, and builds upon the inherent security of Linux. This security prevents any user of the system from adversely affecting its operation. They have full access to their own files, can execute programs, but cannot uninstall, delete or otherwise render the program inoperable.

An LTSP server can serve many types of clients at the same time, such as older computers, or fanless diskless dedicated terminals can be used for a silent desktop with no moving parts to break. Also, with no fans to constantly suck dust through the system, the life of the product is extended. Such devices can be purchased from (www.disklessworkstations.com <http://www.disklessworkstations.com>), of which Jim is a partner.

In spite of what I just said, LTSP is not the answer to every computing problem. Please remember that all screen updates are send over the network. As such, don't expect to play a full screen video on the client, run a high intensity graphics editing program, or use it as a CAD (Computer Aided Drafting) workstation. The LTSP development team is putting some thought around ways of making this closer to a reality, but that's a topic for discussion on its own.

How it works

The client computer of an LTSP system is really only a keyboard, mouse and a display. All of the applications run on the server, but send its display output to the client, then listen to the client for keyboard and mouse input. You may compare this to Remote Desktop, VNC, GoToMyPC or something of the like. However, this comparison should only be taken so far, since the “X” protocol (what handles the display, mouse and keyboard communications) was designed to run over a network from the beginning, and the users session displays only in one location. Normally, the applications and the display run on the same computer, but when using X, they can be separated by a high speed network and still won't miss a beat.

When the client computer or terminal is powered on, a specially programmed network card looks to the network to see if a server is willing to instruct it to do something. If so, it loads the code the server tells it to, and starts to boot the machine. During the boot process, the client looks to the server again for configuration information, and makes adjustments as necessary. Finally, it connects to the server to ask for a display, and the server responds by sending a login screen to the client. From this point on, the user experience is controlled completely by the server, since that's where all the applications are running.

Usage example

Imagine an office environment with 20 people that all need access to email, a web based contact management program, a word processor and a spreadsheet program. Lets take two solutions separately and see how they compare.

The standard way of providing these services to the users, would include purchasing 20 desktop computers, likely in the 2.0 Ghz range, with 512 MB RAM. Plus, each user would need a license for the operating system, and a license for the office suite. On top of that, you still need to purchase a server to handle the authentication, which also needs a license for a server operating system. After such an investment, you also need to hire a staff of support professionals to handle problems with individual desktop computers, including virus cleanups, spyware removal, OS updates, and silly things that users might do to render the system useless. The users of the system would also need to login to “their” workstation to access files, email, and other settings specific to them. If a computer fails, a technician is needed to configure a new desktop machine for that user. Hopefully, the tech can recover the files from the desktop unit, and copy them to the replacement. During this process, the user is unable to work on the files that once were on the ailing PC. All this adds up to time and money lost.

To contrast, the same environment with an LTSP solution could use a single beefy desktop computer as the server. Imagine a 2.8 Ghz computer with 2 GB of RAM providing 20 people with the applications they need at a more than acceptable speed! Once the server is configured, adding “desktop” computers becomes amazingly simple. On the users' desktop, older Pentium II and P III computers can be gutted (no hard drive, floppy or CDROM), a bootable network card installed, then be instantly usable on the network! Of course, thin clients (mentioned above) were created to be diskless terminals, and are preferable for many reasons.

Administration, such as adding users or installing programs is no different with LTSP than with a single Linux desktop, and is completed on the server locally, from a terminal or through a secured remote session. By default, the users won't have the ability to install applications or infect a workstation with the latest spyware, worm or virus. A great advantage to this solution is user portability, resulting from all the storage of all user files and settings on the server. In other words, the user experience at one workstation is identical to their experience at another workstation, so there is no requirement for them to sit at a certain desk to access their files, email or a special icon on their desktop. In the unlikely event that a terminal becomes inoperable, the user has the ability to move to another desk and continue working while someone else unplugs the dead terminal, and plugs in a replacement. That's right, unplug, and plug in – no further setup required!

In the previous example, backups weren't discussed. This problem is one that is all too often not addressed because of the inherent complexity in providing backup solutions for a server and 20 workstations. The LTSP model overcomes this with great ease, because none of the files, applications or settings are stored on a workstation. Since everything is on the server, only one machine ever needs to run a backup. In the Linux world, there are many ways a technically savvy administrator can run backups without spending a penny on software.

How does this scale?

With the correct setup, scaling is hardly an obstacle. A dual processor 3.0 Ghz server with 4GB of RAM and fast disks, can support 120-200 simultaneous users, depending on what applications they are using. The biggest determining factor on the number of users is RAM... the more RAM, the more users. Some people may wonder how a single computer can serve so many users, since their own desktop system may take a few seconds to open a program, and they're the only user. The answer lies in the fact that most of the time your home PC probably sits at 1% processor utilization or lower, with occasional spikes. Assuming that only one user will cause a spike at a time, there will be no noticeable slowdown to sharing your computer with a few users. However, a school setting will likely put a much heavier load on the processors than the average office would. The reason? Most of the time, in a school setting, many students will login/logout at the same time, based on when their classes begin and end.

If you need to support many more users than the above describes, then a “cluster” of servers can handle the load. This solution goes beyond the scope of this article, but using a special clustering technique, adding servers to handle more users becomes almost as easy as adding a new workstation! No, really! Order it, plug it in, and turn it on!

Conclusion

While I choose to use LTSP in my home, I'm an admitted computer geek, and most people probably won't. However, it is an awesome solution for many businesses, schools, libraries and Internet cafe's. The dedicated terminals will use less space than traditional PCs, generate less heat, less noise, and use less electricity. The users of the terminals will have a stable and secure environment to work, while experiencing little downtime. The system administrators will rarely ever have to replace a terminal, will have only one place to install updates and patches, and will never have to reinstall an application on a user desktop (since there is NO software installed on the desktop machine). Overall, I think this is a great solution for any multi-user environment!