Dress up your office wall with the Hyper-V component architecture poster!

The poster is a great visual tool to help in the understanding of the key features and components of the Hyper-V in Windows Server 2008 R2.  It highlights key Hyper-V components including:

  • Architecture
  • Virtual Networking
  • Virtual Machine Snapshots
  • Live Migration
  • Storage Interfaces
  • Storage Types
  • Storage Location and Paths
  • Import and Export

This large-format poster provides practical visual depictions of the Windows Hypervisor, live migration process, cluster shared volumes architecture, VMQ data paths, disk storage I/O path, and much more.

Download here ; http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=5567b22a-8c47-4840-a88d-23146fd93151

Print, and Enjoy!

Posted in Uncategorized

All the great MDT video’s! (Windows 2008 R2, Hyper V2, Exchange 2010)

On Edge.technet.com of the Microsoft Technet site are a lot of great video’s made by Microsoft themself.

Because you probebly don’t hevae the time to see and find them all i made a great collection! Have fun!

Windows Server 2008 R2: Remote Desktop Services – The Series (P1)
Windows Server 2008 R2: Remote Desktop Services – The Series (P2)
Windows Server 2008 R2- Remote Desktop Services – The Series (P3)
Windows Server 2008 R2- Remote Desktop Services – The Series (P4)
Windows Server 2008 R2- Remote Desktop Services – The Series (P5)

Part 1 Master Your Environment with System Center Configuration Manager 2007
Part 2 Master Your Environment with System Center Configuration Manager 2007
Part 3 Master Your Environment with System Center Configuration Manager 2007
Part 4 Master Your Environment with System Center Configuration Manager 2007

Hyper-V R2- Failover & Live Migration
Hyper-V R2- Making Highly Available VMs
Hyper-V R2- Making Highly Available VMs
Hyper-V R2- Dynamic Storage
Hyper-V R2- USB over Network with Fabulatech
Hyper-V R2- Introducing Cluster Shared Volumes
Hyper-V R2- Building a Hyper-V R2 Cluster
Hyper-V R2- Initial Installation & Configuration

Demo 1 – Hyper-V Live Migration
Demo 2 – Boot From VHD
Demo 3 – Windows PowerShell 2.0 Remoting
Demo 4 – Active Directory Enhancements

Microsoft Deployment Toolkit – building install media for Windows 7
Windows XP Migration to Windows 7 RC using MDT Beta 1 – Part 1- The OS Install
Windows XP Migration to Windows 7 RC using MDT 2010 Beta 1 – Part 2- How To Build It…

Open Source Software (OSS) on Windows Server 2008

Exchange 2010 Demo: Read and Reply State
Exchange 2010 Demo: Conversation View
Exchange 2010 Demo: Move Conversation
Exchange 2010 Demo: Nickname Cache
Exchange 2010 Demo: UM Card

Interview with Kristian Andaker on Transitions to Exchange Server 2010
Interview with Kristian Andaker on Exchange 2010 OWA
Interview with Matt Gossage on Exchange Server 2010 and Storage
Interview with Scott Schnoll on Exchange 2010 High Availability
Interview with Scott Schnoll on Backup Strategy in Exchange 2010
Interview with Becky Benfield on Exchange 2010 Site Resiliency at Tech Ed 2009

Posted in Uncategorized

Three Steps to a PXE-Free XenDesktop on Hyper-V


I ran into an interesting situation last week while working with Tony Sanchez from our Global Microsoft Team. He was setting up XenDesktop 4 on Hyper-V 2008 R2. However, the lab he was at used a Windows Deployment Server (WDS) for image management and it relies extensively on PXE. Rather than modify the WDS to support the Provisioning Services PXE boot file, we decided the best solution was to make a boot ISO that will load the OS directly from the Provisioning Services host and then boot the guests from that ISO.


Since not all my readers are familiar with using the Boot Device Manager, I will set the stage. When configuring a virtual machine to boot off of a CD-ROM image for PVS, you need to do three things:

  1. Add a Legacy network card on the host since the Synthetic network adapter is not created until the Operating System loads.
  2. Configure the BIOS boot order so that CD-ROM is first in the list.
  3. Assign a bootable ISO image to the CD-ROM/DVD drive.
Take Note
The PXE boot option is required in order for the NIC Option ROM to stay resident in memory during the pre-boot process. This way, UNDI will be available to the boot device to properly initialize the NIC. Otherwise, the “API not found” message would be displayed by the boot device.

In deployments of XenDesktop where you have more than about 15 machines, the XenDesktop Setup Wizard (XDSW) is normally used to create and link the XenDesktops with Hyper-V. Unfortunately, the XDSW does not support all the possible VM configuration options when duplicating the source virtual machine. One of the properties that is not transferred to the new virtual machine is the ISO in the DVD drive. Normally, this behavior is the preferred because Hyper-V needs a special configuration to support sharing an ISO across multiple guests simultaneously (See this Technet article), which if not configured correctly can cause startup issues.

