Hands On: New VMware Releases Present Upgrade Dilemma
VMware's virtual machine technology lets users run multiple operating environments without running multiple hardware systems. Our columnist describes the configuration that worked for him, the options he tried getting there, and what's coming up from VMware.
Usually, you can just recompile some software in these kinds of situations, but you couldn't do that very easily with ESX 2.5, largely because VMware didn't provide all the necessary tools, and also because they strongly discouraged the practice. For most people, even getting user-space applications to run meant setting up another system with a similar version of Linux, installing whatever software you need onto that system and then copying the filesystem changes over (I had to do exactly that for my UPS software). But this strategy doesn't really work for low-level device drivers which sometimes require changes to the kernel itself.
The straw that finally broke the camel's back, however, was the lack of support for some critical operating systems as guest VMs. I need to have a Solaris VM for basic interoperability tests, and it was next to impossible to get this working on ESX 2.5, because neither of the VMware-specific SCSI interfaces were supported by Solaris. After wrestling with this and the other problems for a couple of weeks, I decided that a change in strategic direction was in order.
Rounds 2 And 3
My first fallback position was to switch to VMware GSX, running on 64-bit SUSE Linux 9.3. At first this proved to be a good choice, since I was able to use most of the hardware and applications that I needed, and the broader range of supported guest operating systems also meant that I could pretty much run whatever I needed to. After the shine wore off, however, a new set of problems started to emerge.
In particular, the lack of any kind of remote management interface to VMware and the virtual machines proved to be extremely frustrating. There simply aren't any management interfaces to GSX under Linux at all. None. The best I could do was have a custom script parse the system process table for relevant data (memory in use, processor load, etc.), but even that proved to fall far short.
I had other kinds of problems too, either with GSX or with the overall system. For example, some of the command-line tools provided with GSX depend on a 32-bit Perl module, but that module wouldn't compile under 64-bit Linux (I had to compile the code on another platform and copy the 32-bit Perl subsystem to the VMware host). Worse, every time SUSE patched the Linux kernel, GSX forced me to rebuild everything, which made some of my cobbled solutions completely unfeasible as long-term strategies.
For all of these reasons (plus some others), I eventually switched to GSX under 32-bit Windows XP, which allowed me to resolve almost all of my outstanding issues. Even though GSX on Windows still does not provide any kind of SNMP interface to the virtual machines or host process, it does provide some WMI performance data that I can tap into locally. Unfortunately, VMware's WMI performance monitor DLL appears to have one or more significant bugs that are preventing the data from being read through other channels, but for the moment I am at least able to monitor per-VM resource utilization through perfmon and Crystalfontz CrystalControl2 LCD software (if you're curious to see what this looks like, you can watch some video.)
Since GSX runs as a Windows service, I'm also able to use any hardware drivers that are needed. For example, I can use SuperMicro's own SNMP extensions, with a Cacti script and template to give me the needed visibility into the host platform's hardware. I'm also able to use any of the storage cards of my choosing (such as using iSCSI to access my SATA II drives over the network), since the volumes are managed by the Windows host and not by GSX directly.
Overall, I'm actually pretty pleased with where I've ended up. VMware GSX on Windows has proven to be robust and stable, and fast enough for what I do. I'm able to easily test most of what I need (there are some exceptions, such as hardware-specific applications), I've got a modicum of management visibility into the host and the virtual machines, and I've been able to substantially reduce some costs by consolidating a dozen systems into a single server (it's really nice to be able to suspend all the VMs and then put the host into standby power mode, essentially putting a dozen PCs to sleep all at once).
The Business of Going DigitalDigital business isn't about changing code; it's about changing what legacy sales, distribution, customer service, and product groups do in the new digital age. It's about bringing big data analytics, mobile, social, marketing automation, cloud computing, and the app economy together to launch new products and services. We're seeing new titles in this digital revolution, new responsibilities, new business models, and major shifts in technology spending.