After you have installed Windows Server 2008, you must apply the Hyper-V update packages for Windows Server 2008 (KB950050).

You should also apply any other required updates before you install the Hyper-V role.

To view the list of software updates and check if any are missing, at the command prompt, type:

wmic qfe list

If you do not see “kbid=950050”, download the Hyper-V updates and then type the following command at a command prompt:

wusa.exe Windows6.0-KB950050-x64.msu /quiet

There are three update packages. After you install the updates, you must restart the server. The Update for Windows Server 2008 x64 Edition (KB 950050) and Language Pack for Hyper-V (KB951636) must be installed on the parent partition of the Server Core installation.

The Update for Windows Server 2008 (KB952627) is for remote management of the Server Core installation if you are managing the server from a computer running Windows Vista Service Pack 1 (SP1), and must be installed on the computer running Windows Vista SP1.

Remember : Before you enable the Hyper-V role, ensure that you have enabled the required hardware-assisted virtualization and hardware-enforced Data Execution Prevention (DEP) BIOS settings. Checks for these settings are performed before you enable the Hyper-V role on a full installation, but not on a Server Core installation.

Hyper-V has an algorithm to deal with duplicate MAC addresses on a single host, but not across multiple hosts.

So, if you not take care it is possible to accidentally deploy hosts with duplicate MAC address pools.

How to modify the default pool and how to detect it, if you are experiencing a duplicate MAC address situation with virtual machines, and how to use SCVMM 2008 to manage your Hyper-V hosts that can prevent duplicate MAC addresses ?

Hyper-V allows a virtual machine to be created with a static or dynamic MAC address. A static MAC address is one that the Hyper-V administrator assigns to the virtual machine. A dynamic address is one that Hyper-V assigns from its MAC address pool. When Hyper-V is installed, a MAC address pool is created and stored in the registry at HKLMSoftwareMicrosoftWindows NTCurrentVersionVirtualization. It is stored as a range of 256 values defined by two key values: MinimumMacAddress and MaximumMacAddress.

Since the MAC address pool is created when the Hyper-V role is installed, attempting to install the role and image the physical machine will cause each Hyper-V server deployed using the image to have the same MAC address pool. Even if you sysprep the machine before you image it, the registry values are not reset.

There are a some steps to avoid this situation:

Do not install the Hyper-V role before you sysprep the machine, but have it install as part of the post mini-setup process.

Before you sysprep the machine, delete the following two key values under HKLMSoftwareMicrosoftWindows NTCurrentVersionVirtualization

MinimumMacAddress

MaximumMacAddress

Using the first option will force unique values for the MAC address pool when you install the Hyper-V. The second option will force the keys to be recreated when the VMMS service starts during boot.

Using SCVMM 2008 to deal with MAC issue

System Center Virtual Machine Manager 2008 uses a different approach when managing virtual machines and MAC addresses by using static MAC addresses from a defined pool. This pool is used across all hosts that it manages regardless of host type (Virtual Server 2005 R2 SP1, Hyper-V, or VMware). By default the pool is in the range of 00-1D-D8-B7-1C-00 to 00-1D-D8-F4-1F-FF for 3,998,719 available MAC addresses. You can define your own range if you like, but you must follow these rules:

The first three octets must be the same for the Minimum and Maximum addresses.

You cannot use octets that are already in use by Microsoft or VMware.

Steps to modify the default range in the SCVMM 2008:

Go to the SCVMM Administration console.

Click on the Administration View button.

Click Networking.

Click Global Static MAC address Range.

In the actions pane, click Modify.

Change the range values.

Click OK.

Now all virtual machines deployed using the System Center Virtual Machine Manager 2008 administration console or using SCVMM PowerShell cmdlets will get a static MAC address from the global pool.

Be carefull : do not

deploy a virtual machine using the Hyper-V Manager MMC on a host managed by SCVMM, the virtual machine will not use the SCVMM static MAC address pool, but will use the locally defined dynamic MAC address pool on the Hyper-V host and then you can have the MAC duplication issue.

If you’ve deployed your Virtual Machine on Hyper-V R2 and noticed that a connection between the guest and the virtual switch starts "acting odd", perfoms poorly or becomes disconnected entirely, you may want to apply this update:

