Archive

Posts Tagged ‘Virtualization’

Enhances the performance of the Cluster WMI (MSCluster) calls by SCVMM

December 15, 2010 Leave a comment

 
The cluster team is constantly trying to optimize VMI performance, and this especially true for Hyper-V and SCVMM integration.

If you are using SCVMM or WMI,  Microsoft Cluster Team recommend installing the following hotfix on all cluster nodes which enhances the performance of the Cluster WMI (MSCluster) calls by SCVMM: http://support.microsoft.com/kb/974930

(Thanks to Symon Perriman)

SCVMM 2008 R2 SP1 RC is now ready to download

December 8, 2010 Leave a comment

For those who are participant in a Microsoft Connect beta program : SCVMM 2008 R2 Beta :

The  SCVMM 2008 R2 Service Pack 1 Release Candidate is now ready to download from https://connect.microsoft.com/site799

This release adds support for Windows Server 2008 R2 SP1 RC to SCVMM. We’ve added the necessary properties and controls to allow you to create and manage Dynamic Memory and RemoteFX enabled on virtual machines on Windows Server 2008 R2 SP1 Hyper-V hosts.

 Since this is a pre-release version, usage of this is limited to test environments. You’re encouraged to ask questions via theSCVMM forums

Hyper-V Cloud. Links to download the Deployment Guides

December 6, 2010 Leave a comment

As many are requesting the links to download the Microsoft Hyper-V Cloud Deployment guides.

Building Private Clouds With Hyper-V Cloud and the Windows Server Platform

Windows Server 2008 R2, Microsoft’s server platform, already delivers comprehensive virtualization and management capabilities through Windows Server 2008 R2 Hyper-V. These technologies, along with Microsoft System Center, provide the components organizations need to implement private clouds. With the new Hyper-V Cloud Fast Track program, Microsoft and its partners will deliver a broad choice of predefined, validated configurations for private cloud deployments, comprising compute, storage, networking resources, virtualization and management software. These programs and offerings help reduce the risk and increase the speed of private cloud deployments.

here are the links. ( Right click -> Save as )

What Is Private Cloud?
http://download.microsoft.com/download/F/A/5/FA5B09CA-D020-45A2-9ED5-84BBB7FB4F33/Hyper-V_Private_Cloud-Datasheet-Final.pdf

 

 More information on Hyper-V Cloud and additional details on how Dell, Fujitsu, Hitachi, HDS, HP, IBM and NEC are participating in the program can be found at http://www.microsoft.com/privatecloud

Everything you wanted to know about Time Synchronization in Hyper-V, but were afraid to ask

November 22, 2010 Leave a comment

 

keeping time inside of virtual machines, how Hyper-V tackles these ?

Check out here in Ben Armstrong, Microsoft Virtualization Program Manager : http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/11/19/time-synchronization-in-hyper-v.aspx

How to fix the ‘Unspecified error’ (0x80004005) : Could not find a usable certificate. Windows 2008/R2

November 19, 2010 12 comments

Hi

Thanks to Dan Boldo (MSFT) and Ben Armstrong (MS Virtualisation PM), here are an explanation and the fix for the error.

Notes:

  • This error only affects VMConnect and does not affect remote desktop connections.
  •  Though this error may occur, the Hyper-V service will continue to operate.   Neither the Hyper-V host nor the running virtual machines will go offline.
  • Microsoft Virtualization Team also confirmed that this issue also affects  Windows 2008 R2 Hyper-V.
  • For Configuring Certificates for Virtual Machine Connection, please read http://technet.microsoft.com/en-us/library/ff935311(WS.10).aspx

The Error

 
Hyper-V Manager

[Main Instruction]
An error occurred while attempting to change the state of virtual machine ‘VMxxx’.

[Content]
‘VMxxx’ failed to initialize.

Could not initialize machine remoting system. Error: ‘Unspecified error’ (0x80004005).

Could not find a usable certificate. Error: ‘Unspecified error’ (0x80004005).

[Expanded Information]
‘VMxxx’ failed to initialize. (Virtual machine XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX )

‘VMxxx’ could not initialize machine remoting system. Error: ‘Unspecified error'(0x80004005).(Virtual machine XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX )

‘VMxxx’ could not find a usable certificate. Error: ‘Unspecified error’ (0x80004005). (Virtual machine XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX )

The Explanation

This error is basicaly cause when the certificate expired, users couldn’t connect or start a VM and then VMMS raise an error. If you try connecting again, this will generate the same message because the certificate was still in an expired state.

The Solutions

Initial one

