Wednesday, February 06, 2008

Importing Virtual Server guests into Hyper-V

As said, I was going to figure out why the import failed. I started off looking at the permissions of C:\ProgramData\Microsoft\Windows\Hyper-V. It turns out that a security identifier called Virtual Machines has full control. Naturally, I jumped to my c:\guest\psk10 folder at tried to add the security identifier. But the dialog box cannot find it and as it is not a local group on my server, it must be a new built-in security identifier - one that the brand-new WS08 GUI does not recognize!

Luckily, PowerShell exists, so it is quite easy to get rid of all that GUI translation stuff and get to the real deal -

image

I bet S-1-5-83-0 is Virtual Machines and a to confirm it, I went searching on MSDN -

So I have to prove my point myself -

> $acl=get-acl C:\Guests\psk10
> $acl.SetSecurityDescriptorSddlForm( ($acl.sddl + "(A;;FA;;;S-1-5-83-0)(A;OICIIO;0x101f01ff;;;S-1-5-83-0)") )
> set-acl C:\Guests\psk10 -AclObject $acl
>

Voila, its there -

image

Microsoft, get you documentation up-to-date!

After this, I tried the import. Looking in the eventlog, I found "Failed to find virtual machine import files under location 'C:\Guests\psk10\'." I wonder: Have I misunderstood "Import" and is Import simply an operation that adds an existing Hyper-V Virtual Machine? Is there not easy way to migrate Virtual Server guests? Maybe, I have to look at SCVMM.

I tried to find some information about this, but did not succeed. In my search, I found another interesting item - the team blog at http://blogs.technet.com/virtualization/

7 comments:

Lars W. Andersen said...

Hi Per,

It sounds like you are trying to use the import feature? Be aware that the import feature is only meant to import existing Hyper-v machines. Not Virtual PC or Server machines.

If you wan't to do that, you just build a new Hyper-V machine and attach the existing vhd file in the process ... That have workd out fine with all 10 of my virtual machines! :)

/Lars

Per Østergaard said...

Hi Lars.

Thanks for the comment - and I actually guessed that already. But, I think it is poor, that I have to just import the VHD, as I have to redo networking etc. There should have been an import wizard for that. It is more or less only a simple matter of reading the XML (VMC) file. I'm planning at looking at System Center Virtual Machine Manager for help.

Anonymous said...

Appreciate the Article. If you want to take a look, I've found a nice How-To easily convert VM's to Hyper-V or Import them. Here ya go:

http://www.groovypost.com/howto/microsoft/windows-server/migrate-microsoft-virtual-server-2005-r2-vm-to-windows-server-2008-hyper-v/

DJK said...

The question is, though, how would one convert a physical machine into a HyperV recognizable VM?

Per Østergaard said...

I would use System Center Virtual Machine Manager (SCVMM) and make a Physical-to-Virtual (P2V) on it. Works great, done it numerous times.
Without SCVMM you need some way of converting the physical disk into a VHD. I do not know a tool, I can recommend, but you can use VMWares tools for converting it to a VMWare harddisk and then import that - I guess.

Anonymous said...

Let's all just agree that as far as the growing list of Hypervisors out there that Microsoft's Hyper-V just isn't ready for production yet.

There's no portability in or out of the platform even from Microsoft products, and the cross-platform support is better from competitors.

We have 2 Hyper-V hosts, 2 virtual server hosts, and about 40 vmware hosts of varying versions (server 1.0 and 2.0, ESXi, workstation).

Atif Ahmed said...

You can also use VMC2HV.VMC2HV was never developed to replace the SCVMM functionality, as VMRCplus was never developed for the same reason. SCVMM is an enterprise class product which you should use to import, create and manage virtual machines. SCVMM can import the VMC file as well and provides some additional management functionality. VMC2HV basically does the same but was intended for people who do not (yet) have SCVMM. For example all people using Hyper-V on laptops or a couple of servers. Using SCVMM just for importing VMC files would be a bit too much of a step.