Archive for May, 2012

Set Pagefile to other drive fails – Hyper-V

May 29, 2012

Takeaway

Pagefiles in Hyper-V VMs can only be placed on Virtual IDE disks, not on Virtual SCSI disks.

IDE?  SCSI?

A not-so-well-known “feature” within Hyper-V VM’s is the fact that the disk with the boot/OS parttion in a Hyper-V VM always needs to be connected to a Virtual IDE controller.

This has to do with the fact that the IDE Controller is natively supported in Windows, so no special drivers need to be loaded first.

The virtual SCSI controller however, requires a driver which is provided by the Hyper-V Integration Services. This driver is loaded later in the boot sequence, so the OS partition cannot boot from a SCSI virtual disk.

Pagefile

Another thing that is very hard to find, is that the Pagefile (swapfile) in a Windows VM can ONLY be located on a (virtual)  IDE disk.

Or, to be more precise, the Virtual Disk on which the pagefile is located, needs to be attached to a virtual IDE Controller in the properties of the VM.

Usually, this is not a problem, because by default Windows manages the Pagefile size and location by itself, thereby locating it on the systemdrive, which in Hyper-V will allways be attached to an IDE controller.

The Problem

The problem however, comes when you manually want to configure the pagefile to move it to a different partition/disk.

This might be the case when your systemdrive has filled up to a point where you’re in need of more space on it.

If the partition/disk where you want to move your pagefile to is attached to a Virtual SCSI controller, things get messy.

The Windows OS in the VM will not give you any warnings about this, and just tell you to reboot the VM for the changes to take effect.

However, when you reboot the machine, you will find that the pagefile simply has not been created on the SCSI drive.

If you have also set the pagefile to a very small size on the systemdrive, you might get warnings about an incorrectly set pagefile-size.

Workaround

So, what can you do to move the pagefile to another disk/partition in a Hyper-V VM?

Option 1: Add a new IDE disk for the Pagefile

Shut down the VM.

Create a new virtual disk, attached to a virtual IDE Controller.

Size the disk according to your pagefile needs (IE for an 8 GB pagefile, create a 10 GB disk) . I would advise to use a fixed size disk, not an expanding one.

Boot the VM. Initialze the new disk in Disk Management, and create a partition on it.

Now change the pagefile settings, creating a fixed size pagefile on this new disk. Set the pagefile on your system drive to a small one, like 256 MB.

Option 2: Change the SCSI disk to an IDE disk

Another option is to simply modify your Virtual SCSI disk, to connect it to a Virtual IDE Controller.

With this, you basically turn your virtual SCSI disk into a virtual IDE disk

For this, a reboot is also required.

Performance

But wait, doesn’t a Virtual SCSI disk offer MUCH better performance then a virtual IDE disk?

When you use the Integration Components (like every sane Hyper-V user would) then the answer is No, no and no.

Or, as Technet states:

Although the I/O performance of physical SCSI and IDE devices can differ significantly, this is not true for the virtualized SCSI and IDE devices in Hyper-V. Hyper-V.

IDE and SCSI devices both offer equally fast I/O performance when integration services are installed in the guest operating system.

Further Reading:

Technet: Planning for Disks and Storage in Hyper-V

Ben Armstrong: Why Hyper-V cannot boot off SCSI disks (and why you should not care)

SMS Component Manager failed to install component SMS_PORTALWEB_CONTROL_MANAGER on server . The IIS ASP.NET is not registered correctly

May 10, 2012

When installing ConfigMgr 2012 on a site, i was looking at the Site Status node to check if all components were doing good.
This is located in the ConfigMgr Console under \Monitoring\Overview\System Status\Site Status
One component had a red X, specifically the Application Catalog Website Point Role.

Specific error messages were:

Site Component Manager failed to install component SMS_PORTALWEB_CONTROL_MANAGER on server .

The IIS ASP.NET is not registered correctly.
Solution: Review Microsoft Technet article located at: http://support.microsoft.com/kb/306005 to resolve the issue.

Wow, now that’s a pretty clear errormessage, even including a link how to fix it.
Lets see some more info about this though.
There is a specific logfile for this component, called SMSPORTALWEBsetup.log, which in a default installation is located under C:\Program Files\Microsoft Configuration Manager\Logs.

In this file, the following was shown

So, ASP.NET isn’t properly registered in IIS. And we know how to fix it.
Just run

%windir%\Microsoft.NET\Framework\version\aspnet_regiis.exe” -i

Ehm, but what about the \version\ bit then?
There are no less then SIX versions of .NET present on this system:

Now which one to register?
It would make sense it it was the 4.0 version, since that is a new requirement in ConfigMgr 2012.
So, lets do that one:

Hey waddayaknow? It worked.
The installation of the role finished nicely:

Thanks to Markus Baker, whose blog posting confirmed my findings. Was hard to find though, in German 🙂

“Shared-Nothing” migration in Server 2012 Beta. The Logon attempt failed (0x8009030C)

May 4, 2012

Virtual Machine Live Migration in Server 8 Beta has been enhanced with some nice features, one of them being the so-called “Shared Nothing Live migration

Basically this means that the datafiles of the VM you want to Migrate, no longer neeed to reside on shared storage.

Also, the Hyper-V hosts you want to move the VM between, do not have to be in the same cluster.

Beware though, that the Hype-V Hosts DO have to be in the same Active Directory domain. This will NOT work in a workgroup scenario!

I am NOT going to show you how to do this, there are enough nice blogposts about this already (1 and2 )

I got a nice error today i want to share with you, because i couldn’t find anything about it.

When trying to kickoff a LiveMigration from one Server 8 Beta host to another i (sometimes) got the following error:

The Virtual Machine Service faield to authenticate the connection for a Virtual Machine migration at the source host: The Logon attempt failed (0x8009030C)

So, first question; did i set up the authentication correcly then?

Nothing special here, using Kerberos for authentication, and of course configured the Hyper-V hosts in AD for Constrained Delegation

 

Both Hyper-V hosts were able to properly reach the Domain Controller, and eachother.

Weird thing is, sometimes it WOULD work. By the way, changing to CredSSP didn’t help either.

 

Solution

After some testing it turned out that the problem only occured when i start a Live Migration on another host then the one i am running the Hyper-V Management console on.

Wait, whut?

– On Host 1, i log on locally and start the Hyper-V Management Console.

– I select a VM running on the local host and am able to properly move this to Host 2.

The VM is now running on Host 2.

– Then, in the Hyper-V Management Console, i add Host 2 to the console. (still running on Host 1)

– I then try to migrate the VM back to Host 1. This fails, with the error about logon.

 

So, when trying to move a VM to another Server 8 Beta host, execute this action on the Local Hyper-V Host.

As we already read here, it is also not a good plan at this time to start a live migration from your workstation. For now, just use the local server.