Virtualization Viewpoints is a semi-monthly column that discusses current VMware- and virtualization-related trends,...
news and topics. Here we offer opinions and viewpoints on the competitive, quickly growing and ever-changing virtualization industry with a focus on VMware, the current virtualization market leader, which is in an ongoing battle to remain on top and distance itself from its competitors.
For many, virtualization isn't just a technology; it's a career and a lifestyle. To keep your virtualization skills up to date and to expand your knowledge, you need as much hands-on experience with virtualization technologies as you can get.
Working at the office helps, but you often cannot do certain things without affecting production environments. For this reason, home labs have become popular, providing virtualization professionals with the freedom to learn more about the technology and boost VMware skills. A home lab can come in many forms: from full rackmount dedicated servers running ESX to small PCs running hosted hypervisors, such as VMware Server and Workstation.
Wanting a virtual test lab of my own, I recently began a quest to build a new home computer that could also be used with a VMware environment. My current computer was about 2 years old and not very powerful. So the time was right to get a new one.
I didn't want a dedicated ESX or ESXihost. Instead, I wanted to use VMware Workstation so I could run vCenter Server, ESX and ESXi as virtual machines (VMs) in a home lab environment, while still using the computer for other things.
With Workstation 6.5, you can run ESX or ESXi as a guest VM by performing some hacks, but the newly released Workstation 7 has full support for running guest VMs. You can't run ESX or ESXi on a PC running Workstation, however, unless the processor supports hardware virtualization. Certain Intel and AMD processors are designed for virtualization (Intel-VT and AMD-V, respectively). Without this feature, you can install ESX and ESXi as a VM in Workstation, the VM will be slow and mostly unusable.
So my requirements for a new computer were the following:
- relatively low cost (around $1,000);
- at least 8 GB of memory, preferably 12 GB to 16 GB;
- quad-core CPU that supports hardware virtualization; and
- a powerful video card for gaming.
I looked at several pre-built, name-brand rigs and found them to be either costly or not what I wanted, which would require adding or changing some of the components. Instead, I elected to build my own computer using individual components that I selected to match my needs. This type of machine is commonly known as a "white box" computer because it does not have a brand name on the case (i.e., Hewlett-Packard, Dell, Acer, etc.).
I began my quest by looking through the Micro Center website and browsing the individual components (comparable to selecting ingredients for a recipe). The components selected were the following:
- power supply;
- processor (CPU);
- memory (RAM);
- video card;
- DVD drive; and
- hard drive;
Selecting the CPU was perhaps the most important decision because this choices influences the purchase of many other components. I had a short list of processors and narrowed it down to two quad-core processors: the Intel i5-750 or i7-920. Both are mainstream processors based on the Nehalem architecture and are at the high end of Intel's desktop processor line.
While the i7 has been available for a while, the i5 is a newer model with fewer features than its i7 counterpart. Both processors have the same 2.66 GHz clock speed, four cores and hardware virtualization support through Intel VT-x. All the Intel Core processors -- which include the i3, i5 and i7 models -- support Intel-VT-x.
Reviewing some of the many performance comparisons, I found the i5-750 to be pretty close to the i7-920, but the i7-920 had the edge because of its advanced features. Here are some key differences between the two processors:
|Speed||2.66 GHz||2.66 GHz|
|Cache size||8 MB||8 MB|
|Hyperthreading||No (four threads)||Yes (eight threads)|
|Memory support||Two-channel DDR3-1066/1333||Three-channel DDR3-800/1066|
|Turbo mode||Yes (maximum 3.2 GHz)||Yes (maximum 2.93 GHz)|
|Front Side Bus||DMI 2500MT/s||QPI 4800 MT/s|
|Max power consumption||95 W||130 W|
The cost difference between the two processors was about $40, but the i7-920 uses a different motherboard and memory, which drives the cost up even more. Additionally the i5-750 motherboard supports only four dual in-line memory module (DIMM) slots, while the i7-920 supports six DIMM slots because of the three memory channels.
This distinction was important because the i5-750's 2 GB DIMMs could support only 8 GB of memory but I could use 12 GB of memory with the i7-920. Both motherboards supported 4GB DIMMs but it's much more costly than the 2 GB DIMMs. In the end, the total cost difference between the two setups was approximately $150:
|CPU||i5-750 - $189.99||i7-920 - $229.99|
|Motherboard||P7P55D -- $169.99||P6TX58 -- $239.99|
|Memory||4GB DDR3-1600 - $129.99||6GB DDR3-1600 - $179.99|
Ultimately, I chose the i7-920 for several reasons:
- it supported more/faster RAM;
- it supported hyperthreading;
- it was faster (in turbo mode); and finally,
- $150 is a small price to get more life out of a PC in a fast-changing computer world.
I chose the Asus motherboard because it's a reliable, well-known brand. I also went with Corsair DDR3-1600, three-channel memory. After I made the big decisions, it was time to select the other components.
- Case ($59.99): I bought a fairly low-cost, midtower case that supported more than two fans, which is important because the i7-920 is power hungry and generates a lot of heat.
- Power supply ($44.99): I needed at least 500 watts to support a higher-end video card and a fast processor.
- Video card ($89.99): I went with a decent, higher-end ATI Radeon HD 4670 card, which has 1,024 MB of memory and good benchmarks; plus, it can play most modern games.
- DVD drive ($39.99): I bought a simple Sony 22x Serial Advanced Technology Attachment (SATA) DVD-RW drive.
- Hard drive ($89.99): I bought a Seagate Barracuda 3.0 GB/s 7200 RPM SATA 1 TB drive to avoid lower-cost drives that had speeds of only 5,900 RPM.
This PC configuration allows me to perform home and virtualization tasks. I will most likely expand it and increase the RAM to 12 GB to support multiple VMs running at once. I may also add another 1 TB internal SATA drive to use exclusively for VMs.
Another component that I will definitely add is a shared network storage device so I can use the advanced features of ESX, such as VMware's live migration feature, VMotion. The ESX or ESXi hosts running as VMs will access the shared storage using the iSCSI or Network File System (NFS) protocol that is built into ESX(i).
Several affordable devices support iSCSI and NFS, and advanced features, such as RAID. Such products include the Iomega ix2-200 (starting at $269), the Iomega ix4-200d (starting at $699) or the DroboPro (starting at $1,499).
After I selected the hardware, I needed an OS. I'm not much of a Linux guy. Windows XP works great, but it's too old. I've also never been a fan of Vista. So Windows 7 was the obvious choice, and VMware Workstation 7 supports it. To run a VMware environment and more than 4 GB of RAM, I had to go with the 64-bit version of Windows 7. I also chose the Professional edition because it has a good mix of features and was cheaper than the Enterprise Edition.
Once I had all the components, the fun began: assembling the PC so that everything worked properly. If you have never built a computer from scratch, it can seem daunting because there is no complete step-by-step manual included. Basically, you have to know what you're doing.
Fortunately, it's not too difficult. The biggest part is making sure all the motherboard connections are correct. But you can usually consult the individual component manuals for installation tips.
The first step is to install the power supply into the case, which is fairly straightforward. Next, the motherboard goes in, which can be tricky. Next, add the other components, such as the CPU (make sure it goes in the socket correctly and you properly fasten the heat sink and fan), memory (place them in the correct slots) and video card (make sure it goes in the appropriate PCI slot for the best performance).
Then install the hard drive and DVD drive. Next, connect the numerous cables from the power supply, drives and case to the proper connectors on the motherboard. Take your time during this step, and make sure you read the documentation to know where the cables go and their proper orientation. If you have doubts, consult the manufacturer, the place where you bought the component from or look for help on the Web.
After everything is assembled and connected, it's time to power on the computer. Typically, you want to enter the BIOS first and adjust some settings. In my view, storage and CPU mode are the two most important settings. The default storage arrangement was in integrated development environment (IDE)-compatible mode, but because I was using SATA drives, I switched it to Advanced Host Controller Interface for better performance.
As for the CPU mode, which is important for virtualization, it varies depending on the BIOS manufacturer, but it's typically located under the advanced CPU settings. On my computer, it was called Intel Virtualization Technology, and it must be enabled to run a hypervisor (ESX or ESXi) inside a hypervisor (Workstation).
Once I completed this step, I put in the Windows 7 install DVD and loaded the OS, which took less than 10 minutes because of the computer's speed. After that, I finally downloaded and installed VMware Workstation 7, which enables the creation of VMs and the installation of ESX or ESXi -- plus, with shared storage, I can even use VMotion.
You may wonder: Why not use the free VMware Server product instead? When compared with the VMware Workstation 7, Workstation is more robust with many advanced features and controls. Also, Workstation is often where VMware introduces new features and technology (i.e., record/replay) before migrating them to other products, such as ESX.
In the end, a home lab is great not only for learning virtualization but also for other purposes. A VM is a great way to safely browse the Web, for example, because a VM will shield a PC from any malware inside the VM. You can also create other VMs to which people in your house can connect: a mini-virtual-desktop-infrastructure setup of sorts.
Here is a word of warning about building a virtual test lab at home, though: Once you have one, you may want to expand it. Building a home lab can lead to a whole data center in your house, so be prepared to spend a lot of money and time. Another word of advice: Set aside enough time and money to accommodate the needs of your significant other so he or she will tolerate your virtual test lab.
|Eric Siebert is a 25-year IT veteran with experience in programming, networking, telecom and systems administration. He is a guru-status moderator on the VMware community VMTN forums and maintains VMware-land.com, a VI3 information site.|