Virtualizing Workstations For Common Hardware?
An anonymous reader writes "We have approximately 20 workstations which all have different hardware specs. Every workstation has two monitors and generally runs either Ubuntu or Windows. I had started using Clonezilla to copy the installs so we could deploy new workstations quickly and easily, when we have hardware failures or the like, but am struggling with Windows requiring new drivers to be installed for all new hardware. Obviously we could be booting into Ubuntu and then load a Windows virtual machine after that, but I'd prefer not to have the added load of a full GUI underneath Windows — we want maximum performance possible. And I don't think the multi-monitor support would work. Is it possible to have a very basic virtual machine beneath to provide hardware consistency whilst still allowing multi-monitor support? Does anyone have any experience with a technique like this?"
It's easy enough to slipstream (lots of) extra drivers and periodically update a master install .iso using tools such as nlite.
"This post is an artistic work of fiction and falsehood. Only a fool would take anything posted here as fact."
NxTop is pretty cool. It is a hypervisor that installs directly onto the client hardware, allowing you to pull and boot pre-configured images over the network. The hypervisor removes the need for specialized drivers and supports dual monitors. It also has the advantage over VMwareView of allowing the OS to sync for offline use if you would like to leave the office with a laptop. Sure VMware has it as an "experimental" feature now, but it is production with these guys. They came and did a demo for us the other day, pretty cool stuff. I think it was affordable too. You can set policies for who gets what images, remotely disable a lost or stolen laptop, etc. Check this out: http://www.virtualcomputer.com/About/press/nxtop-pc-management-launch-massively-scalable-desktop-virtualization-for-mobile-pcs
this was solved a long time ago. Sysprep allows you to bundle whatever drivers you want, and it will just load what it needs on first boot. Combine that with a network imaging solution (back when I worked in that area, we used ZENworks, but there are other options), and ideally network installs of software (i.e. the image should be a base OS and not much else) and you should have limited problems. A new machine type will require a new image, but you can just deploy the old one, add the new drivers, run sysprep and re-create the image. I never had to do mass-imaging of Linux machines, but surely you could take a similar approach for the Ubuntu images?
What is...?
I used unattended on a FreeBSD box at one of my old jobs, since we had like five or so different models of computers. It works sort of like RIS, except it's easier to extend the system since it's all written in Perl and it's all open source. We dumped the contents of an XP disc on the server, then slipstreamed driver packs into the disc directory structure; this catches almost everything but the most obscure hardware out there. Unattended allowed us to run post-install scripts, so we threw in a bunch of other software packages that would install after the OS was done installing, like Office 2007, Adobe suite, etc.
This was substantially better than a disk image; we took care of all of the drivers in one fell swoop, so the only thing we used as a differentiator between computers was how the person used the computer (if it's a student lab computer, we loaded a bunch of stuff like Geometer's Sketchpad, InDesign, etc. If it was a faculty's laptop, we'd load software to operate stuff in the classroom.) We save space on the server, and we save time when it comes to putting together another "image" for a different use case.
But as others said above, I wouldn't virtualize the workstation, even if it eases up on the IT dept. a little bit; just be smart about what deployment method you use. I wouldn't recommend using unattended if you had only about three different models; it's likely substantially easier to just use CloneZilla.
Oh, and use a centralized software deployment system such as WPKG. Your disk images will go stale after a while, in which case you'll have to make sure that you can manage the packages installed on clients somehow.
"Hegelians, who love a synthesis, will probably conclude that he wears a wig." - Bertrand Russell