If you do not want to configure ISO sharing, you can use the VMM server and VMM library to copy the boot ISO to each virtual machine’s folder. If the ISO was large, I would say spend time setting up the sharing configuration; however, in this case the file itself is only 300K and copying it will eliminate the possibility of file sharing/locking issues.

Now you understand some of the challenges, I can tell you the three steps to a PXE-free Hyper-V deployment.:

  1. Create a PVS Boot ISO using the Boot Device Manager
  2. Import that PVS Boot ISO into the VMM Library
  3. Execute a PowerShell script

Step 1: Create a PVS Boot ISO

The Provisioning Services Boot Device Manager is a three-dialog wizard that lets you pre-configure the boot environment just like a PXE server would, except you can then write that to a drive or CD-ROM media. The Boot Device Manager is found on the Start menu of any provisioning server at All Programs >> Citrix >> Provisioning Services >> Provisioning Services Boot Device Manager.

I do not want to spend a lot of time discussing the various options or provide a tutorial on this utility; however, I will provide a few pointers. First, be sure to enable the “Citrix PVS Two-Stage Boot Service” and set it to start automatically on any servers you will use as the targets for the ISO image. Second, if you are using Windows 7, be sure to enable the PAE Mode on the second page of the wizard, like this:

Third, be sure to select Citrix ISO Recorder as the boot device (shown below) before burning the ISO image, lest you accidentally wipe out your local hard disk. For a complete guide on using the Boot Disk Manager, see this Citrix Support Article CTX121331.

Step 2: Import the ISO into the SCVMM Library

Take the ISO you created in Step 1 and save it to the folder where the SCVMM library stores are located. I created a new folder called ISOs at the same level as VHDs and placed the ISO in that folder. Next start the SCVMM Administrative Console and go to the Library tab. Select the MSSCVMMLibrary node and click Refresh on the context-menu to add the ISOs to the library as shown here:

Step 3: Execute the PowerShell Script

Next, you can copy the contents of the PowerShell script below and save it to a file called AttachISO.PS1. I realize that I am not yet a PowerShell guru, so I am aware that several optimizations and error checks could be made to this script. Feel free to modify it for your own use. My goal was provide a working example to help with this issue. The PowerShell script below does the following:

  1. Sets the boot order to CD, PXE (Legacy NIC), IDE, Floppy
  2. Copies the ISO image from the library to the VM’s folder
  3. Creates a DVD drive object at the IDE bus 1:0 if no DVD drive is found
  4. Removes any existing ISO and sets the ISO image to the one specified on the command-line
  5. For larger environments, it lets you know how many VMs it has left to process
AttachISO PowerShell Script
# Purpose:      Attach ISO image from VMM Server Library to Guest Virtual Machine
# Date Written: 12 April 2010
# Author:       Paul Wilson (no implied or expressed warranties)
# Usage:        AttachISO [UNC Path to ISO in Library] [VM Name to Match Criteria]

# Check for the two required arguments and offer command-line assistance if not found

if ($args -eq $null -or $args.Count -lt 2)
   write-output "Usage: AttachISO.ps1 UNC_fileName_ISO_File VMNameMatches"
   write-output "Example: .\AttachISO.ps1 ""\\SCVMM\MSSCVMMLibrary\ISOs\pvbt.iso"" ""Desktop"" "
   exit 1

# Grab the arguments and store them for later use

$ISOPath = $args[0]
$VMNameMatches = $args[1]

# Get the name of the SCVMM server we are running this on.
# The VMM server could be passed as a parameter as well.

$VMMServer = Get-VMMServer -Computername "localhost"

# Get the ISO image reference object using the ISO path provided earlier. 
# Using the full path guarantees the right object is found. 

$ISOImage = Get-ISO -VMMServer $VMMServer | where { $_.SharePath -eq "$ISOPath" }

if ($ISOImage -eq $null)
   write-output "Unable to find ISO: $ISOPath"
   exit 1

# Get the collection of VMs that match the name parameters supplied and output that information

$VMs = Get-VM | where { $_.Name -match "$VMNameMatches" }
if ($VMs -eq $null)
   write-output "No VMs match the pattern: $VMNameMatches"
   exit 1
   $LeftToGo = $VMs.Count
   if ($LeftToGo -eq $null)
      $matchString = "Only one VM matched the pattern: {0}" -f $VMNameMatches
      $LeftToGo = 1
      $matchString = "{0} VMs match the pattern: {1}" -f $VMs.Count, $VMNameMatches
    write-output $matchString