For Windows 2008, Microsoft introduced a fix (http://support.microsoft.com/kb/KB967902) which auto-generated a new certificate and sent the VMMS to grab it. 

The idea was to have certificates that lasted for one year and then auto-renew.

But, this fix let to another issue : “After a new Hyper-V VMMS certificate is generated, there are mouse and screen resolution issues when managing a virtual machine using the Hyper-V Manager Console”, described  in this KB http://support.microsoft.com/kb/2413735  :

  • When in one year, self-signed certificate expirees, the VMMS grabs a new one but the certificate refresh process is flawed.
  • During the refresh the user loses control of their mouse and their connection resolution drops back to default.

This problem is due the certificate refresh triggers a reset in the VMConnect RDPEncoder. It then initializes a method which puts the mouse in PS2 mode and it change the display settings to RdpEncoderDefaultxxx.

Workaround for this second issue:

  •  
    • Place the virtual machines in a saved state and then resume the virtual machines.
    • Restart the virtual machines.
 Easy when the VM is not in production environment as this that takes care of the refresh of the input and display and the problem goes away, for a year.
 
 
Proactive Workaround
What if instead one year, the new certificate lasted for decades?
 
1. Using the MakeCert utility, the below script will generate a new, self-signed certificate valid until 01/01/2050.
2. You need then point the VMMS to the new certificate :  http://technet.microsoft.com/en-us/library/ff935311(WS.10).aspx
Important Notes : 

 

The Script :

#######################################################################
# Dan Boldo (MSFT)
#

#
#define exception behavior
trap
{
  trap { continue }
  write-host -ForegroundColor Red “Unexpected Exception!`n`r”
  write-host -ForegroundColor White ($_.invocationinfo.positionmessage -replace “`n”)
  0..100 | foreach { write-host -ForegroundColor White   ((gv -ErrorAction SilentlyContinue -scope $_ myinvocation).value.positionmessage -replace “`n”) }
  write-host -ForegroundColor Red “$($_.Exception)”
  exit 1
}
$hostname = “$((gwmi win32_computersystem).dnshostname).$((gwmi win32_computersystem).domain)”
write-host “Host name found:” $hostname
function CreateCert()
{
    write-host “Creating a new certificate using makecert.exe”
    .\makecert.exe -r -pe -n “CN=$hostname” -b 01/01/2005 -e 01/01/2050 -sr LocalMachine -ss My -a sha1 -sky exchange -eku 1.3.6.1.5.5.7.3.1
}
function FindCert()
{
    $t = new-object System.DateTime(2049,1,1,1,10,10)
    $certs = @(dir cert:\LocalMachine\My -recurse | ?{$_.subject -eq “CN=$hostname”} | ? { $_.NotAfter.CompareTo($t) -eq 1 })
    if($certs[0] -eq $null)
    {
        return $null;
    }
    if($certs.Length -ne 1)
    {
        write-warning “More than one certificate is found in store. Please don’t run makecert.exe multiple times.”
    }
    $certs[0];
}

#Find the certificate of interest
$cert = FindCert
if($cert -eq $null)
{
    CreateCert
    $cert = FindCert;
    if($cert -eq $null)
    {
        throw “Certificate Not Found error. Check if makecert.exe is successful or not”
    }
}
write-host “Found certificate of interest:”
write-host $cert | select NotBefore, NotAfter

#tweak system settings to let VMMS use the certificate of interest.
$thumbprint = $cert.Thumbprint 
$location = $cert.PrivateKey.CspKeyContainerInfo.UniqueKeyContainerName
$folderlocation = gc env:ALLUSERSPROFILE
$folderlocation = $folderlocation + “\Microsoft\Crypto\RSA\MachineKeys\”
$filelocation = $folderlocation + $location
icacls $filelocation /grant “*S-1-5-83-0:(R)”
$thumbprint = $cert.Thumbprint
reg add “HKLM\Software\Microsoft\Windows NT\CurrentVersion\Virtualization” /v “AuthCertificateHash” /f /t REG_BINARY /d $thumbprint

#fix loopback case.
$store = new-object System.Security.Cryptography.X509Certificates.X509Store(“Root”,”LocalMachine”)  
$store.open(“MaxAllowed”)   
$store.add($cert)   
$store.close()   

#restart vmms
net stop vmms
net start vmms

# Wait for job completion
function WaitForResult($ret)
{
  if($ret.ReturnValue -eq 0) { return; }
  if($ret.ReturnValue -ne 4096)
  {
    Throw “Error was returned from WMI call: $($ret.ReturnValue)”;
  }
  $timeout = 300; # 5 minute timeout
  while($true)
  {
    $job = [wmi]$ret.job
    if($job.JobState -eq 7) { return; }
    if($job.JobState -gt 7) { throw “Error while processing WMI job! $($job | fl * | out-string)” }

    if($timeout -le 0) { throw “Timeout while processing WMI job! $($job | fl * | out-string)” }

    $timeout -= 5;
    Sleep 5
  }
}

# get all VMs in Running state.
$vms = gwmi -n root\virtualization msvm_computersystem
$vms = $vms | where {$_.Name -ne $env:computername}
$vms = $vms | where {$_.EnabledState -eq 2}

#Save/Restore for all running VMs
foreach($vm in $vms)
{
    if($vm -ne $null)
    {
     Write-Host “Doing Save/Restore for VM:” $vm.ElementName
     WaitForResult  $vm.RequestStateChange(32769)
     WaitForResult  $vm.RequestStateChange(2)
    }
}

####################################################
# end of the script
##
 

Private Cloud Solutions : Hyper-V Cloud Deployment Guides

November 18, 2010 4 comments

Private cloud is the implementation of cloud services on resources that are dedicated to your organization, whether they exist on-premises or off-premises with the benefits of public cloud computing—including self-service, scalability, and elasticity and the additional control and customization.

Build your own private cloud and you will have a dynamic, virtualized infrastructure with advantages including:

  • Pools of compute resources
  • Automated management
  • High-availability
  • Scale-out capabilities
  • Multi-tenancy
  • Self-service provisioning

To learn more how to build your own private cloud with Windows Server 2008 R2 Hyper-V, System Center, and the Virtual Machine Manager Self-Service Portal 2.0 using the Hyper-V Clould Deployment Guide:

Hyper-V Snapshots : How to disable the computer account from changing its secure channel password

November 16, 2010 Leave a comment

There is a nice post by Robert Larson that explains how to make the change.

1. Open the GPO editor and go to

2. Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options\

3. Enable the Domain Member: Disable machine account password changes option

or

1. Edit the Domain Member: Maximum machine account password age option

2. Increase the value from the default of 30 days to a new larger value (up to a maximum of 999 days)

Doing either of these options should keep you from getting the dreadful message that the secure channel is broken.

 To read the complete article go to http://blogs.technet.com/b/roblarson/archive/2009/11/10/dealing-with-vms-snapshots-and-the-dreaded-broken-security-channel.aspx

Dell and Microsoft have partnered to deliver cloud solutions

November 9, 2010 Leave a comment

 

At  Microsoft’s TechEd conference in Berlin, November/2010, Germany, Dell announced the availability of several “turnkey” Hyper-V based private cloud solutions comprised of pre-tested, pre-assembled and fully-supported hardware, software and services enabling customers to easily deploy and manage their cloud infrastructures with confidence.

Dell’s new Business-Ready Configurations (BRC) consist of PowerEdge servers, EqualLogic storage arrays, PowerConnect network switches and management capabilities through Microsoft Systems Center. Through the Hyper-V Cloud Fast Track program, Dell and Microsoft are offering private cloud solutions that deliver a variety of benefits including: 

  • Faster speed to deploy private cloud infrastructures
  • Reduced risk – validated configurations
  • Choice and Flexibility – broad offering of hardware and services

To learn more, take a look here : http://en.community.dell.com/dell-blogs/enterprise/b/inside-enterprise-it/archive/2010/11/06/dell-and-microsoft-partner-to-deliver-open-turn-key-cloud-solutions.aspx

Hyper-V Cloud Program

November 9, 2010 Leave a comment

To help you deploy commercial private and public clouds based on Windows Server 2008 R2 Hyper-V, System Center, and related products, Microsoft offers a set of programs and initiatives called Hyper-V Cloud. These programs can help you:

Microsoft is also investing in a set of engagements to help customers with IaaS assessments, proofs-of-concept, and deployments with help from our partners or Microsoft Services. The investments are designed to help reduce the risk, cost, and time associated with testing and deploying a cloud environment.

Hyper-V Cloud Fast Track Partners

 Get an infrastructure as a service private cloud with a pre-validated configuration from server partners in the Hyper-V Cloud Fast Track. Offerings from the Fast Track program combine Microsoft software; consolidated guidance; validated configurations from OEM partners for compute, network, and storage; and value-added software components.

Hyper-V Cloud Fast Track partner offerings provide flexibility and choice while reducing risk and increasing the speed of deployment. Read the solution briefs below to learn about the available options from each partner.

For Dell solution, click here

Debian on Hyper-V with 4 vCPU support and syntetic network.

November 2, 2010 2 comments

When Microsoft says that does not support all linux distributions, does not mean that a particular distribution will not work on Hyper-V.

It’s easy to get a DEBIAN running on Hyper-V. It took me more time to install Debian than to add the Hyper-V integration services components, thanks to Yusuf Ozturk , who created the kernel updates, ready to deploy on Debian.

Here are the steps:

1. Download Debian 5.06 (lenny)  from http://www.debian.org/releases/lenny/debian-installer/  (full CD/DVD sets – CD 1 )
2. Create a VM with 1 Legacy Network ( we will add the synthetic one, later ) and 4 processors
3. Install Debian using the ISO.
4. After installation finished, logon

5. Using a Terminal session, typed the following commands

# apt-get update

 

# aptitude update
# wget -c http://www.yusufozturk.info/linux/linux-headers-2.6.36-hyperv-debian.x86_64.deb
# wget -c http://www.yusufozturk.info/linux/linux-image-2.6.36-hyperv-debian.x86_64.deb

# dpkg -i linux-image-2.6.36-hyperv_2.6.36-hyperv-10.00.Custom_amd64.deb linux-headers-2.6.36-hyperv_2.6.36-hyperv-10.00.Custom_amd64.deb
# echo -e “hv_vmbus\nhv_storvsc\nhv_blkvsc\nhv_netvsc” >> /etc/initramfs-tools/modules
# update-initramfs –u –k 2.6.36-hyperv
 
6. Shutdown the Virtual Machine
7. Added synthetic Network
8. Start the VM

Done!
Now you have a Debian distribution running on Hyper-V, with 4 processors, synthetic network and also integrated shutdown is available. Simple as that!