Upgrade to Windows Server 2016 TP5 – Live migrate from TP4

So the day have come when finally the new TP5 bits have been released! And I of course downloaded and wanted to test to upgrade one of my hyper-v servers in my home lab.

Screen Shot 2016-04-27 at 21.53.33

Once installed I tried to migrate a VM from the hyper-v manager at the new TP5 node, I had of course set up kerberos and delegation before but still it gave me an error. To see if it was just in the GUI or also in PowerShell I tried the same move and got the same issue

Screen Shot 2016-04-27 at 23.26.57

So powershell remoting to the rescue to test that I could live migrate my VM´s from the TP4 to the TP5 and that worked nicely. I will dig some more into if there is an issue with the AD objects or what causes this and do an update if I find anything…

Screen Shot 2016-04-27 at 23.27.44

happy testing!

 

SC VMM bare metal deploy with UEFI enabled host

During last week I was working on some bare metal deployment on some Hyper-V hosts with System Center VMM. We had deployed them before using legacy boot but now we had updated the BIOS to latest version and got into some trouble.. Maybe it was because of the HPE instead of the HP 😉

Screen Shot 2016-03-17 at 11.19.02

During the deployment the WinPE got an error and could not connect to the VMM server,

Screen Shot 2016-03-17 at 13.17.02

We tried to update NIC drivers and stuff on the WinPE image but that did not help. During the testing we started the server and configured it to boot with EFI instead of legacy boot and olala it worked to connect to the VMM server but thus as the Hyper-V VHD was MBR we got the following error:

Screen Shot 2016-03-17 at 15.41.29

The easiest way I could think of right there and then was to create my new GPT based VHD to boot the Hyper-V host with a powershell convert script from the original MBR vhd. The script required to be run on a Hyper-V host so I connected to one of the Hyper-V nodes in the test cluster and ran the script on a patched VM that was sysprepped:

Screen Shot 2016-03-17 at 16.02.48

And once that was done I had to update the Physical profile to set the disk to GPT instead of MBR:

Screen Shot 2016-03-17 at 16.23.23

And now the deployment worked nicely all the way!

 

Configure VM Network settings from the host using Hyper-V 2016

Today I used Ravikanth script for configuring an VM´s NIC settings from the host and can confirm that it works nicely also on a Hyper-V Host with 2016 TP4 and a full-GUI VM and also with VM´s running Nanoserver :-)

There is a cmdlet in the Hyper-V PowerShell module that is named: Set-VMNetworkAdapterFailoverConfiguration although that configures only the nic for the Hyper-V replicated VM and cannot be used on a ordinary vm. So using the function from Ravi I set the VM´s configuration using the Hyper-V WMI virtualization namespace.

Screen Shot 2016-03-01 at 14.53.00

And trying to set it on a Nano server also works nicely

Screen Shot 2016-03-01 at 15.19.58

 

SCVMM Bare-Metal Deploy errors and PXE error 21164

I was working with a customer yesterday and trying out bare-metal deploy of a Image for their Hyper-V servers, and in this case a brand new Dell R730 with nice specs :-)

During the deployment we got some errors that we had to handle and I wanted to highlight them so that you can handle them if they appear in your environment one day!

First of we had some issues to enable the NIC to respond to PXE but that had more to do with where to find stuff in the bios and iDRAC settings 😉

But once that was fixed we got the following error and I have already mentioned that in a blog post earlier.

Screen Shot 2016-02-25 at 13.09.47

So trying to update the WinPE image got us into some more trouble, as you can see on the following screen dump. This was a new one that I have not seen before, checking the folders I could not find any strange things but…

Screen Shot 2016-02-25 at 15.25.55

I tested to restart the VMM service just in case and the same error appeared and thus I thought that it might go away if I remove and add the PXE server again and yes that worked!

Screen Shot 2016-02-25 at 15.26.05

And after this we were able to deploy a physical servers as a Hyper-V host!

Creating VM´s with configuration version 5.0 on Hyper-V 2016 TP4

Creating a VM in the GUI on a Hyper-V manager with Windows Server 2016 TP4 makes a VM configuration 7.0 by default and once that is done it is not possible to move the VM to a Hyper-V 2012 R2 box.

So if you have a mixed environment and want to be able to move those VM´s to a 2012 R2 Hyper-V box you will have to use powershell to create that VM instead of the GUI. One alternative way is to create them on that 2012 R2 box and then move it to the 2016 but that is not as cool  😉

in the New-VM cmdlet there is a parameter -Version that you can use and set the configuration version to 5.0 instead of 7 and thus enabling it to be compatible with the older version of Hyper-V.

I have two examples in the screendump below where you can see the result,

Screen Shot 2015-11-23 at 13.43.46

My friend Didier has made a blog post about how you upgrade the configuration version if you do not need this backward compatibility and some new features requires the configuration version 7.

Trying to do a Checkpoint on a VM resulting in error 12700

Today I helped a customer that have issues with their new VM´s and doing backup using Veeam and also trying to do Checkpoints within VMM on their Hyper-V 2012 R2 environment.

19982_orig

Looking at the error message from VMM it showed quite clearly that it was just one of the VHDx that was having the issue and looking at where it was residing it showed the reason:

Screen Shot 2015-11-13 at 11.43.59