# This loop goes through each VM found and does the following:
#   1. Sets the boot order to CD, PXE Nic, IDE, Floppy.
#   2. Gets the DVD/CD drive object.
#   3. The script will copy the ISO image from the library to the VM's folder.
#      The copy is part of the Set-VirtualDVDDrive and New-VirtualDVDDrive cmdlets.
#   4. Creates the DVD drive object if none found and sets it to the ISO.
#   5. Removes any existing ISO and sets the ISO image to the one specified.
#   6. Outputs the number of VMs remaining to process. Added for large deployments. 

foreach ($VM in $VMS)
   $LeftToGo = $LeftToGo - 1
   Set-VM -VM $VM -BootOrder CD,PXEBoot,IDEHardDrive,Floppy
   $current_dvd = get-VirtualDVDDrive -VM $VM
   if ($current_dvd -eq $null -or $current_dvd.count -eq 0)
      $newDVD = New-VirtualDVDDrive -VM $VM -Bus 1 -LUN 0 -ISO $ISOImage
      $DVDResultMessage = "Created DVD Drive on {0}. {1} VMs left to go." -f $VM.Name, $LeftToGo 
      if ($current_dvd.Connection -ne "None")
         set-VirtualDVDDrive -VirtualDVDDrive $current_dvd -noMedia
         set-VirtualDVDDrive -VirtualDVDDrive $current_dvd -ISO $ISOImage 
         $DVDResultMessage = "Replaced existing media in DVD Drive on {0}. {1} VMs left to go." -f $VM.Name, $LeftToGo
         set-VirtualDVDDrive -VirtualDVDDrive $current_dvd -ISO $ISOImage 
         $DVDResultMessage = "Successfully attached ISO to the DVD Drive of {0}. {1} VMs left to go." -f $VM.Name, $LeftToGo
    write-output $DVDResultMessage
Posted in Uncategorized

Failover Clustering for Hyper-V with File Server Storage

In a previous blog post, I described 5 different ways to implement Windows Server Failover Clustering with Hyper-V. Those options included: Parent-based Failover Clustering with two physical servers, Child-based Failover Clustering with two physical servers, Mixed Physical/Virtual Failover Clustering, Failover Clustering with two child partitions on one physical server and Standalone demo laptop with Virtual iSCSI SAN.

However, I failed to mention in that post the option to use CIFS/SMB file server share as your option for Failover Clustering storage. This scenario is so unique (with differences in flexibility, cost and performance),  that I would argue it constitutes a sixth method. Here’s how you can do it.

Before and After Diagrams
As I did with the previous blog post, let me describe the scenario using two diagrams. First, here is a diagram describing the scenario before a failure:


Now, here’s a diagram describing the scenario after a failure in SPTNODE1:


As you can see, we use a file server (called SPTSERVER1) for storing the Hyper-V files. The idea is to store the configuration files, the VHD itself and the VHD snapshots in the \\SPTSERVER1\VMSHARE\VM1 folder. As we do when using a SAN for shared storage, the surviving node will take over and start the VM in case of a failure. We can also use the very same scenario for Quick Migration, making the VM move orderly from one node to another by saving the state to the file share and instructing to other node to take over and restore the VM.

Continue reading

Posted in Uncategorized

Hyper-V Failover Clustering Options

There are many ways to implement Windows Server Failover Clustering with Hyper-V. I could actually find five unique methods to do it. Some of them will actually not give you a fully fault-tolerant solution, but most of them actually make sense in specific scenarios (even if only for demonstrations). In any case, just trying to understand and differentiate them will probably be a good exercise.

1 – Parent-based Failover Clustering with two physical servers
In this first scenario, probably the most common one, you implement Windows Server 2008 Failover Clustering at the Hyper-V Parent (Host) level. You will need some shared storage, like a Fibre-Channel or iSCSI SAN.

Here is a diagram describing the scenario before a failure:


Here is a diagram describing the scenario after a failure:


As you can see, this can survive the failure of one of the physical servers. In fact, if you have a redundant network and storage infrastructure (not shown above), you can have a truly highly available solution.

Additional details about this solution (including screenshots on how to configure it) are available at http://blogs.technet.com/josebda/archive/2008/04/14/snw-demo-windows-server-2008-core-hyper-v-and-failover-clustering-with-screenshots.aspx

Continue reading

Posted in Uncategorized

Offline Virtual Machine Servicing Tool v2.1 (VHD)

Source; http://blogs.technet.com/virtualization/archive/2009/12/10/Offline-Virtual-Machine-Servicing-Tool-v2.1-.aspx

