Single server, multiple users, each with his own virtual machine

15,718

Solution 1

A good solution is to use LTSP (Linux Terminal Server Project), here is a quick definition from Wikipedia:

Linux Terminal Server Project (LTSP) is a free and open source terminal server for Linux that allows many people to simultaneously use the same computer. Applications run on the server with a terminal known as a thin client (also known as an X terminal) handling input and output. Generally, terminals are low-powered, lack a hard disk and are quieter than desktop computers because they do not have any moving parts.

Briefly, LTSP allows clients to use the resources of a more powerful server computer. The client computer needs a keyboard, mouse, monitor and a network card.

You will find many tutorials in the red, here are some to get started:

UbuntuLTSPLTSPQuickInstall

How To Install LTSP – Ubuntu 11.04

Solution 2

You can't physically connect 30 monitors to a single machine. Which implies the student machines need to be some stripped-down computers - i.e. diskless, booting via network from the server, low RAM etc.

In this case you can use standard remote login - i.e. each user has a user account (not a virtual machine) and open a remote X session when logging in.

Network transparency was sort of a design goal of XWindow, which was designed exactly for this sort of situation.

(also, as a note - 30 separate virtual machines would have quite an overhead in terms of RAM, even idle, while with separate user accounts you could get away with much less powerful server. If necessary, it still will be possible to start VirtualBox in a user account)

Share:
15,718
Navaru
Author by

Navaru

Updated on September 18, 2022

Comments

  • Navaru
    Navaru over 1 year

    Our school system has a low budget to update our computers, so I've thought maybe I could buy only one server (a powerful one) and hookup 30 students to one server.

    On the server should be 30 Ubuntu virtual machines, each controlled by a different keyboard and mouse + individual monitor.

    I've looked over the internet but couldn't find no simple solution, some say you can't some say you could if blablabla on Windows, but I want to run it on Ubuntu.

    Could someone point to some docs or solutions if you know, we would greatly appreciate it.

    • Admin
      Admin over 12 years
      Well, setting up virtual machines with either Xen or OpenVZ is an option, but it sounds like you want something slightly different (Monitor, Keyboard, Mouse interactions over the network?)
    • Admin
      Admin over 12 years
      Yes, "Monitor, Keyboard, Mouse interactions over the network" this would be perfect
    • Admin
      Admin almost 11 years
      @Navaru I would suggest you to install ESXi Server and on that server install ubuntu VM, after that just replicate it for as many times required to create multiple hosts and then just give the students remote access to those VM's. This can be done & I have it implemented in my company. so check on this if it works for you.
  • Navaru
    Navaru over 12 years
    This should work well, but some thin clients are a little expensive, price range between $140-$280. There are a few cheaper options on alibaba, do you have some recommendations? Or what to look for when buying a client?
  • xynkrn
    xynkrn over 12 years
    The client doesnt have to be that expensive, the RAM doesnt need to be more than 512, and the processor doesnt even have to reach the 1Ghz. I participated on a project that implemented LTSP on public schools, and looking for donations is also another way to get the client PCs, many companies throw away good hardware pieces so you can approach them to.