The file was residing on its own in a CSV volume and directly in the root folder, and as stated in the blog post from the Core Team the VM worker process (VMMS) does not have the relevant permissions on that level and thus getting a access denied error when trying to do a checkpoint.

So how do you solve it? By either manually or with live storage migration moving it into a subfolder which will give the right ACL´s and thus giving the VM worker process rights to create a avhdx file in that folder.

So watch out when you create new VM´s that you actually put all of the virtual disks that belong to it inside folders on those CSV´s!

Rescue failing deploy from VMM 2012 R2 to Hyper-v hosts

I was contacted by a customer with an issue where he could not use ISO´s or deploy VM´s from his VMM server to the Hyper-V hosts.

Screen Shot 2015-10-13 at 16.36.56

First I started searching the net for solutions and found some that could match:

Move VM error  : https://fawzi.wordpress.com/2013/10/03/vmm-2012-sp1-error-2912-when-moving-vm/ suggesting changing BITS port

Deploy VM from VMM : http://blogs.msdn.com/b/nitinsingh/archive/2015/03/31/getting-error-error-2912-quot-an-internal-error-has-occurred-trying-to-contact-the-server-no-param-no-param-while-trying-to-deploy-a-virtual-machine-in-system-center-virtual-machine-manager-scvmm.aspx where I updated the hosts certificates on the VMM server,

but they did not help as the error continued, I also tried to reinstall the VMM agents on the hosts if that would have been the cause.

Starting to investigating this issue more thoroughly i noticed some strange things, I could store VM´s from the hosts into the VMM library so that way worked with BITS, So the problem seemed to be related to the VMM Server..

Screen Shot 2015-10-13 at 16.36.39

Talking with my friend and MVP Daniel Neumann he sent me a link to another blog post that describes if you have deleted the VMM certificate (my certificate was there but apparently out of sync in some way) so here is the steps to regenerate the VMM certificate:

1. Launch the VMM PowerShell on the Virtual Machine Manager server.

2. Type the following and press enter:

$credential = get-credential

3. Type the username and password that is a local admin on the VMM server.

4. Type the following and press enter:

Get-VMMManagedComputer -ComputerName “vmm2012sp1.contoso.com” | Register-SCVMMManagedComputer  -Credential $credential

5. Ensure that the VMM job completes successfully under the Jobs tab in the VMM console.

Note: In my example above, vmm2012.contoso.com is the FQDN of the VMM server.

And after this the VMM deploy works again!

 

Moving SCVMM 2012 R2 Server going bad

I have helped two customers moving their System Center VMM 2012 R2 servers to a Hyper-V VM..  Instead of carrying legacy stuff we installed a new Generation 2 VM in Hyper-V with Windows Server 2012 R2.

Easier said than done… or?

car_cliff-copy

So what went wrong at both customers and how did I solve it?

We copied the library and the database backup from the old server. Did a shutdown of that one and then started the new one and added that to the domain and then installed the VMM server.

Patched it to UR7 with windows update and after that we did a restore of the db from the old system with the binary scvmmrecover.exe -path <db-backupfile>.

After that I started the console and trying to check things in properties and stuff and the console crashed  the service got a dump:

Screen Shot 2015-10-08 at 15.48.05

Looking at the dump, I could see that not everything was great with the database, (the old VMM server was patched to UR7 before I did a database backup). Based on the log file something is missing in the restored database…

Screen Shot 2015-10-09 at 10.35.49

So how did I solve it? I uninstalled the UR7 on the VMM server and then reinstalled it and voila, no more crashes!

 

Using Azure Automation and Hybrid Worker to automate SCVMM tasks

automation-hybrid-runbook-worker-overview

Azure Automation and Hybrid Runbook workers are fun to play with and today I wanted to try something like automating System Center VMM tasks,

I read Markus Lassfolk´s post about changing VM´s network adapters MAC from dynamic to static which is the prefered setting that you should use for your Hyper-V VM´s. So How could I utilize this with Azure Automation runbooks instead of an script that is run on the VMM server?

In my runbook I have a VMM Automation account declared as a credential and I connect to the VMM server with that to be able to reconfigure the VM´s. If I do not use a -PSCredential for the inlinescript the Runbook worker will try to use the system account of the Worker server and that does not work so well on the connection to the VMM server,

Screen Shot 2015-09-09 at 15.24.12

Either start it from powershell console if you have Azure PowerShell module installed or within the GUI and I used only one input parameter and that can be used for an explicit VM or “All” VM´s.

Screen Shot 2015-09-09 at 15.04.50

And as you can see in the VMM log I have changed the VM´s NICS, and also if a VM have two or more NICS all of them get a static MAC configured :

Screen Shot 2015-09-09 at 15.03.07

Hope that you see the potential in Azure Automation and Happy automating!

 

Download SysCtr TP3 evaluation VHD´s with PowerShell

Earlier this week Microsoft released Windows Server Technical Preview 3 and System Center Technical Preview 3 to the masses.

There is also a way to easily test the System Center bits instead of installing everything with prereqs and stuff and that is to use the preinstalled VHD´s that Microsoft and the System Center team provides.

You can find the eval VHD´s here on the download site:

Or you can use my powershell script to download them and import into your Hyper-V server and start playing once downloaded :-D. If there are issues during download you can just start the script again as I check if the file already been downloaded so you will only download each file once and as I use the BITS engine the file appears in the download folder when it is completely downloaded….

Happy playing!!