Compatibility : Determine whether the workload can run in a virtualized environment.

Supportability : Determine whether the workload is supported in a virtualized environment. It might be necessary to verify third-party vendors’ policies for deployment of the workload on all the virtualization technologies that will be used.

Licensing : Determine whether the workload can be licensed for use in a virtualized environment.

Business benefits : Determine the business reasons for virtualizing the workload and the related benefits. Potential benefits include cost savings, reduced deployment time, and reduced administration costs.

Step 2. Categorize the Workload

Workloads designed for server operating systems typically have different resource requirements and different levels of interactivity than those designed for client workloads.

Option 1: Connected ClientClient computers that will always be connected to the network when running a particular workload can rely upon the network in order to access their applications and data. Typical scenarios include corporate desktop computers and kiosks as well as some computers used in remote offices and home offices. This option should be selected when client computers will have reliable network connections and do not need to run applications when not connected to the network. If the client will always be connected, proceed to Step 5: “Determine Workload Location.”

Option 2: Disconnected ClientClient computers that must have the ability to run virtualized applications while disconnected from the network will require versions of the applications that are resident on the disconnected computer. These options are most useful for situations in which users need only occasional access to applications while traveling or when network connections are unreliable. If the client may run disconnected, proceed to Step 7: “Choose Application Virtualization or Virtualization on the Desktop.”

Step 5. Determine Workload Location

Option 1: Centralized WorkloadIf the workload can be centrally managed and efficiently run from a server, consider a centralized approach to application virtualization. This is beneficial when the workload configuration needs to be tightly controlled or when resources must be centrally managed. It allows for easier deployment and management of workloads.Proceed to Step 6: “Select Desktop or Session Virtualization.”

Option 2: Decentralized WorkloadSome workloads cannot be run from a central server or they require individualized configuration or access to local system resources to run efficiently. These workloads should be deployed using a virtualization method that can be distributed to desktop systems.Proceed to Step 7: “Choose Application Virtualization or Virtualization on the Desktop.”

Step 6. Select Desktop or Session Virtualization

Option 1: Desktop VirtualizationVDI provides virtualized desktops that can run a wide variety of client or server operating systems since they are hosted in VMs on the Windows Server 2008 operating system. Since there will normally be only one user on the client’s operating system, he or she may be granted administrative rights.

Option 2: Session VirtualizationThe client’s applications are run directly on the Windows Server 2008 operating system. There will normally be many connected clients that share the operating system and the applications, so clients cannot be granted administrative rights.All applications that are installed on the server must be able to run on the same Windows Server 2008 operating system. Any incompatibilities should be managed by using another application virtualization technology, such as Microsoft Application Virtualization.

Step 7. Choose Application Virtualization or Virtualization on the Desktop

Option 1: Application VirtualizationMicrosoft Application Virtualization (App-V) provides a method for installing applications into a virtualized environment via MSI or streaming them on-demand. Application processing will occur on client computers. App-V requires that client computers have a complete client operating system that supports the virtualized applications, as well as meeting the hardware requirements for applications that will be deployed and executed on that computer. Sufficient network bandwidth for deploying applications must also be available. See the Infrastructure Planning and Design Guide for Microsoft Application Virtualization at http://go.microsoft.com/fwlink/?LinkId=160978.

Option 2: Virtualization on the DesktopVirtual PC allows users to run entire client operating systems on their local computers. In order to support this configuration, the client computer must have sufficient CPU, memory, disk, and network resources to support the base Windows operating system, as well as resources for each of the VMs that will be supported. Virtual PC provides support for running legacy applications and operating systems. Windows XP Mode provides a tailored Windows XP VM that runs on Virtual PC in Windows 7.Users can create a wide variety of different VMs and can start and stop them as needed. This solution is particularly helpful for software developers and testers who often require access to multiple different platforms.

Additional ConsiderationsAfter selecting the most appropriate virtualization technology for each requirement, decide how the virtualized environment will be managed, and determine whether virtualization technologies should be used separately or together in combination.

Managing the Virtualization Environment

To help you with the challenges of managing a virtualized environment you will need the System Center Virtual Machine Manager and MED-V. Some of the key benefits of them, include: