While VMware is the clear leader in enterprise virtualization, it's also apparent that Microsoft Hyper-V is growing quickly. Therelease of Hyper-V brought its A-game to scalability, putting it on par with VMware's vSphere. The fact that Hyper-V is bundled with more recent versions of Windows Server makes it especially appealing to small-to-midsized businesses (SMBs) and is definitely driving Hyper-V's growth in the SMB space. A Gartner Research study showed that Hyper-V had an 85 percent share of the market of organizations with fewer than 1,000 employees. The rapid growth of Hyper-V means that many organizations have both VMware's vSphere and Microsoft Hyper-V deployed.
There are both pluses and minuses to having a multi-hypervisor environment. On the plus side, you can use the hypervisor that makes the most sense for your different virtualization needs. However, multiple hypervisors also means more complexity, and with different technologies you usually need different skill sets and personnel to manage each of the platforms you implement. This means an organization winds up creating different islands of computing to handle different technologies.
Both Microsoft and VMware have tools that help manage multi-hypervisor environments. In this article, I show how VMware's vCenter Multi-Hypervisor Manager and Microsoft System Center Virtual Machine Manager (VMM) 2012 let you manage multiple hypervisors from their respective management consoles. For additional information about managing a multi-hypervisor environment, see the accompanying video.
VMware's vCenter Multi-Hypervisor Manager
VMware's vCenter Multi-Hypervisor Manager enables you to manage Microsoft Hyper-V servers and their virtual machines (VMs) from the vSphere Virtual Infrastructure Client (also known as the vSphere Client). The Multi-Hypervisor Manager has a client and server component. The server component is installed on your VMware vCenter server, whereas the client component is installed on your VMware Virtual Infrastructure Client. If you've been keeping up with VMware, then you know that with vSphere 5.1, VMware stated that the desktop-based vSphere Client would be deprecated, and all future enhancements would be made to the new vSphere Web Client. Even so, the new Multi-Hypervisor Manager only works with the Windows-based vSphere Virtual Infrastructure Client. I would expect support for the vSphere Web Client in the future.
VMware's Multi-Hypervisor Manager has several requirements. First, you must be running vSphere 5.1 Standard edition or higher and have a vCenter Server system installed. The Multi-Hypervisor Manager doesn't work with the vSphere Essentials edition. In addition, it can connect only to Windows Server 2008 R2, Windows Server 2008 , Hyper-V Server 2008 R2, or Hyper-V Server 2008. Notably, the current Multi-Hypervisor Manager 1.0 release can't connect to Windows Server 2012 Hyper-V or Hyper-V Server 2012. That will undoubtedly change in the near future.
There is a server portion of the Multi-Hypervisor Manager that installs on the vCenter server. You also need to install a client portion on the systems running the vSphere Virtual Infrastructure Client that you intend to use to manage Hyper-V. You can download both of these pieces with VMware's vCenter components. The current server component is called VMware-MHM-5.1.0-901315.exe and the vSphere Infrastructure Client plug-in is called VMware-MHM-Client110912.exe.
The Multi-Hypervisor Manager server component requires an x64 server with an additional 2GB of RAM on top of the vCenter Server requirements. This server portion communicates with the Microsoft Hyper-V servers. In addition, the Windows Remote Management service must be running on the vCenter server.
Installing the vSphere Virtual Infrastructure Client plug-in was a simple task that took only a few seconds to click through the wizard. Afterward, the vSphere Virtual Infrastructure Client needs to be restarted.
Installing the Multi-Hypervisor Manager on the vCenter server was also easy and relatively painless. You need to be logged on with administrative privileges before beginning the installation. The installation wizard opens with a Welcome dialog box and then displays an end-user patent agreement, a license agreement dialog box, and an installation directory dialog box. Clicking through these dialog boxes displays the vCenter Multi-Hypervisor certificate dialog box. You have the option of automatically generating a certificate, or you can choose to provide a certificate later. I chose to automatically generate a certificate. The next installation dialog box prompts you for the connection properties of the vCenter server. On that dialog box you need to provide the host name or IP address, accept or change the default TCP ports, and provide the vCenter server's authentication information. After that, a vCenter Server SSL certificate configuration page appears. You must enter a login that has sufficient rights to run the vCenter Multi-Hypervisor Manager service and has permissions to issue Windows Remote Management commands. Clicking Next and then Install completes the server installation and the vCenter Multi-Hypervisor service is running and ready to connect.
Figure 1 shows an overview of VMware's vCenter Multi-Hypervisor Manager architecture.
You can see the client and server components used by the Multi-Hypervisor Manager. The vSphere Virtual Infrastructure Client uses ports 8090 and 8088 to communicate with the Multi-Hypervisor Manager server, which in turn uses ports 80 and 443 to connect to WinRM 1.1 systems and ports 5985 and 5986 to connect to the Hyper-V servers running WinRM 2.0.
Before configuring the Multi-Hypervisor Manager to connect to a Windows Server Hyper-V system, you must make sure the Windows Server Windows Remote Management (WinRM) Extensions feature is installed. You also need to run the following command on the Server 2008 R2 or Server 2008 system:
- Winrm quickconfig
After configuring WinRM, you need to be sure that the firewall ports shown in Figure 1 are open on the Hyper-V server.
To configure the Multi-Hypervisor Manager, open the vSphere Virtual Infrastructure Client and connect it to the vCenter server where you installed the Multi-Hypervisor Manager. After connecting to the vCenter server, use the top navigation bar to go to Home, Inventory, vCenter Multi-Hypervisor Manager. This opens the Multi-Hypervisor Manager view. Next, click the link Add a Third Party Host to start the Add Host Wizard shown in Figure 2.
Add the Hyper-V host connection information on the Connection Settings screen. As Figure 2 shows, you need to specify the host name or IP address and add the authentication information for the Hyper-V host. I entered the IP address 192.168.100.88, which is the IP address for a specific Windows Server 2008 R2 Hyper-V system. Clicking Next displays a warning dialog box about the connection not being encrypted. In my case, I chose to leave the connection unencrypted and clicked OK to bypass the warning dialog box.
The next screen is the Host Summary. The Host Summary dialog box displays the fully qualified host name, the OS type, and all VMs that are present. Click Next to display the Ready to Complete summary dialog box, which essentially lets you confirm your settings. Click the Finish button on the Ready to Complete dialog box. When the Add Host Wizard completes, the Hyper-V host and all its VMs are added to the Multi-Hypervisor Manager view (Figure 3).
Click the plus sign in front of the Hyper-V host name to expand the host node and see the VMs it contains. Right-clicking any of the VMs displays the context menu shown in Figure 3. The context menu allows you to perform basic VM management tasks. You can Power On, Power Off, Suspend, and Reset a VM. You also can create new VMs and change a VM's properties, including the number of virtual CPUs or memory or whether the VM is connected to the host's physical DVD drive. The current Multi-Hypervisor Manager 1.0 release doesn't let you perform more advanced operations such as initiating Live Migration. However, if you want to add basic management of Hyper-V VMs to your vSphere Client, then the Multi-Hypervisor Manager fills the bill.
Microsoft Virtual Machine Manager 2012
Microsoft System Center Virtual Machine Manager (VMM) 2012 has the capability to manage multiple hypervisors right out of the box—there's nothing extra to install. VMM 2008 R2 first added support for vSphere to the VMM 2008 release. Table 1 lists the different versions of VMware and vSphere that are supported by the different releases of VMM.
Virtual Machine Manager (VMM)
VMM 2008 R2
VMware vCenter 2.5, 4.0
ESX 3.5, 4.0
VMware vCenter Server 4.1
ESXi 4.1, 3.5
ESX 4.1, 3.5
VMM 2012 SP1
VMware vCenter Server 4.1
VMware vCenter Server 5.1
EXSi 5.1, 4.1
VMM requires a vCenter server to connect to vSphere. The connection is agentless, so there's nothing to install on the vCenter server itself. VMM connects to the vCenter server using VMware's Infrastructure Web Services, and it can manage multiple vCenter servers. VMM's vSphere connectivity is in its second release, so it's a more mature product than VMware's Multi-Hypervisor Manager. VMM provides many more advanced capabilities, such as the ability to initiate vMotion and Storage vMotion on the vSphere platform. Some of the latest VMware-related enhancements to VMM 2012 include:
- Doesn't import VMware tree
- Lets you add selected ESX servers and hosts to any VMM host group
- Imports VMware templates
- Supports standard and distributed switches
- Supports less-privileged accounts
- Automates discovery of port groups
- Supports thinly provisioned disks
To connect to vSphere, open VMM and create a Run As account. The Run As account passes authentication information to the vCenter server. The credentials that you specify for the Run As account must have administrative permissions on the vCenter server. Creating the Run As account is optional at this point because you'll be prompted to do so later if you haven't already; but you need a Run As account, and it's a good idea to know where to manage this feature. To create the Run As account, click the Settings link in the VMM console's left pane. Next, click the Create Run As Account option to display the Create Run As Account dialog box. Give the Run As account a descriptive name in the Name prompt and provide an account with administrative rights on the vCenter server. In my example, I named the Run As account vCenter Administrator. You can optionally validate the account's domain credentials, but that's only required if you use a domain account. Click OK to create the Run As account.
Next, add the vCenter server to VMM 2012. First, select the Fabric link in the VMM console. Then right-click the vCenter Server link and select the Add VMware vCenter Server option from the context menu. This displays the Add VMware vCenter Server dialog box shown in Figure 4.
Supply the DNS host name or IP address of the vCenter server in the Computer name prompt. TCP/IP port 443 is the default. You can change this if necessary. In my case, I left it at the default value. Next, supply the Run As account that will connect to the vCenter server. I used the vCenter Administrator Run As account that I created earlier (Figure 4). You can optionally clear the Communicate with VMware ESX hosts in secure mode check box. I left it checked. Click OK to add the vCenter server to your VMM 2012 fabric.
After you've added the vCenter server to the VMM 2012 fabric, you can add your ESX or ESXi servers to VMM 2012's VMs and Services section. First, click the VMs and Services entry in the lower left pane. Next, you probably want to create a new host group for your vSphere server, but this is optional. You can add the VMware ESX server to existing groups. In my case, I created a new host group by right-clicking the All Hosts node and then selecting New Host Group from the context menu. I named my new host group VMware vSphere.
Next, right-click the new VMware vSphere host group and select Add VMware ESX Hosts and Clusters from the context menu, which starts the Add Resource Wizard. The first dialog box in the Add Resource Wizard prompts you for the Run As account. Click the Browse button and select the vCenter Administrator account that you created earlier and then click Next to display the Target resources dialog box (Figure 5).
The Add Resource Wizard connects to the vCenter server and queries the different hosts that are running. In Figure 5, you can see one ESXi host with the IP address 192.168.100.179. Select the check box to indicate that you want to manage this ESXi host using VMM 2012. Click Next to display the Host Settings dialog box, which lets you change the host group that contains the ESXi server as well as the default storage location that the virtual machine uses. I left all the values on the Host Settings dialog box at their default settings and clicked Next. This displays the Confirm the settings dialog box where you can review your ESXi server connection settings and page back through the dialog boxes to make any changes. When everything is the way you want, click Finish to launch VMM 2012's Jobs dialog box, which shows the status of adding the ESX Server hosts. When the Job status reaches 100 percent, the ESXi server will have been successfully added and you can close the Jobs dialog box. When VMM 2012 first connects to the ESX server, it takes it a couple of minutes to retrieve all the VM information from that host. After VMM 2012 has finished retrieving the VM information, all the ESXi VMs and their status will be displayed in the VMM console (Figure 6).
You manage the vSphere ESXi Server VMs very much like you manage Hyper-V VMs. Right-click an ESXi Server VM to launch the context menu (Figure 6). The context menu shows various management actions that you can take with the VMware VMs. You can create new VMs and modify the properties of existing VMs. You can also perform power management functions such as Power On, Shut Down, Power Off, Pause, and Resume. In addition to these basic functions, VMM 2012 also performs more advanced functions. The Migrate Storage option initiates a Storage vMotion, whereas the Migrate Virtual Machine option initiates a vMotion to move the VM to another ESX server.
The Management Mix
The tool you choose will probably depend on your environment. If you primarily use VMware's vSphere with a dabbling of Hyper-V here and there, then VMware's Multi-Hypervisor Manager makes a lot of sense—especially because it comes with vSphere Enterprise and higher editions at no extra cost. However, it can't perform the more advanced functions such as initiate Live Migrations or Storage Live Migrations. Microsoft System Center VMM 2012 is the more full-featured, multi-hypervisor management solution. And it makes more sense for organizations that primarily use Hyper-V, or if you already have the System Center Suite. However, if you don't have System Center, you have to buy the System Center 2012 Suite to get VMM 2012 and its multi-hypervisor management capabilities. Both solutions can answer your basic, multi-hypervisor management needs, but the best solution depends on your organization's platforms and requirements.