Category: datacenter

supermicro 5036
Since I started working for a software vendor, my personal use of virtualization has grown exponentially. Everything I demo is contained within a VMware virtual machine. When I need to test new products or complex multi-product configurations, virtualization is the obvious choice, especially considering that my office is my home. I’ve been doing most of my work on a laptop, but I’m constantly running in to resource limits. Not enough disk space, not enough RAM, and lacking the CPU/Storage speed necessary for simulating enterprise software.

To solve my resource limitations, I decided to build a workstation that would function as a VMWare ESXI server. ESXi was the obvious choice since its the most widely used, and its completely compatible with the virtual machines I run on my Ubuntu laptop using VMware workstation. I wanted to get a pre-built whitebox that was supported by VMware. I selected the Supermicro 5036, which basically has server class hardware in a mid-tower form factor. I picked up a 3 ghz quad core i7 CPU and 12GB of ram. For storage I chose 4 1TB drives that I was planning on using in a RAID5 array.

When my hardware arrived, I burnt the latest ESXi iso (4.1) to a CD and began the install. I quickly discovered that ESXi does not support the on-board RAID capability of the motherboard. I naively assumed that when VMware said a device was supported, that all the functions of that device were supported. I really wanted to utilize RAID in my configuration, so I found a ESXi 4 supported 3ware RAID card on Ebay for a reasonable price. When the RAID card arrived, I installed the card and quickly discovered that VMware dropped support of the 3ware 9550sxu-4lp RAID card with version 4.1, so I would need to utilize 4.0 update 1 if I wanted to use RAID with my current card. The bottom line is VMware ESXi hardware support is very limited and subject to rapid changes.

So I downloaded and installed ESXi version 4.0 update 1 and the driver for 3ware RAID cards. I had 4 1TB drives setup in a RAID5 array, which seemed like a very basic configuration. However, when I logged in via the client I found out that ESXi cannot handle disk arrays over 2TB. My compromise configuration was to set up 2 drives as RAID 0 and 2 drives as RAID 1. One datastore for speed, and one datastore for data integrity.

With the installation complete, I was able to quickly move my existing VM’s to my new server using VMware converter. Besides the hardware compatibility issues, I’m really happy with the performance of the ESXi server. My only big gripe is that the Vsphere client used for accessing the ESXi server is Windows only, which is absolutely inexcusable.

Cloud computing is the most overhyped, misunderstood computing trend since “Web 2.0.” In recent polling it’s also the #2 CIO initiative for 2010, with virtualization being #1. Like any popular IT fixall buzzword, people seem to ignore the prerequisites required for a successful implementation.

Cloud computing is really just an evolution of virtualization. Like virtualization, there are prerequisites that are required for a successful implementation. In the case of virtualization, a sound SAN strategy is needed. Having a hypervisor utilizing one local disk controller among 10-20 virtual machines is a recipe for disaster.

In the case of the cloud, whether it’s internal or external, full stack OS provisioning is a requirement for any true cloud computing initiative. What is full stack OS provisioning? It’s the ability to provision a production ready server (physical, virtual, or cloud) without requiring any manual software configuration handoffs before it is production ready.

When you look at most organizations, there is generally a large gap from the time a server is requested till the time that server is ready for business. Base OS installation is generally not the problem; it’s everything that goes on after the operating system is laid down: monitoring, backup, middleware, applications, and application configurations. Each one of those items usually requires human handoffs and manual configurations in order to finally get a server to a business ready state.

If your server OS provisioning process is not producing business ready compute nodes, then any cloud initiative is going to suffer from the same problems your organization already experiences with regular servers. Cloud computing and virtualization can rapidly speed up the ability to provision new compute nodes, but its only as fast as your provisioning process.