Virtualization affects how we plan, build, deploy, operate, and service workloads. Customers are creating large libraries of virtual machines containing various configurations. The patch-state of these virtual machines are not always known. Ensuring that offline virtual machines are properly patched and won’t become vulnerable the instant they come online is critical.

I am therefore very pleased to state that the Offline Virtual Machine Servicing Tool v2.1 has now been released!

Congratulations to the Solution Accelerator team for this release!

The Offline Virtual Machine Servicing Tool 2.1 has free, tested guidance and automated tools to help customers keep their virtualized machines updated, without introducing vulnerabilities into their IT infrastructure.

The tool combines the Windows Workflow programming model with the Windows PowerShell interface to automatically bring groups of virtual machines online, service them with the latest security updates, and return them to an offline state.

What’s New?

Release 2.1 is a direct response to customer and Microsoft field requests to support the R2 wave. Offline Virtual Machine Servicing Tool 2.1 now supports the following products:
· Hyper-V-R2
· VMM 2008 R2
· SCCM 2007 SP2
· WSUS 3.0 SP2
· OVMST 2.1 also supports updates to Windows 7 and Windows Server 2008 R2 virtual machines.

Download here; Offline Virtual Machine Servicing Tool  2.1
More info; http://technet.microsoft.com/en-us/library/cc501231.aspx

Posted in Uncategorized

Microsoft’s Hyper-V R2 vs. VMware’s vSphere: A feature comparison

VMware and Microsoft are ramping up their virtualization games with relatively new releases. Scott Lowe compares and contrasts some of the major features in vSphere and Hyper-V R2.

Source: http://blogs.techrepublic.com.com/datacenter/?p=1820

Microsoft was late to the virtualization game, but the company has made gains against its primary competitor in the virtualization marketplace, VMware. In recent months, both companies released major updates to their respective hypervisors: Microsoft’s Hyper-V R2 and VMware’s vSphere. In this look at the hypervisor products from both companies, I’ll compare and contrast some of the products’ more common features and capabilities. I do not, however, make recommendations about which product might be right for your organization.

Table A compares items in four editions of vSphere and three available editions of Hyper-V R2. Below the table, I explain each of the comparison items. (Product note: With the release of vSphere, VMware has released an Enterprise Plus edition of its hypervisor product. Enterprise Plus provides an expanded set of capabilities that were not present in older product versions. Customers have to upgrade from Enterprise to Enterprise Plus in order to obtain these capabilities.)

Table A

Continue reading

Posted in Uncategorized

New tool Sysinternals, disk2vhd!

I am a big fan of sysinternals tools and I use these tools quite often to debug OS related issues. These tools are quite useful when you want to understand internals of OS. Mark and his team has been doing a great job in keeping these tools up to date and adding new features once in a while. One such new tool that got released yesterday is Disk2VHD. You can download it here. Here is how TechNet link decribes this new tool.

Disk2vhd is a utility that creates VHD (Virtual Hard Disk – Microsoft’s Virtual Machine disk format) versions of physical disks for use in Microsoft Virtual PC or Microsoft Hyper-V virtual machines (VMs). The difference between Disk2vhd and other physical-to-virtual tools is that you can run Disk2vhd on a system that’s online. Disk2vhd uses Windows’ Volume Snapshot capability, introduced in Windows XP, to create consistent point-in-time snapshots of the volumes you want to include in a conversion. You can even have Disk2vhd create the VHDs on local volumes, even ones being converted (though performance is better when the VHD is on a disk different than ones being converted)


I downloaded this tool in the morning and experimented a bit on my Windows 7 system. Usage of this tool is straight forward. You see a dialog with all disk partitions as listed in the screen shot here. All you need to do is select all the partitions you want to export to a VHD and click “Create”. The VHD export will take sometime based on the overall disk size you selected. For my experiments, I just selected first two partitions. This is because I have all the BCD information on partition 1 and without that my new VHD will be meaningless. You may see lot of CPU/memory utilization while the export is in progress. On my system, it looked something like this.

Once the export is complete, I rebooted my system in to Windows Server 2008  R2 and created a virtual machine and attached the exported VHD. That is it. My virtual machine is ready with installed OS and all the applications I was running on the physical Windows 7 system.

As I powered on the VM, the first screen showed me the boot menu I usually see on my physical machine. This is because I never removed the additional multi-boot entries I had in the BCD stored on first partition.  This entries — if selected — won’t work because I did not export the partitions containing those OS images to the VHD.


At this point, I continued selecting the Windows 7 entry and started booting OS. Within a few seconds, I could see the user selection screen and after I logged in using my regualr user account, I could see all the applications working as usual. I also have Windows Virtual PC with WinXP mode in the VHD image. But — as I expected — that did not work as it requires hardware assisted virtualization which is something that will not be availble inside a virtual machine.


Posted in Uncategorized