The Pixie Experiment – Going Diskless with Linux
Suppose you want a super safe web browsing environment. Suppose you want a Linux “on demand” – that is, you want to boot Linux without using a CD or having Linux installed on your PC’s hard drive. Is that possible? Maybe you have a PC lying around with no hard drive and no CD-ROM drive. Can you really run Linux on a PC with no drive of any kind? Sure you can.
It’s an idea as old as the hills – at least for hills that have been around since the 1970’s. The concept is that of a Diskless Workstation. That is, a workstation running an operating system with no drives of any kind. This idea was very popular in University and research environments as much as 40 years ago.
The basic prerequisites for this wonder of technology and network protocols are these:
- A ubiquitous networked environment of at least 100 Mb/sec
- A set of network protocols that allowed workstations to broadcast for network services and servers to answer for those services.
- A server that could deliver an executable image over the network to another computer.
- A workstation that has network capability to retrieve an executable image over the network and execute it.
and for extra credit we could add
- A network based file system (NFS) – so you could store file in a persistent way,
- A network based authentication and authorization system. Popular was YP (yellow Pages) and NIS (Network Information Systems). You need this to prove that you are who you say you are.
Of course none of this would happen without a bunch of really smart people who had the vision for this concept and a bunch of technical folks who could make it happen. In many cases those two groups of people were the same. In many cases, those folks were at Stanford University, MIT, and other major universtiy and research institutions. Have you heard of SUN Microsystems? Stanford University Networking – that is the roots of that corporation.
Yes, you can do it with KNOPPIX
If you are interested in seeing for yourself how this works “hands on” – then read our previous posting first – Learning about Linux – the KNOPPIX Live-CD. That posting will get you started with the KNOPPIX Live-CD. If you can boot a couple of computers with that Linux CD you are on your way.
You probably never noticed it, most modern PC and laptops have the ability to boot an operating system over the network – probably didn’t know that – did you? Well, they can.
This feature on many PC’s is PXE (“pixie”) – Pre eXecution Environment
You can check you PC system BIOS on your laptop or desktop PC to see if you have this capability. Here is how to do it.
Look in the boot menu or boot order menu.
Find an entry that says “Network Adapter”
If you find this option, then you are in luck.
The Diskless Workstation Experiment
The best way to learn is “hands on” So we’ll show you how to your can experiment with Network boot of diskless workstations using your own PC’s. Hopefully, you have 2 PC’s that will work.
Here is our setup. The PC on the left will be our boot server. The PC on the right will be our diskless workstation and we’ll network boot that baby to show you how it works. Unlike Cold Fusion, you should be able to replicate our experiment at your home with very little trouble and get the same results.
Here is what you need
- Two PC’s that are both capable of running KNOPPIX with one of those PC’s capable of booting from its Network adapter. Most modern PC’s will have this capability.
- A network comprised of the two PC’s. We will make a network with a hub and two network cables. You can alternately use a special “cross-over” cable that would let you connect the two PC’s without a hub or switch – but we will assume you don’t have that. Most likely you have a hub or switch – so we will use that and a couple of ordinary network cables
- Set one of the PC’s to boot from the Network. Use whatever your BIOS requires to change the boot order to put the Network adapter ahead of all the other boot devices. Don’t worry, if the network boot server is not available when your PC tries to boot in the normal manner – from the hard drive. Your PC will cycle through all the other bootable devices until it finds some device it can boot from – usually your hard drive. We have set the PC on the right to boot from its network adpater.
- Network connect the 2 PC’s to the private network using the hub and two cables. Just plug the cables into into each PC and then into the hub – its as easy as that.
- Find the vendor and model of the network adapter on the diskless workstation PC. This is very important. One of these PC’s will act as the boot server. The other PC will act as the diskless workstation. On the diskless workstation boot that machine into windows as normal and note the vendor, model, and type of the network adapter. You can find this as follows. Right-click MyConputer -> Properties -> Device Manger -> expand Network Adapters and write down what you see.
For our diskless workstation PC (the Compaq) we found we have a RealTek RTL-8139 Fast Ethernet adapter. it is very important that you know this piece of information.
As a final check use the KNOPPIX live CD and make sure each of the PC’s will boot from the CD and are fully functional – especially the network card. Note any special boot parameters you need for Knoppix. We will assume that ther are none.
Performing the Experiment / Demo
Here is where we are:
- We have two PC’s that are both capable of booting KNOPPIX from the Live-CD
- One PC is the boot server
- The other PC is capable of booting off the network device and you have changed the BIOS boot order to put the Network device at the top of this list.
- Both PC’s are connected to a simple network using a hub and a couple of network cables.
Lets light this candle !!
- Place the KNOPPIX live CD in the drive of the PC acting at the boot server.
- Boot that PC into KNOPPIX
- Once KNOPPIX is fully booted choose to start the KNOPPIX terminal Server
Follow these cookbook instructions
Once you start the Terminal Server program it will ask you a bunch of questions. You can take almost all the default answers.
- Choose the ethernet adapter eth1 is our wire-line adapter
- Respond Yes to configure the adapter.
- Select the ethernet device from the list (if more than one)
- Respond NO to Obtain address dynamically (DHCP)
- Enter the IP address – take the default 192.168.0.49
- Network mask – take the default 255.255.255.0
- Broadcast address – take the default 192.168.0.255
- Gateway – take the default 192.168.0.1
- Nameserver – take the default 192.168.0.1
This completes the network configuration
Now the setup process is going to ask you some questions about the network.
Choose your network adapter from the list. If you can’t find your network adapter here – you are kinda out of luck – sorry. We are in luck.
- Next, make sure the network card of the TARGET PC is checked in the list
- Next you are presented with some security options – take the defaults
- Next boot options for the target PC. We assume there are none.
- Finally, choose Yes to start the terminal server
- You can start the syslog to watch your terminal server: Penguin-> “Start SYSLOG”
- You can also start WireShark to watch all the ethernet traffic: K -> Internet WireShark (as root) Network Analyzer
At this point the Terminal Server (boot server) should be running and waiting for requests from Diskless Workstations.
Boot the Diskless Workstation
Here is the moment of truth. Turn on the other PC. If eveything goes right, if the O-rings did not freeze in the coolness of the early morning, you should see something like this
The PC Pre eXecution Environment has done a brodcast to find a boot server, the boot server has answered. DHCP has assigned an addresss. An exeutable image is about to be transfered by a Tiny version of FTP
The executable image is comming across the network
The image has been tranferred and now control is passed to that image
Note the Terminalserver Client has started – now the boot sequence continues as normal. If you need to enter special boot parameters – do that now. We have none, we hit the enter key and we are off and running booting the diskless PC from the KNOPPIX executable which was transferred from the boot server to this workstation over the network. Knoppix resides completely in RAM.
At this point your Diskless Workstation shoud be up and running KNOPPIX.
And, if you had WireShark running on the boot server you can see all the detail.
I saw it but I don’t belive it
If you don’t belive you can run Linux on a PC that has no drives – only memory – then try this experiment again but first remove the hard drive on the Laptop – or disconnect the cables to the hard drive on the desktop PC. It’s all happening across the network. Use the WireShark Network Analyzer on the boot server to watch the conversation between the two machines.
The value of diskless workstations
The real value of diskless workstations is for computing clusters found in University or research environments. With Network boot there is not a single piece of sofware that needs to exist on the workstations in the cluster. It is a safe environment in that you an reboot it at any time and you will get a fresh copy of the operating system each time. One can add workstation capacity to a cluster by simply putting the hardware in place, ensuring you have adequate network bandwidth, and setting the computer to Network boot. If one of the workstations fails, then there is no data lost on that workstation. You never need to back up these workstations as there is nothing to back up. What a great concept.
One might ask, how do you store files on a PC with no hard drive. Again, file storage is provided by the network. Diskless workstations in compute clusters can use an open standard called NFS (Network File System) to remotely mount a file system provided by a centralized server with tons of disk space.
One might ask, how do you contol access rights to files with many users. Again, the network can provide this through a standard called YP (Yellow Pages) or NIS (Network Information Services). These would also be central services provided to the diskless cluster of workstations. In order to use the file store you would “login” to NIS and then these credentials would allow you to access your files on NFS.
So, no matter which workstation you use, no matter where it is, as long as it is being served by network-based central services you have all your stuff on the computer in front of you. At MIT, where Kerberos network login was born, the saying was.. “No matter where you go – there you are” .. to express this concept of ubiquitious network-based computing services.
The Network is the Computer
Sun Microsystems Corporation was one of the most popular vendors of workstation computers that could achieve what is described above. The marketing campaign of Sun was ‘The Network is the Computer”. And this was exactly right. Add network printing services, e-mail server, collaboration servers, and other network-based services and you see the big picture – the Network was the computer. What you had in front of you was a end device – or a portal on a set of network services. It was all done 30+ years ago.
The KNOPPIX distribution of Linux has a huge number of features that are built-in that most other Linux distributions do not have as bunded sets of services and applications that are ready to use. If you want to learn about Lunux then KNOPPIX is a great place to start. PXE boot is a compelling concept and of practical use that has survived more than 30 years. You can use this to explore all kinds of concepts replated to Linux and networking concepts – and perhaps amaze your friends with a network boot – to boot.