Wednesday, March 26, 2008

Demonstrating Virtual Machine and the Viability of Linux

Last week, I demonstrated the viability of running Windows XP Pro on top of a Linux Distribution. Here's the computer that was used.



It's a Dell Optiplex 745 with an Intel Core 2 Duo, 2GB of RAM, an ATI 256MB video card, 160GB SATA hard disk, DVD/CD burner, USB keyboard and optical mouse. The monitor it's hooked up to is my office Samsung 22" Widescreen LCD via DVI. In the picture, I also have an HHP IT3800 hand held scanner via a PS/2 to USB adapter, and a HP ScanJet 4300C flatbed scanner. On top of the CPU, you can barely see the iPod Nano and flash card reader. All the hardware you see in the picture worked with little configuration or requiring access to the command line.

Originally, I was going to do the demonstration on Kubuntu 7.10, but found that things had gotten a little too buggy for my taste (made worse when I ran a desktop eye-candy package called Compiz). On another computer, I had installed Fedora 8 to test out Bluetooth functionality (much better than Xubuntu or Kubuntu), and found it much easier to setup and use in regard to things like a firewall.

What you see on the screen is Fedora 8 running the Gnome 2 desktop environment, with Windows XP Pro SP2 running on Innotek Virtual Box. Please note to the Innotek people that I was using your software for evaluation purposes, and there are no plans to do a full-scale deployment at this time; when we do, we will be giving you a ring for the licenses.

That being said, the setup ended up being pressed into official use for a few hours when we had to get a copy of our yearly newsletter over to the publisher. The problem we had last year was that we create our publications on Microsoft Publisher on Windows XP while they only have Macs. Since the only format they could access was Adobe PDF, we had to export the publication as such. Unfortunately, though our bookkeeper has a PDF Mailer program that does the conversion, it never rendered pages from Publisher correctly--we had to print out the publication in color and have them copy from that. This degraded the print quality a bit.

This year, when I was polishing things for the demonstration (since it was a demonstration of what can be done and should have all features setup and working), I found that there's a free PDF exporter called Cups-PDF that allows you to export anything to PDF simply by printing. Since I also had a copy of Office 2007 installed in the virtual machine, we decided to put it to the test. Well, apart from some incompatibility problems between Office 2007's Publisher and the older version of Publisher, we did succeed in creating a correctly-rendered newsletter for the publisher. Later, I was able to refine the process further by sharing Cups-PDF to allow printing from inside the virtual machine itself--though it wasn't an elegant solution, it worked and was much faster.

Since then, since the hardware I was using is a Gates grant public access computer, it's been re-imaged with XP Pro and will be deployed to Standish this Friday. However, both the Director and Bookkeeper walked away impressed. While we may not switch to Linux, it is increasingly becoming a viable option over Windows Vista.

Another advantage over Windows is that I was able to copy the partitions from the Opiplex's hard disk to another drive, plug it into an older model Optiplex and boot it right up with a few minimal changes. Even with only 1GB of RAM, with half that dedicated to the XP virutal machine, the whole system still seemed responsive and very useable. In fact, I'm using that very system to type this blog; a Dell Optiplex GX280 with a Pentium 4 2.8Ghz CPU, 1GB of RAM, 80GB SATA, slim DVD/CD combo, Intel integrated graphics, 19" LCD and sound bar. Apart from a partitioning issue (due to the difference in hard disk sizes) and two configuration changes, it worked perfectly.

We're going to keep that particular system as-is to further evaluate the Linux/Windows Virtual Machine, since our next computer purchase may require us to get Vista.

Also, next week, I'm going to re-deploy an older public access computer as a secondary staff workstation using Fedora 8 or Ubuntu Hardy Heron Beta for one of our librarians. We're going the Linux route versus XP for this computer due to the fact that we have insufficient licenses for AVG and Office (that'll change later this year when we renew or purchase more licenses). Plus, the computer, a Dell Dimension 2400, runs slow (only 256MB RAM).

Thursday, March 06, 2008

Virtualization, the Future of Computing

Imagine a Technology Lab, and the first scheduled class of the day is a 2-hour block that covers using Microsoft Word in Microsoft Windows XP. Twenty minutes after the class ends, another 2-hour block is going to cover building and administering a web server. In the afternoon, there are at least three more class sessions that will teach Novel Netware (providing their own disk images and curriculum), Introduction to Linux via Ubuntu, and DVD authoring.

All of it runs on the same hardware, all on different operating systems, and all without rebooting or reloading anything. How is this possible? Virtual Machine software.

Here's another scenario. At one of our branch libraries, the staff computer hard disk has crashed. A new one is delivered, pre-imaged with a standard Linux distribution and configured on-site with the username, hostname and IP address. A single file is copied over from a USB flash drive or recovered from the defective hard disk. The system is booted up and the Librarian continues working using Dynix Horizon on Windows XP Pro. All e-mail and other settings were automatically retrieved from a network-attached storage device. The same device also shares duties with a content filtering and caching server and firewall running on a single headless black box inside a network cabinet.

Today, there are virtual machine solutions from Parallels, VMWare and Innotek (now owned by Sun Microsystems) that allow you to install and run as many operating systems on a single computer that you have memory, storage and processing power for. Instead of having to run a dual-boot system where you have to restart in order to switch from Windows to Ubuntu, you simply click and run the operating system, or resume from a certain "point." I use VirtualBox on my ThinkPad to run XP Pro; which has a few administration tools. I also use it to test disk iso images before burning them to disk or test new operating systems.

Another advantage a virtual machine is that moving your existing installation of Windows to a new or different model computer is as simple as copying the virtual disk file. Otherwise, either you'd have to do a clean or repair install and re-patch. Viruses and malware are less of a concern because even if they run, the underlying operating system is untouched--simply restore a backup copy of the disk. Does a patron prefer Windows XP, Vista or would like to try something new with Ubuntu? Simply choose what you want.

The only major disadvantage to using a virtual machine is that 3D graphics acceleration using the "real" hardware is not implemented yet. Parallels and VMWare do support 3D graphics, but only on Intel Macintosh computers running OSX. However, in two years, it may become common-place on generic hardware.

Another potential problem is that some "real" hardware may not be seen in a Virtual Machine; though I've used USB flash drives, DVDs, and even a serial port with no issues.