Wednesday, June 30, 2010

Installing VMWare Server on my Core i5 running Windows 2003

I recently bought a Core i5 PC to be used as the Dragonpay online payment server. I wanted to run VMWare ESXi on it but ESXi could not detect the onboard Intel network adapter. There seems to be no way to specify an external driver either. Its either ESXi supports your network adapter out-of-the-box or it does not. And from the hardware compatibility list at VMWare, it seems that ESXi only supports a selected number of motherboards (mostly Lenovo, HP, Dell).

So I had no choice but to install Windows 2003 Server as the host OS. But even that, I had trouble at first. The driver that came with the motherboard only supports Vista and Windows 7. There are no drivers anymore for XP, 2003, or earlier incarnations of Windows. I asked one of our tech guys at Mozcom for assistance and he was somehow able to install it manually. So my Windows 2003 Server is now up and running with the onboard Gig-E network adapter.

Installing VMWare Server is a breeze. It is similar in function to VMWare Player except it runs as a service upon bootup. So there is no need to login to Windows and start a user application. And since its a service, it does not open a window on screen. To administer it, you just use a web browser and point to the local http-based admin url. You can start/suspend/stop virtual machines (VM's) via the very intuitive interface.

Next, I downloaded pre-built VM appliances from the VMWare marketplace. Turnkey Linux makes excellent appliances. I downloaded the Turnkey Linux core appliance and installed two instances of it. I also downloaded the Turnkey Wordpress appliance and installed one instance of it. Each appliance only requires about 256MB of RAM and very little hard drive space. I'm using the Wordpress appliance to run Dragonpay's official website ( During first run, it downloads updates and patches from Turnkey with minimal fuss.

Turnkey's web-based system administration interface is incredibly user-friendly. In fact, you can pretty much configure the Linux OS and run whatever you want to run, without ever touching the shell interface. Everything from iptables, processes, cron jobs, and File Manager can be done via the web interface. It also has an AJAX-powered web shell which gives you the feeling of typing on the command-line even though you are on the browser.

VMWare can be configured to startup all its VM's upon the host OS bootup (something you cannot do with VMWare Player). The reverse is also true, I believe (it can stop all its VM's if the main host OS is being shutdown). You can manage the memory and hard drive allocation from here. Since my PC has 2GB of RAM, I currently set each VM to exclusively use the RAM allocated to it. That means, the system will not need to swap memory to disk if there is not enough to go around. It is possible to have several VM's using more memory than what is physically available. But that will affect performance.

No comments: