MILLE-XTERM provides a scalable infrastructure for massive X-terminal deployment.

Linux-based X terminals are well known for making computing affordable, for giving a second life to old hardware and for lightening administrative burdens. If you ever have toyed with the idea of using Linux X terminals, you are probably familiar with the Linux Terminal Server Project (LTSP), described in Figure 1. An LTSP server is perfectly suited for small workgroups or classrooms. However, in order to deploy a greater number of terminals, say thousands of them, the current LTSP model encounters scalability problems.

Figure 1. LTSP Simple Network Configuration

The main goals of the MILLE-XTERM Project are:

  • Unlimited scalability.

  • Centralized X-terminal management.

  • Enhanced user experience.

The MILLE-XTERM Project applied clustering concepts to the X-terminal infrastructure to achieve these goals.

The MILLE Project is funded by Canadian public agencies and school districts in the province of Quebec. MILLE means “Free Software Infrastructure Model for Education” and is targeted at educational institutions. It is composed of four subprojects: a portal (based on uportal), an open-source middleware stack, a CD with free software for Windows/Mac and, finally, MILLE-XTERM (the object of the present article).

Overview of a MILLE-XTERM Cluster

The solution entails centralizing servers in a secure, air-conditioned computer room to form a cluster of terminal servers. The cluster has four major components, as shown in Figure 2. The first is the boot server, which provides DHCP and TFTP services and serves as a base system optimized for the terminals via NFS. Next comes the configurator, which generates the lts.cfg configuration file from an SQL database. The terminal then queries the load balancer, which in turn seeks out the cluster's least-loaded application server. The chosen application server login screen then appears, and after a successful authentication, the user can start using the desktop, browser, office suite and other applications.

Figure 2. Clustered LTSP Network Diagram

MILLE-XTERM relies on central file and authentication services that provide users with the same account and file on every application server. The open-source choice is NFS for users' home directories and OpenLDAP for the directory service. It also can be integrated into a Novell or Windows environment with additional configuration.

Unlike LTSP, there is no need for a separate network dedicated to terminals. They can share a LAN with other PCs. However, a reliable network infrastructure is crucial. With usual usage, each terminal generates an average of 1Mb/sec of X11 traffic. Low-end hubs should be avoided; managed switches with full-duplex capabilities really make a difference.

Unlike LTSP, each component is built from RPMs; system administrators easily can add features and local applications with standard package manager tools. The init scripts from the distribution are replaced by standard LTSP scripts. We are currently using Mandriva 2006 as the base distribution, though other distributions can be supported.

Boot Server for Terminal

The boot server is mainly a read-only NFS server. Optionally, it can provide DHCP, TFTP and NBD swap services. The xtermroot contains a base system and an X server. With more than one boot server, it is easy to rsync the xtermroot periodically on each boot server. The terminals then boot in a uniform way, whichever boot server they use.



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Simple question about application in other settings

taplinb's picture


I have tested at home K12LTSP, Sun Rays, and Windows Terminal Server, and a decade ago used Citrix Winframe for a couple of mid-sized projects (2-3 servers). I have long been curious about LTSP and the like in small corporate settings but was and am concerned about (a) long-term support, (b) scalability, and (c) software maintenance and distribution.

Regarding the latter, Debian packages have been, in my limited experience, the easiest way to deploy new Linux packages, and I particularly like the wrapping I've seen in MintInstall, part of the Mint offshoot of Ubuntu 8.

How might the MILLE Project address my three concerns. Also, is there enough support in English? I do not speak or read French.

Brad Taplin,
former tech support professional
now in law school in St. Paul, MN

Errata : firefox memory setting

Francis Giraldeau's picture

To prevent Firefox to use memory for caching, the article says to set the parameter browser.cache.memory.enable to "False", but it should be written to set this parameter to "True" to get this behavior.

For more information, see the page

Sorry for the mistake.