VMware GSX Server 2.0 for Linux Review
My latest entree into the world of virtualized environments is the VMware GSX server. For someone who doesn't spend much time running multiple iterations of a particular application, I viewed this application as a solution looking for a problem. What I've learned in this exercise is that making a low-end server into a distributed application environment is quick and reliable using the GSX server.
I can unequivocally state that the GSX server installation is flawless - provided you read the instructions. My problems began early; the machine I had originally tasked for testing the GSX server was too slow. The dual processor (2x233 MHz) machine that had served me well since 1997 has been upgraded to a 600 MHz workstation with 320 MB of RAM (thanks bro!). The GSX server requires a minimum of 256 MB of RAM, so the processor speed was only part of the reason for me to upgrade.
Three working files comprise the GSX distribution, while only two of them are mandatory for a successful operation. The first file, the server binary, installs on a limited subset of available kernels. I had been running into difficulty during my initial attempts at installing the software. Not only had I built a custom kernel (the list of workable kernels is listed on the web page), but I had also used the binary that had come in the boxed set. The binary that was shipped to me from VMware worked with only a couple of Red Hat 7.1 kernels - I was attempting to run 7.2. The installation ran fine with the 7.1-level kernels, but I was hoping to upgrade to 7.2 for the file journaling. For a few hours I was getting extremely frustrated. But a closer inspection of the web page provided the clue. I eventually grabbed the latest binary and the installation ran just as flawlessly as under 7.1.
The second file needed for operation is the remote console binary. A local console is integrated in the server. Once the binaries for both server and remote console are installed, the task of installing the client OS begins. I chose to install a Windows 95 client for this review, largely due to the number of licenses I own. I installed one client (following the wizard) and then copied the installation to two other separate directories. After modifying the configuration files for each client for their particular installation directory, I tested each virtual machine by turning them off and on a couple of times. I now had three Win95 installations to try running simultaneously.
The third file contains an incredibly useful and powerful utility: a web-based management front end. With this application, an administrator can view resource loading and can control, suspend, or disconnect any of the clients listed on the web page. If an application is hogging the server resources, an administrator doesn't have to wait until other processes start to crash or stall to discover the problem. A simple browser running in background provides all the remote control capabilities needed for successful resource management.
GSX Server in Action
As I mentioned before, I had copied my Win95 installation to two other directories so that I could see how the system load was handled with multiple clients running various applications. With all three clients running dithering software on an 800x600 picture, the load had dropped the host's resources by approximately 28%. That wasn't unexpected, and exemplified the level of control GSX server applied to the host resources. I could envision using GSX server with multiple iterations of database or web servers running simultaneously on one machine, and still have resources left for heavy surges in load.
As a long-term VMware customer, I have made and stored several copies of clients, primarily due to the fact that I needed several configurations and core installations. I had one for testing games, one for logging in remotely to my job, and one for testing shareware. I was able to dredge up one of these earlier stored clients and run it under GSX server. In order to have the web-management front-end recognize this client, I had to register it with the server. This is not a difficult process, requiring only a few changes in the permissions settings and executing a command from the console.
The GSX server isn't much for terminal serving, at least not on my system. I ran one client over my local LAN on another workstation (400 MHz/128MB RAM). I was able to run applications on the server without too much lag, but there is noticeable overhead running remotely. As for attempting to run the client in full window mode, that is not an option for a remotely operated client.
I concede that I haven't been running multiple virtual clients in an intensive computing environment. With that said, I could see the benefit that some departmental servers might gain if one server's capacity were used more efficiently. The ability to virtualize environments and invoke multiple iterations of a particular database, mail server, web server, or other service-based application on one machine is enticing. Reducing three servers to one without losing capacity can certainly be felt at even the small-business level. VMware's GSX server is a well-designed product that addresses this level of computing effort.
- Great development and hosting platform
- No remote full screen display
An incredibly powerful tool with easily understood management interfaces.