Click here to Skip to main content
15,891,136 members
Articles / All Topics

Experiments with Virtualization Platforms

Rate me:
Please Sign up or sign in to vote.
5.00/5 (2 votes)
29 Nov 2016Ms-PL7 min read 5.5K   2  
Experiments with Virtualization platforms

A couple of weeks ago, I tried experimenting with a different way of professional life. Unfortunately, that experiment did not quite work out. But as a side-effect, I gained an extra iron in my den. This iron is quite closely matched with the big one I already have from back in 2012.

Original “Big Iron”

My older box is a Core i7 with 32 GB of Corsair Vengeance memory. It also has an ATI Radeon HD6800 discreet graphics card with its own 2GB of memory. It is mothered by an ASUS P8-Z68 V-PRO. Add to that 3 TB of storage space and two network ports (one acquired when I tried to build my own routers at home), it is one powerful beast. Back in 2012 when I acquired it, it cost me about INR 95,000.

My New “Smaller Iron”

The new box I had bought was quite similar to the big iron. This has a Core i5, with 32 GB Corsair Vengeance RAM. Graphics is on board, a modest Intel HD one on a Gigabyte B85M-DS3H motherboard. For storage, I had bought just one 1 TB hard drive and has just the single on-board network port. This one burnt about half as much, costing INR 38,000.

What I wanted to do was to turn the smaller iron into a virtualization host. I was turning over two choices in my head — to go with Microsoft’s Hyper V or try a lower level virtualizer like VMWare’s ESXi.

The ESXi

This is basically a custom version of a Linux-based on OS, running on a VFAT partition (rather than traditional Linux “ext” partitions). I was trying to see if this gave me better performance and manageability than the Hyper V.

So, off I went to the VMWare website, where it is billed as the “vSphere Hypervisor 6.0” and is available for a free download. I did not quite understand their rationale of giving you a free download that had all the features enabled and then prompt you to register it — when you register, you get a product key (also for free) but it appears to actually disable a few features… that too for a “free” product. Eh? Anyway, I got the 352 MB ISO file.

Try #1 – Using Windows 7 ISO/USB Download Tool

Microsoft has this nifty tool for writing ISO files to USB drives. It generally plays nice with Windows or Microsoft ISO files. But not very good when it comes to Linux ISOs. But I tried it anyway and the system would simply not boot from it.

Try #2 – Using Win32DiskImager

This is a SourceForge project. The tool supports a large variety of Linux distributions and is a hot favorite among Linux enthusiasts and fans to write Linux ISOs to USB drives. Once again, the system would not boot from it.

So now, I searched online to see if there was something specific I needed to do. Probably, the ISO just had an installer and nothing to boot off. And then I found this page on the VMWare documentation website. It was for vSphere 5.0, whereas I had 6.0. Probably, what I needed to do were the same.

Try #3 – UnetBootin

I also found several forum threads that heavily advised that I use a tool called UnetBootin (a GitHub project) to write the ISO. So I used the UnetBootin tool and the system at last showed a boot up screen. I had not yet followed the instructions from the VMWare documentation page, because I was doing all this from a Windows system. Half way into booting (as per the progress bar at the bottom), the installer got stuck and said it could not find any network cards. I was surprised, the motherboard had a Realtek network adapter. So I searched again and found that I needed to slipstream the driver for the adapter into the ISO and then boot with it.

Enter ESXi Customizer

For this, I needed to use something called the ESXi Customizer. Because of the number of distributions and architectures involved, Realtek distributes the Linux driver as source files. Since I was not going to install it into “Linux” but a heavily customized version of it, I was not particularly interested in trying to compile it. So I searched online again and found this blog, where the required “.VIB” file was already linked and available.

So I downloaded the customizer and the VIB file and followed instructions to slipstream it into the ISO I had downloaded earlier. Writing it again to the USB stick using UnetBootin, the system booted up fine this time around. After a round of post-install customizations, I found I had to download yet another large file off VMWare, called the “vSphere Client”. This is another 341 MB. This installed a management tool that proudly declared that all the latest VM features were only available with the “vSphere WEB Client” and that was part of the PAID tools that VMWare sells to manage their Hypervisor family. Naaah!! Not interested.

Using what features the client had, I created two VMs. One a Windows Server 2012 R2 and the other a Debian Jessie. I ran them for a while and noticed performance issues. Provisioning the VMs was pretty fast though — almost instantaneous. The big problems were both performance of the VMs and manageability — though the Client app is quite powerful, I quickly got lost in its interface and found what should have been “simple things”, hard to do.

Hyper V Server 2012 R2

So my next choice was Microsoft’s Hyper V. However, I did not want to run a full OS to be able to run a few VMs. That’s when I thought of the “Hyper V Server” offering. This is a battened-down version of the full OS and is similar to the “Server Core” offering where all the configuration needs to be managed either via PowerShell (locally and remote) or via remote administration tools.

You can download an “Unlimited period Evaluation” copy from here. What this means apparently is that it can be used for ever, for free, if you are using it for testing, evaluation and learning purposes (no production use). Setting up the OS itself was a cinch. Then came the “harder” part, where I had to configure various things. Thankfully, the Server Core shell pops up with a built-in text-menu based interface that lets you do a lot of the usual tasks (that you took care of using the welcome screen of the Server Manager in the GUI edition).

After running the initial configuration (computer name, IP address, etc), a reboot later, I wanted to add it to the Server Manager of another (Windows Server 2012 R2) test rig. Since the machines are not on a domain (workgroup setting), I needed to add the Hyper V server to the TrustedHosts list of the GUI server.

C:\> winrm set config winrm/config/client @{TrustedHosts="192.168.1.100"}

Run the above winrm command on the GUI box. I used the IP address of the Hyper V box in the TrustedHosts name-list. Then, I headed over to the Server Manager UI and added the server with its IP address. It complained about a few things being inaccessible because of probably the firewall on the Hyper V. So I used PowerShell on the Hyper V box to:

C:\> powershell 
PS:\> Import-Module NetSecurity
PS:\> Get-NetFirewallRule | Set-NetFirewallRule -Enabled $True

The above will set EVERY SINGLE firewall rule on that system to “Enabled”. Since by default, the firewall is set to block, this will punch up a whole lot of holes in the system. But hey, I had the machine on a very restricted internal LAN with no routes IN from the Internet. So this was fine.

Now the Server Manager GUI loaded up the server quite fine. I did get an error message when I tried to open up the Computer Manager console, but it happened just once and future attempts ran just fine.

Opening up the familiar Hyper V Manager console on the GUI console, I was soon running the two test VMs. Not only that, for provisioning the VMs, I was also able to copy over (via regular file sharing using the GUI box) my PowerShell VM provisioning scripts and use those to provision the disks and the systems.

Verdict

Personally for my working style, I far preferred the Microsoft Hyper V Server over VMWare’s ESXi. Though the ESXi’s vSphere Client is plenty powerful and is blazing fast in provisioning, I found the Hyper V console with powerful PowerShell scripting even better.

License

This article, along with any associated source code and files, is licensed under The Microsoft Public License (Ms-PL)


Written By
India India
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
-- There are no messages in this forum --