Jonathan's Virtual Blog

System Center Virtual Machine Manager and Orchestrator - Solutions and Guidance


 Jonathan's Virtual Blog

   Virtual Machine Manager - Orchestrator - Solutions and Guidance

  • Jonathan's Virtual Blog

    WinRM (Windows Remote Management) Troubleshooting

    • 10 Comments

    What is WinRM?

    New in Windows Vista, Windows Server 2003 R2, Windows Server 2008 (and Server 2008 Core) are WinRM & WinRS. Windows Remote Management (known as WinRM) is a handy new remote management service. WinRM is the “server” component of this remote management application and WinRS (Windows Remote Shell) is the “client” for WinRM, which runs on the remote computer attempting to remotely manage the WinRM server. However, I should note that BOTH computers must have WinRM installed and enabled on them for WinRS to work and retrieve information from the remote system.

    While WinRM listens on port 80 by default, it doesn't mean traffic is unencrypted. Traffic by default is only accepted by WinRM when it is encrypted using the Negotiate or Kerberos SSP. WinRM uses HTTP (TCP 80) or HTTPS (TCP 443). WinRM also includes helper code that lets the WinRM listener to share port 80 with IIS or any other application that may need to use that port.

    WinRM with SCVMM uses Kerberos for authentication, and does not support fall-back to NTLM. There will be an error instead. If no credentials are specified, then the logged-on credentials are used to authenticate against the remote machine. This allows for a single sign-on experience.

      

    What is WinRS?

    Remote Shell, (WinRS) is used to execute a program on a remote host. Similar in operation to the former Sysinternals tool PSExec, WinRS leverages Windows Remote Management to let you launch processes on remote machines. For example, if you want to perform a directory listing on the system drive on a remote machine, you can remotely launch ‘dir’ using this syntax:

    winrs -r:machinename dir

    Another handy use of WinRS can be when installing software on remote systems. If you want to quietly install an application using an MSI file onto a remote machine, use the following syntax. This syntax assumes the MSI file has already been deposited into the C:\ folder.

    winrs -r:machinename msiexec.exe /i c:\install.msi /quiet

    When specifying the remote machine, the following are valid:

    · Localhost

    · NetBIOS name

    · Fully Qualified Domain Name (FQDN)

    · IP address

    How to install WinRM

    The WinRM is not dependent on any other service except WinHttp. If the IIS Admin Service is installed on the same computer, you may see messages that indicate WinRM cannot be loaded before Interent Information Services (IIS). However, WinRM does not actually depend on IIS: these messages occur because the load order ensures that the IIS service starts before the HTTP service. WinRM does require that WinHTTP.dll be registered.

    (Stated simply: WinRM service should be set to Automatic (Delayed Start) on Windows Vista and Server 2008)

    · The WinRM service starts automatically on Windows Server 2008.

    · On Windows Vista, the service must be started manually.

    · UPDATE! Windows 2003 requires an update for WinRM

    936059 An update is available for the Windows Remote Management feature in Windows Server 2003 and in Windows XP

    http://support.microsoft.com/default.aspx?scid=kb;EN-US;936059

    How to configure WinRM

    To set the default configuration type:

    winrm quickconfig (or the abbreviated version, winrm qc)

    ‘winrm qc’ performs the following operations:

    1. Starts the WinRM service and sets the service startup type to auto-start.

    2. Configures a listener for the ports that send and receive WS-Management protocol messages using either HTTP or HTTPS on any IP address.

    3. Defines ICF exceptions for the WinRM service and opens the ports for HTTP and HTTPS.

    (Note: Winrm quickconfig also configures Winrs default settings)

    If ‘winrm qc’ throws an error:

    If the firewall is disabled the quick config command will fail. The firewall can either be started in Services long enough to run ‘winrm qc’ or the commands below can be run:

    sc config "WinRM" start= auto

    net start WinRM

    winrm create winrm/config/listener?Address=*+Transport=HTTP

    netsh firewall add portopening TCP 80 "Windows Remote Management"

    Group Policy configuration:

    WinRM can be configured by group policies.

    1. Type gpedit at a command prompt. The Group Policy Object Editor window opens.

    2. Look for the Windows Remote Management and Windows Remote Shell Group Policy Objects (GPO) under Administrative Templates and Windows Components.

    Troubleshoot WinRM

    Common Issues:

    1. If the ISA2004 firewall client is installed on the computer, it can cause a Web Services for Management (WS-Management) client to stop responding. To avoid this issue, install ISA2004 Firewall SP1.

    2. Antivirus software can prevent proper WinRM communication. Disable antivirus software and reboot the machine if the Antivirus software is known to scan processes and protocols, or if there is any doubt about the software.

    Test WinRM communication on the local and remote machines

    This section addresses how to test whether WinRM is working on the local system, and whether it can communicate with the remote system. Test remote communication in both directions between machines.

    Local communication:

    Locate listeners and addresses: (No output means WinRM is not installed)

    winrm e winrm/config/listener

    Localhost Ping:

    (Successfully completing this step pretty much insure complete access to WSMan on the local system)

    Winrm id

    Further:

    Check state of configuration settings:

    winrm get winrm/config

    Check the state of WinRM service:

    winrm get wmicimv2/Win32_Service?Name=WinRM

    Remote communication:

    Locate listeners and addresses:

    winrm e winrm/config/listener

    Remote Ping:

    (Successfully completing this step pretty much insure complete access to WSMan on the remote system)

    Winrm id –r:machinename

    Further:

    Check state of configuration settings:

    winrm get winrm/config -r:machinename

    Check the state of WinRM service:

    winrm get wmicimv2/Win32_Service?Name=WinRM -r:machinename

    Sample Commands

    Here are some sample commands to play with. If you cannot get the ‘Test WS-Man...' step to work, none of the steps following will work either (you're probably not using the right credentials to access the remote machine). One more caveat, the remote commands work best on domain joined machines. For workgroup machines, the WinRM service needs additional configuration.

    Description

    Command

    Run from an Elevated Command prompt

    Quickly configure the WS-Man service

    winrm QuickConfig

    Quickly delete the WS-Man listener

    winrm invoke Restore winrm/Config @{}

    Run from an standard Command prompt

    Display your machine's basic hardware info

    winrm enumerate wmicimv2/Win32_ComputerSystem

    Display your operating system properties

    winrm get wmicimv2/Win32_OperatingSystem

    Output your OS info in XML

    winrm get wmicimv2/Win32_OperatingSystem -format:pretty

    Test WS-Man access to a remote machine**

    winrm id -remote:<some machine>

    Grab a remote machine's WS-Man config

    winrm get winrm/Config -r:<some machine>

    Grab a remote machine's CPU load

    winrm g wmicimv2/Win32_Processor?DeviceID=CPU0 -fragment:LoadPercentage -r:<some computer>

    Grab a remote machine's free memory

    winrm g wmicimv2/Win32_OperatingSystem -fragment:FreePhysicalMemory -r:<some computer>

    Stop a service on a remote machine

    winrm invoke stopservice wmicimv2/Win32_Service?name=w32time -r:<some computer>

    Start a service on a remote machine

    winrm invoke startservice wmicimv2/Win32_Service?name=w32time -r:<some computer>

    Reboot a remote machine

    winrm invoke reboot wmicimv2/Win32_OperatingSystem -r:<some computer>

    Run a command on a remote machine (this uses winrS, not winrM)

    winrs -r:<some computer> ipconfig /all

    Run from PowerShell

    Use PowerShell to grab the WS-Man Win32_OperatingSystem XML output

    [xml]$osInfo = winrm get wmicimv2/Win32_OperatingSystem /format:pretty

    Display the OS version property

    $osInfo.Win32_OperatingSystem.Version

    Display the last boot time

    $osInfo.Win32_OperatingSystem.LastBootupTime.DateTime

    Put free memory metric into an XML variable

    [xml]$freemem = cmd /c "winrm get wmicimv2/Win32_OperatingSystem -fragment:FreePhysicalMemory -f:pretty -r:<some computer>"

    Display the free memory value

    $freemem.XMLFragment.FreePhysicalMemory

    **Note: This step verifies that you have good connectivity to the remote machine, WS-Man is running and properly configured on the remote machine, AND you have the correct permissions to fully leverage WS-Man on the remote machine. If this step fails, it's probably a permissions issue.

    Advanced Concepts

    URI Aliases

    URI aliases can simplify the Winrm command line. The following URI aliases are supported:

    wmi = http://schemas.microsoft.com/wsman/2005/06/wmi

    wsman = wsman:microsoft.com/wsman/2005/06/

    cimv2.9 = http://schemas.dmtf.org/wsman/2005/06/cimv2.9

    cimv2 = http://schemas.microsoft.com/wsman/2005/06/wmi/root/cimv2

    For example, the following command:

    winrm get http://schemas.microsoft.com/wsman/2005/06/wmi/root/cimv2/Win32_Service?Name=WSMan

    Gets replaced with:

    winrm get wmi/root/cimv2/Win32_Service?Name=WinRM

    Performing an Invoke Operation

    ‘Invoke’ initiates commands

    winrm invoke StartService wmicimv2/Win32_Service?Name=WinRM -r:machinename @{}

    This will likely return ‘ReturnValue = 10’ on a remote system where WinRM is running

    WS-Man (WinRM) Architecture

    The following diagram shows a high-level overview of the WS-Man (WinRM) architecture. In the diagram the 'Client' is querying the 'Server' for WS-Man information. Note that HTTP.sys and WinHTTP support the HTTP(s) transport for WS-Man, not IIS. In addition, IIS (or another web publishing service) can co-exist with WS-Man and share port 80.

    Remember:

    WinHTTP = Client

    HTTP.SYS = Server

    clip_image002

    The Windows Remote Management architecture consists of components on the client and server computers. The following illustration shows the components on both computers, how the components interact with other components, and the protocol that is used to communicate between the computers.

    clip_image003

    Requesting Client

    The following WinRM components reside on the computer that is running the script that requests data.

    · WinRM application

    This is the script or Winrm command-line tool that uses the WinRM scripting API to make calls to request data or to execute methods. For more information, see the WinRM Scripting API [ http://msdn.microsoft.com/en-us/library/aa384469(VS.85).aspx ] .

    · WsmAuto.dll

    The OLE automation layer that provides scripting support.

    · WsmCL.dll

    C API layer within the operating system.

    · HTTP API

    WinRM requires support for HTTP and HTTPS transport.

    Responding Server

    The following WinRM components reside on the responding computer.

    · HTTP API

    WinRM requires support for HTTP and HTTPS transport.

    · WsmAuto.dll

    The OLE automation layer that provides scripting support.

    · WsmCL.dll

    C API layer within the operating system.

    · WsmSvc.dll

    WinRM listener [ http://msdn.microsoft.com/en-us/library/aa384465(VS.85).aspx ] service.

    · WsmProv.dll

    Provider subsystem.

    · WsmRes.dll

    Resource file.

    · WsmWmiPl.dll

    WMI plug-in [ http://msdn.microsoft.com/en-us/library/aa384465(VS.85).aspx ] . This allows you to obtain WMI data through WinRM.

    · Intelligent Platform Management Interface (IPMI) driver and WMI IPMI provider

    These components supply any hardware data that is requested using the IPMI classes. For more information, see Intelligent Platform Management Interface (IPMI) Classes [ http://msdn.microsoft.com/en-us/library/aa390891(VS.85).aspx ] . BMC hardware must have been detected by the SMBIOS or the device created manually by loading the driver. For more information, see Installation and Configuration for Windows Remote Management [ http://msdn.microsoft.com/en-us/library/aa384372(VS.85).aspx ] .

    References

    Installation and Configuration for Windows Remote Management

    http://msdn.microsoft.com/en-us/library/aa384372(VS.85).aspx

    Windows Remote Management Command-Line Tool (Winrm.cmd)

    http://technet.microsoft.com/en-us/library/cc781778.aspx

    How can Windows Server 2008 WinRM & WinRS help you

    http://windowsnetworking.com/articles_tutorials/How-Windows-Server-2008-WinRM-WinRS.html

    The things that are better left unspoken Remotely managing your Server Core using WinRM and WinRS

    http://blogs.dirteam.com/blogs/sanderberkouwer/archive/2008/02/23/remotely-managing-your-server-core-using-winrm-and-winrs.aspx

    Redmond Print First Look WinRM & WinRS

    http://redmondmag.com/columns/article.asp?EditorialsID=2262

    Otto Helweg - Management Matters A Few Good Vista WS-Man (WinRM) Commands

    http://blogs.technet.com/otto/archive/2007/02/09/sample-vista-ws-man-winrm-commands.aspx

    Windows Remote Management Architecture

    http://msdn.microsoft.com/en-us/library/aa384464(VS.85).aspx

  • Jonathan's Virtual Blog

    WMI Errors and SCVMM – If It’s Not Broken, Update It!

    • 0 Comments

    There are many errors that may appear, based on events in SCVMM, to be WMI related. An understandable response would be to troubleshoot WMI. On the other hand, many ‘Access Denied’ errors, while pointing to WMI in no way, are actually the result of WMI issues. Below are a number of error examples that in one way or another are related to WMI. The best way to deal with these errors is divide and conquer. First, determine if WMI itself is responding correctly. By this I mean that we test WMI functionality alone, not in combination with SCVMM which has its own detached namespace. Second, with no fundamental problems found with WMI due to NIC teaming or otherwise, there are three updates that may very well resolve your issue. These should be installed on all Windows 2008 servers that hold SCVMM components. The updates are at the bottom of this post. Good luck!

    _____ERRORS_____

    SCVMM Admin Console typical errors for Hosts
         'Connection Status: Not responding'
         'Virtualization service status: unknown"

    WMI typical errors
    Example #1
    Log Name: Application
    Source: Microsoft-Windows-WMI
    Event ID: 10
    Task Category: none
    Description:
    Event filter with query "select * from __instancemodificationevent within 30 where
    targetinstance isa 'Win32_PerfFormattedData_PerfOS_Processor' and
    targetinstance.PercentProcessorTime > 99 and targetinstance.Name != '_Total'" could
    not be reactivated in namespace "//./root/CIMV2" because of error 0x80041010.
    Events cannot be delivered through this filter until the problem is corrected.

    Example #2
    Log Name: Application
    Source: Application Error
    Event ID: 1000
    Task Category: (100)
    Description:
    Faulting application wmiprvse.exe, version 6.0.6001.18000, time stamp 0x4791950f,
    faulting module ntdll.dll, version 6.0.6001.18000, time stamp 0x4791adec, exception
    code 0xc0000005, fault offset 0x000000000003e39c, process id 0x944, application
    start time 0x01c95ba1faa603ce.

    Jobs list errors in SCVMM Admin Console
    Example #1

    Error (2911)
    Insufficient resources are available to complete this operation on the
    server.contoso.com server.
    (Not enough storage is available to complete this operation (0x8007000E))
    Recommended Action
    Ensure that the virtual machine host has sufficient memory and disk space to
    perform this action. Try the operation again.

    Example #2

    Warning (10803)
    Unable to refresh \\server.contoso.com\ISOS$\WinPE_X86_with_HyperV_ICs.iso because
    the file is in use by another process.
    Recommended Action
    Wait for the next automatic library refresh, or manually refresh the library share
    after the process completes.

    Example #3
    Error (2912)
    An internal error has occurred trying to contact an agent on the server.contoso.com
    server.
    (No more threads can be created in the system (0x800700A4))
    Recommended Action
    Ensure the agent is installed and running. Ensure the WS-Management service is
    installed and running, then restart the agent.

    Example #4
    Error (2912)
    An internal error has occurred trying to contact an agent on the
    ephypv01.constrution.enet server. (The paging file is too small for this operation
    to complete (0x800705AF)
     

    _____TEST_____ 
    Verify that various WMI namespaces can be connected to, then update WMI on all involved Windows 2008 machines

    Using wbemtest
    - Click the 'Start' button
    - Start> Run> wbemtest
         - Click 'Connect' and enter 'root\cimv2' then click 'Connect' again. This should not prompt with an error
         - Click 'Connect' and enter 'root\default' then click 'Connect' again. This should not prompt with an error
    On a Hyper-V server, this should also work
         - Click 'Connect' and enter 'root\virtualization' then click 'Connect' again. This should not prompt with an error.

    On an SCVMM Server (Host) this should also work
         - Click 'Connect' and enter 'root\scvmm' then click 'Connect' again. This should not prompt with an error
         - Close 'wbemtest'

     

    Using command line
    - From an elevated command prompt type 'wmic nic' and press Enter
    - This should return information, not an error. If there is an error, and all other tests work, this is likely due to NIC TEAMING. Uninstall all NIC Teaming software, reboot and try again
    - From an elevated command prompt type 'wmic diskdrive list brief' and press Enter
    - This should return information, not an error

     

    _____UPDATE_____

    Install WMI Updates and Hotfixes
    Each requires a reboot


    954563 Memory corruption may occur with the Windows Management Instrumentation (WMI) service on a computer that is running Windows Server 2008 or Windows Vista Service Pack 1
    http://support.microsoft.com/default.aspx?scid=kb;EN-US;954563

    958124 A wmiprvse.exe process may leak memory when a WMI notification query is used heavily on a Windows Server 2008-based or Windows Vista-based computer
    http://support.microsoft.com/default.aspx?scid=kb;EN-US;958124

     

    955805 Certain applications become very slow on a Windows Server 2008-based or Windows Vista SP1-based computer when a certificate with SIA extension is installed

    http://support.microsoft.com/kb/955805

     

    Technorati Tags: microsoft,scvmm,hyper-v,virtual,virtualization,windows

     

  • Jonathan's Virtual Blog

    SCVMM P2V fails with at 40 percent with 0x809933BB or 0x80070539

    • 1 Comments

    New article published in Microsoft Support. It should be available soon. In the meantime, here’s what I’ve put together. Hope it helps some people out there!

    Symptoms

    Error when performing online P2V. Stops at 40 percent every time.

    Job result in SCVMM Admin Console
    Error (13243)
    The snapshot creation failed because the VSS writer {4dc3bdd4-ab48-4d07-adb0-3bee2926fd7f} on source machine xxx did not respond within the expected time interval.
    (Internal error code: 0x809933BB)

    Recommended action:
    Ensure that VSS writer is functioning properly and then try the operation again.
    4dc3bdd4-ab48-4d07-adb0-3bee2926fd7f is the Shadow Copy Optimization Writer

    Event in Application Event Log on Source machine
    Log Name:      Application
    Source:        VSS
    Date:          2/15/2010 6:19:11 PM
    Event ID:      8193
    Task Category: None
    Level:         Error
    Keywords:      Classic
    User:          N/A
    Computer:      ServerName.Domain.com
    Description:
    Volume Shadow Copy Service error: Unexpected error calling routine ConvertStringSidToSid.  hr = 0x80070539.

    Operation:
       OnIdentify event
       Gathering Writer Data

    Context:
       Execution Context: Shadow Copy Optimization Writer
       Writer Class Id: {4dc3bdd4-ab48-4d07-adb0-3bee2926fd7f}
       Writer Name: Shadow Copy Optimization Writer
       Writer Instance ID: {d19e5030-d027-4b0d-b783-02d87be808f4}

    Cause

    Volume Shadow Service (VSS) 'Shadow Copy Optimization Writer' is not fuctioning correctly. In the event log above the issue involves resolving a SID.

    Resolution

    • There were unresolvable SIDs in the 'Administrators' group on the SCVMM Source machine. These were deleted.
    • Followed steps in 'KB947242 - A temporary profile is loaded after you log on to a Windows Vista-based system' to resolve issue where customer's profile was deleted from the system (in this case the profile was simply corrupt).
    1.  
      1. Open regedit and locate 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList'
      2. Under the ProfileList subkey, delete any subkey that is named SID.bak.

    Note SID is a placeholder for the security identifier (SID) of the user account that is experiencing the problem. The SID.bak subkey should contain a ProfileImagePath registry entry that points to the original profile folder of the user account that is experiencing the problem.

    More Information

    Shadow Copy Optimization Writer
    Beginning with Windows Vista and Windows Server 2008, this writer deletes certain files from volume shadow copies. This is done to minimize the impact of Copy-on-Write I/O during regular I/O on these files on the shadow-copied volume. The files that are deleted are typically temporary files or files that do not contain user or system state.

    The writer name string for this writer is "Shadow Copy Optimization Writer".

    The writer ID for the shadow copy optimization writer is 4DC3BDD4-AB48-4D07-ADB0-3BEE2926FD7F.

    In-Box VSS Writers
    http://msdn.microsoft.com/en-us/library/bb968827(VS.85).aspx

  • Jonathan's Virtual Blog

    VM does not Boot Following P2V or Disk2VHD

    • 0 Comments

    So you perform a successful P2V using SCVMM. Or perhaps you use it’s cousin, ‘Disk2VHD’ from Sysinternals. All is well until you boot the new VM… FAILURE. For those situations where you simply get a black screen, maybe with a blinking cursor but definitely no Windows load, I have some solutions. (If you are experiencing a blue screen this article is not for you).

    First! Do not fear the black screen. It simply means the path to load Windows cannot be found by the boot loader. This may be due to the boot loader, or it may be due to the MBR or Boot Sector. Let’s just say we aren’t concerned with all of the technicalities and want to fix it. Here’s how.

     

     

    Windows 2008 R2 (Vista, Windows 7, Windows 2008)

    We’re going to fix the entire boot path, despite what part of it is broken. Go find an ISO or DVD of any of the operating systems just listed in the title. Prepare to boot your VM from this media. We’re going to use the recovery console. We’ll assume you are using Windows 7 media.

    1. Attach the Windows 7 installation disc to the virtual machine disc drive, and then start the computer.
    2. Press a key when you are prompted.
    3. Select a language, a time, a currency, a keyboard or an input method, and then click Next.
    4. Click Repair your computer.
    5. Click the operating system that you want to repair, and then click Next.
    6. In the System Recovery Options dialog box, click Command Prompt.
      1. If an operating system is not found simply continue anyway
    7. Type the following command in this order to set your system straight:
      1. bootrec /fixmbr    (Fixes MBR)
      2. bootrec /fixboot   (Fixes Boot Sector)
      3. bootrec /scanos    (Scans for Windows installations to add)
      4. Reboot! (Type Exit)
    8. If you still do not boot into Windows, or do not have a boot menu, or something is still wrong, follow steps 1 – 6 again. For step 7 type this instead
      1. bootrec /rebuildbcd    (Rebuilds entire BCD… not a really big deal)
      2. Reboot! (type Exit)

    You are now either booting into Windows, or you are not… Any blue screens I cannot help you with at this time. Search the internet for a solution, and in the meantime I intend to write an article on this as well. Comments welcome as always.

    Further Information:

    How to use the Bootrec.exe tool in the Windows Recovery Environment to troubleshoot and repair startup issues in Windows
    http://support.microsoft.com/kb/927392

    Windows 2003 R2 (Windows XP, Windows 2003)

    Again, we’re off to fix the boot path. Things are a bit different in Windows 2003. Same basic goal as with Windows 2008. Go find an ISO or DVD of any of the operating systems just listed in the title. Prepare to boot your VM from this media. We’re going to use the recovery console. We’ll assume you are using Windows 2003 media.

    1. Attach the Windows 2003 installation disc to the virtual machine disc drive, and then start the computer.
    2. When you receive the message that prompts you to press any key to start from the CD, press a key to start the computer from the Windows Server 2003 CD.
    3. When the Welcome to Setup screen appears, press the R key to start the Recovery Console.
    4. Select the Windows installation that you must access from the Recovery Console.
    5. Follow the instructions that appear on the screen, type the Administrator password, and then press ENTER.
    6. Type the following command in this order to set your system straight:
        1. fixmbr (Fixes MBR)
        2. fixboot (Fixes Boot Sector)
        3. bootcfg /rebuild  (Lists all Windows installations that you can add)
        4. Reboot! (type Exit)

    You are now either booting into Windows, or you are not… Any blue screens I cannot help you with at this time. Search the internet for a solution, and in the meantime I intend to write an article on this as well. Comments welcome as always.

    Further Information

    How To Use the Recovery Console on a Windows Server 2003-Based Computer That Does Not Start
    http://support.microsoft.com/kb/326215

    Description of the Windows XP Recovery Console for advanced users
    http://support.microsoft.com/kb/314058

     

     

    jonjor

  • Jonathan's Virtual Blog

    How to Troubleshoot Slow BITS Performance, Hosts 'Not Responding' and 'Needs Attention' Communication Issues

    • 0 Comments

    You find yourself with one of the following situations

    1.     Deployment or migration of data utilizing LAN (not SAN Transfer) is very slow in general

    2.     BITS is slow in one direction only: Fast from Host01 to Host02, but slow from Host02 to  Host01 for example

    3.     Host reports in SCVMM Admin Console "Host not responding" or "Needs attention"

    4.     Under 'Status' of the Host the following may show "Not Responding"
        - Connection status
        - Agent Status

     

    All of these issues can be related to networking components. Three common tasks can be performed to address this

    1.     Test for BITS errors

    2.     Verify GPO settings

    3.     Correct vendor specific and Windows system settings for ‘Task Offloading’ (This item will likely have the greatest effect)

     

    Additional Items that just make sense

    Verify all network settings on all involved SCVMM and Hyper-V systems. Set the network speed on the NICs and switches. Do not leave as auto negotiate. Also, remove all NIC teaming software. Network Card drivers currently do not always play nice with virtualization technologies. (Uninstall the teaming software. Disabling will not prevent drivers from loading at startup). If you cannot remove your teaming software at this time, at least make sure the namespace is available by typing ‘wmic nic’ at an elevated command prompt. If you get a screen full of data, you may be ok. If you get any kind of error, yank teaming software now and reboot.


    1 - BITS Errors
    Determine if BITS (Background Intelligent Transfer Service) is encountering errors. Attempt a P2V/Migration/Deployment transfer with SCVMM. While the transfer is occurring between servers, run the following commands on both servers:
    Bitsadmin /list /allusers /verbose >bitsadmin.txt

    Example BITS output below shows how long the transfer lasted (MODIFICATION TIME minus CREATED TIME). Retry delay shows that there were no errors. This is a clean run. If there are errors review the system and application event logs for errors that are BITS related. Involve your network team as well for a trace.

    Example output…

    BITSADMIN version 1.0 [ 5.1.2600.0 ]
    BITS administration utility.
    (C) Copyright 2000-2001 Microsoft Corp.

    GUID: {BA568D81-B234-47F2-9BA3-686743F89794} DISPLAY:
    https://cotoso.com:443/8272f226d8b8cd818406b28de9b6ad0f012b9a55/C:A5cProgramDataA5cM
    icrosoftA5cWindowsA5cHyperVA5calbtest1A5cvmguest.iso/E:A5cVirtualMachinesA5calbtest
    1A5cvmguest.iso
    TYPE: UNKNOWN STATE: TRANSFERRED OWNER: NT AUTHORITY\SYSTEM
    PRIORITY: FOREGROUND FILES: 1 / 1 BYTES: 42948608 / 42948608
    CREATION TIME: 12/3/2008 9:04:48 AM MODIFICATION TIME: 12/3/2008 9:16:44 AM
    COMPLETION TIME: 12/3/2008 9:16:44 AM
    NOTIFY INTERFACE: UNREGISTERED NOTIFICATION FLAGS: 3
    RETRY DELAY: 60 NO PROGRESS TIMEOUT: 0 ERROR COUNT: 0
    PROXY USAGE: NO_PROXY PROXY LIST: NULL PROXY BYPASS LIST: NULL
    DESCRIPTION: VMM LAN Transfer Job
    JOB FILES:
    42948608 / 42948608 WORKING
    https://contoso.com:443/8272f226d8b8cd818406b28de9b6ad0f012b9a55/C:A5cProgramDataA5c
    MicrosoftA5cWindowsA5cHyperVA5calbtest1A5cvmguest.iso/E:A5cVirtualMachinesA5calbtes
    t1A5cvmguest.iso -> E:\VirtualMachines\albtest1\vmguest.iso

     

    2 - Verify GPO settings
    By default, BITS transfers are wide open, not throttled down. Follow the MDSN article and look for the following settings in case they have been changed from default values.
         - Any setting with 'Peercache' in the name is not relevant
         - The rest of the settings should be set to 'Not Configured' or 'Disabled' to ensure that BITS is not being throttled at all. 'Maximum network bandwidth for BITS background transfers' is most important to be set to 'Not Configured' or 'Disabled'

     

    BITS uses the following Group Policies to configure BITS
    http://msdn.microsoft.com/en-us/library/aa362844(VS.85).aspx


    The group policies for BITS are located in the registry here…

    HKLM\Software\Policies\Microsoft\Windows\BITS

     

    (Note that only those policies that are configured are listed in the registry.)

    REMEMBER: Run ‘gpupdate /force’ following any changes from an elevated command prompt

     

    3 - Disable Task Offloading
    This work can be done easily on a non-Core server by disabling all properties on the 'Advanced' tab of all NICs. You should then follow the manual directions below to verify the rest of the Offload related settings for the NICs, and to disable this feature in Windows.

    If working with a core server you may want to connect via remote registry and make these changes.
    This MDSN article lists all values available.

    Using Registry Values to Enable and Disable Task Offloading
    http://msdn.microsoft.com/en-us/library/aa938424.aspx

     

    All values should be set to '0' EXCEPT for the last one which is related to IPSEC, and thus Kerberos. Leave this one alone. 'HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Ipsec\EnabledOffload'  

     

    A. Locate all physical NICs in the registry under:
    'HKLM\System\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}'

    B. There will be folders with four digits, starting with '0000'. Locate the ones that show the physical NIC names on the right. Look for the 'DriverDesc' value on the right; this should have the name of a NIC such as 'HP NC360T PCIe Gigabit Server Adapter.' For each of these, make the changes below.

    C. Disable All Vendor specific Offloading
    Set values for any entries below that include the word 'Offload' to '0' (Disabled)
    *FlowControl

         No description available

    *IPChecksumOffloadIPv4
         Describes whether the device enabled or disabled the calculation of IPv4
    checksums.
    *TCPChecksumOffloadIPv4
         Describes whether the device enabled or disabled the calculation of TCP Checksum
    over IPv4 packets.
    *TCPChecksumOffloadIPv6
         Describes whether the device enabled or disabled the calculation of TCP checksum
    over IPv6 packets.
    *UDPChecksumOffloadIPv4
         Describes whether the device enabled or disabled the calculation of UDP Checksum
    over IPv4 packets.
    *UDPChecksumOffloadIPv6
         Describes whether the device enabled or disabled the calculation of UDP Checksum
    over IPv6 packets.
    *LsoV1IPv4
         Describes whether the device enabled or disabled the segmentation of large TCP
    packets over IPv4 for large send offload version 1 (LSOv1).
    *LsoV2IPv4
         Describes whether the device enabled or disabled the segmentation of large TCP
    packets over IPv4 for large send offload version 2 (LSOv2).
    *LsoV2IPv6
         Describes whether the device enabled or disabled the segmentation of large TCP
    packets over IPv6 for large send offload version 2 (LSOv2).
    *IPsecOffloadV1IPv4
         Describes whether the device enabled or disabled the calculation of IPsec headers
    over IPv4.
    *IPsecOffloadV2
         Describes whether the device enabled or disabled IPsec offload version 2
    (IPsecOV2). IPsecOV2 provides support for additional crypto-algorithms, IPv6, and
    co-existence with large send offload version 2 (LSOv2).
    *IPsecOffloadV2IPv4
         Describes whether the device enabled or disabled IPsecOV2 for IPv4 only.
    *RSS
         Receive side scaling
    *TCPUDPChecksumOffloadIPv4
         Describes whether the device enabled or disabled the calculation of TCP or UDP
    checksum over IPv4.
    *TCPUDPChecksumOffloadIPv6
         Describes whether the device enabled or disabled the calculation of TCP or UDP
    checksum over IPv6.

    D. Disable Offloading in Windows.
    Use the following registry values to enable or disable task offloading for the TCP/IP protocol:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TCPIP\Parameters\DisableTaskOffload

    Setting this DWORD value to ‘1’ disables all of the task offloads from the TCP/IP transport. Setting this value to zero enables all of the task offloads.

    Related Links
    Network Issues with Windows Server 2008 RDP and VS/Hyper-V on Dell Servers
    http://www.petri.co.il/network-issues-with-windows-server-2008-rdp-on-dell-servers.htm

     

    Technorati Tags: microsoft,scvmm,hyper-v,virtual,virtualization,windows

     

     

     

  • Jonathan's Virtual Blog

    Creating a Template and Successfully Deploying New VMs

    • 3 Comments

    Template documentTemplates save time! Templates make multiple custom deployments easy! Learn to use Templates!

    So, essentially I have marked up two great TechNet articles on creating virtual machines from templates. This sounds a bit backwards, but these articles provide all the information needed to Create A Template. I have pointed out important points and added comments where a newbie may easily go astray. Consider this a ‘Best Practices’ for simply creating a usable template. As you learn to master this process you may find yourself branching out into greater and greater customizations. Note that there are TWO DOCUMENTS BELOW.

    Having trouble reading the documents below? Links available for direct download: Doc1 Doc2

     

     




    Annotated for Newbies! [Comments in RED are mine.] Items in BOLD ITALICS are emphasis I added. My comments are not corrections to the document, but instead should help you understand better how to create Templates.

     

    Creating Virtual Machines from a Template

    Updated: November 5, 2009

    Applies To: Virtual Machine Manager 2008, Virtual Machine Manager 2008 R2

    http://technet.microsoft.com/en-us/library/cc764306.aspx

    A virtual machine template is a library resource that consists of a hardware profile, a virtual hard disk, and an optional guest operating system profile. Templates provide a standardized group of hardware and software settings that you can use to create multiple new virtual machines configured with those settings. VMM supports:

    • Customized templates. The most common VMM templates that require an operating system profile to automate deployment. [Make these.]

    • Non-customized templates. Non-customized templates do not have an operating system profile attached and can be used for operating systems that you cannot customize, such as Windows 7 or Linux. [Newbies should not make these.]

    clip_image002Note

    VMM 2008 R2 supports customization of Windows Server 2008 operating systems on virtual machines that are deployed on ESX Server hosts managed by VirtualCenter 2.5 Update 4.

    A virtual machine template consists of the following parts: [These are the three items required. Remember them.]

    • Hardware profile. To define a standard set of hardware settings, you can create a hardware profile and associate it with a template. When you create a new template or create a virtual machine from a template, you can specify the virtual hardware settings or reuse an existing hardware profile from the library. Like operating system profiles, hardware profiles are logical entities that are stored in the database. For more information, see Working with Hardware Profiles (http://go.microsoft.com/fwlink/?LinkID=163333). [Hardware profiles allow you to set CPU, RAM, Networks and so on. A few example profiles you might create: one for machines that need a lot of hardware, one for machines that need little.]

    • Virtual hard disk. You can use a generalized virtual hard disk from the library or create a virtual hard disk from an existing virtual machine. [This simply means that you already ran Sysprep manually on a VM yourself, then saved the VHD file to the Library.] If the source virtual machine for your template has multiple virtual hard disks, select the disk that contains the operating system. To simplify the generalization process, include Virtualization Guest Services (such as Virtual Machine Additions or Integration Components) in your template. For more information, see How to Create a Template from a Virtual Hard Disk (http://go.microsoft.com/fwlink/?LinkID=162949)

    • Guest operating system profile (optional). To use the same product key, administrator password, time zone, and other items in a set of templates, you can create a guest operating system profile and store it in the library. When you create a new template or a virtual machine from a template, you can specify the settings manually or use an operating system profile associated with your answer files. For more information, see Working with Guest Operating Systems (http://go.microsoft.com/fwlink/?LinkID=163332).  [Simply explained… Fill out these items correctly and you are saved the trouble of creating a customization file for Sysprep. The Guest profile feeds information to the new VM when it is first deployed so you don't have to enter any information manually. Everything becomes automatic!]

    Creating a Template

    The following table describes the different ways of creating templates.

     

    Template Type

    Description

    Templates created from an existing virtual hard disk

    [This is the hard way. You run Sysprep with no customizations then save the VHD to the Library. Use the third method below instead.]

    To create a virtual machine template from an existing virtual hard disk, prepare the source virtual hard disk, which has the operating system installed, by removing computer identity information. With Windows operating systems, for example, you can prepare the virtual hard disk with the Sysprep tool. Add the source virtual hard disk file to the Library and complete the New Template Wizard. For more information see How to Create a Template from a Virtual Hard Disk (http://go.microsoft.com/fwlink/?LinkID=162949).

    clip_image002Note

    You can also create a template from an existing VHD that is not sysprepped by using a non-customized template.

    Templates imported from VMware

    After you add a VMware VirtualCenter server to VMM, use the Import templates action in Administration view to import your VMware templates to the Virtual Machine Manager library so that you can use the templates in VMM. For more information, see How to Import VMware Templates.

    clip_image002Note

    To successfully import a VMware template, the VMM library server must be able to resolve the ESX Server.

    Templates created from an existing deployed virtual machine

    [This is the method of choice. Create a VM the way you like it, then shut it down. Tell SCVMM to turn this VM into a Template so you can deploy copies of this VM.]

     

    [NOTE:

    Make a copy of the great VM before you have SCVMM turn it into a Template. Why? Just in case you want to make a change to it or otherwise and make another template. Making a copy of a VM is called CLONING. Right click the VM, Select 'Clone' and make a copy running on a Host, not stored in the Library.]

    When you create a template from an existing virtual machine, consider the following:

    ·        The virtual machine that you use as a source to create a template must be a virtual machine that is deployed on a host (not stored in the library).

    ·        The source virtual machine becomes the new template and is therefore no longer available as a virtual machine after the New Template Wizard completes.

    ·        If the source virtual machine contains checkpoints, you must:

    1.     Delete all checkpoints from the virtual machine in the VMM Administrator Console

    2.     Stop or do a Save State on the virtual machine

    3.     Open the Hyper-V Manager on the host and check the status of the merge operation for the virtual machine

    4.     After the merge process is complete, create the template within the VMM Administrator Console

    clip_image004Caution

    You cannot avoid destroying the virtual machine if you use the virtual machine to create a template. However, before you run the New Template Wizard, you can first create an identical copy of the source virtual machine by using the Clone virtual machine action in the Administrator Console in the Actions pane in Virtual Machines view.

    For more information, see How to Create a Template from a Virtual Machine (http://go.microsoft.com/fwlink/?LinkID=162950).

    Templates created for use by self-service users

    [We will ignore this part of the article as we are not interested in this right now.]

    When you create a self-service user role (to enable a user or group of users to create or manage their own virtual machines), you can optionally specify one or more templates to enable users to perform the following tasks:

    ·        All self-service users can modify the computer name on the guest operating system profile on a template.

    ·        Users to whom you grant appropriate privileges can also modify the Administrator password and Product Key number on the guest operating system profile on a template.

    clip_image002Note

    Self-service users cannot modify any settings on the hardware profile on a template.

    For more information about self-service user roles, see About Virtual Machine Self-Service and Role-Based Security in VMM (http://go.microsoft.com/fwlink/?LinkId=119337).

    Non-customized templates

    [Do this on your own. I do not recommend this method.]

    Non-customized templates do not have an operating system profile attached and can be used for operating systems that you cannot sysprep. For example, you can create a virtual machine for Linux from a template, but the customization must be done by the user. When creating a template from VHD or from an existing virtual machine, in the guest Operating System Profile selection page, choose Customization Not Required.

    Creating a Virtual Machine from a Template [How to use the great Template you just created]

    When you start the New Virtual Machine Wizard and select a template from the library, the virtual machine settings will be set to those specified in the template. You can override the settings if you choose. With a customized template, VMM will build the virtual machine per your virtual hardware profile and apply the sysprep settings. [These are the settings you entered in the OS Profile to automate VM deployment entirely.]

    If you want to want to use scripting to build several virtual machines from a template and place them in the library, start by creating a maintenance host group with one or more hosts. Have your script scope placement to that host group and once customization completes, you can script the saving of the resulting virtual machine into your library.

    Requirements

    • The virtual hard disk must have a supported operating system installed. For more information, see Supported Operating Systems for Virtual Machines.

    • The Administrator password on the virtual hard disk should be blank as part of the Sysprep process. [Sysprep during the Template creation process does this for you.]

    • For customized templates, the operating system on the virtual hard disk must have been prepared by removing computer identity information. With Windows operating systems, for example, you can prepare the virtual hard disk with the Sysprep tool. [If you created a Template from a VM as recommended earlier you can ignore this section.]

    clip_image002Note

    If you create a new virtual machine from a template, you cannot store the virtual machine in the library but must place it on a host. That is because the customization step cannot be completed offline.

    For more information, see How to Create a Virtual Machine from a Template (http://go.microsoft.com/fwlink/?LinkId=163808).

     

     




     

     

    Annotated for Newbies! [Comments in RED are mine.] Items in BOLD ITALICS are emphasis I added. My comments are not corrections to the document, but instead should help you understand better how to create Templates.

     

    How to Create a Virtual Machine from a Template

    Updated: August 14, 2009

    Applies To: Virtual Machine Manager 2008, Virtual Machine Manager 2008 R2

    http://technet.microsoft.com/en-us/library/cc917940.aspx

    This topic describes how to create a virtual machine from a virtual machine template.

    Considerations

    • You cannot change the system disk or startup disk configuration.

    • Templates are database objects that are displayed in Library view by clicking Library Servers in the navigation pane. Templates are displayed in the VMs and Templates folder.

    Requirements

    • The virtual hard disk must have a supported operating system installed. For more information, see Supported Operating Systems for Virtual Machines.

    • The Administrator password on the virtual hard disk should be blank as part of the Sysprep process. However, the Administrator password for the guest operating system profile does not have to be blank.

    • For customized templates, the operating system on the virtual hard disk must have been prepared by removing computer identity information. For Windows operating systems, you can prepare the virtual hard disk by using the Sysprep tool.

    clip_image002Note

    Optionally, you can use a non-customized template without an operating system profile.

    Procedure

    To create a virtual machine from a template:

    1.     In the Virtual Machine Manager Administrator Console, in Virtual Machines view, click New virtual machine.

    2.     Complete the New Virtual Machine Wizard.

     

    Wizard Page

    Action

    Virtual Machine Identity

    Configure the following options:

    ·        Virtual machine name (required). Type a unique name for the virtual machine.

    ·        Owner (required). The owner must have a domain account in Active Directory.

    ·        Description (optional). Type a description for the new virtual machine.

    Configure Hardware

    To configure additional hardware for the virtual machine, use the following procedures:

    ·        Startup Order —Select the order of devices to start the operating system.

    ·        CPU Requirements —Specify processor requirements for the virtual machine.

    ·        Memory —Specify the amount of memory to allocate to the virtual machine

    ·        Floppy Drive —Configure the virtual floppy drive to read a physical floppy disk on the host or to read a virtual floppy disk file stored in the library.

    ·        DVD or CD Drive —Add a virtual DVD or CD drive to an IDE bus.

    ·        Virtual Hard Disk —Add a virtual hard disk to an IDE device or a SCSI adapter.

    ·        Network Adapters —Configure one or more virtual network adapters for a virtual machine.

    ·        Priority and Availability —Configure the virtual machine's priority for CPU resources on the host. Configure the virtual machine to be highly available.

    Guest Operating System

    (for customizable templates only)

    [Set the 'Operating System' first. Everything else will work a bit better this way.]

    Configure identity information, administrative credentials, and user access to computers based on the template.

    ·        General Settings: Enter the following settings:

    ·        Identity Information: Specify a computer name. To generate a computer name randomly for virtual machines based on the template, enter an asterisk in the Computer name field.

    ·        Admin Password: Specify the local administrator password for the virtual machine. If virtual machines created with this template will not be in a domain, users must use this password to gain access to the local computer.

    clip_image002Note

    To prompt for a password when the user creates a virtual machine with the template, enter an asterisk (*) in the Admin Password field. If you leave the field blank, virtual machine creation fails. [Don't want to be prompted for a password? Want the Template to be deployed successfully? Fill in a password here! Do not leave blank or use an '*' asterisk.]

    ·        Product key: If you want the template to provide a product key for virtual machines, enter a product key in the Product key field. To require users to provide their own product key when they create a virtual machine, leave the field blank. [Windows Vista/Windows 2008 and up: Use this link to enter a Sysprep product key to allow the full deployment to be automated. Once the new VM is up and running you can enter your correct KMS or MAK key.

    Configuring KMS Clients

    http://technet.microsoft.com/en-us/library/ff793406.aspx]

    ·        Time Zone: Select the appropriate option from the Time Zone list, or accept the default time zone.

    ·        Operating System: Select the operating system that will run on the virtual machine. This selection does not install an operating system. [Set this first! Trust me!]

    ·        Networking: Configure settings to determine network access for virtual machines:

    ·        Domain/Workgroup: If you want virtual machines that are created from this template to be in a domain, click Domain. Then specify a user account that will be used to add the computer to the domain at first log on. If the virtual machines that are created from this template will not be in a domain, click Workgroup, and then enter the name of the workgroup. [New to Templates? Having difficulty? Choose Workgroup! See if this works. Joining a domain can sometimes be a tricky process. Make sure everything else is working first.]

    ·        Scripts: Use the options under Scripts to provide additional settings for Sysprep: [If you are a Sysprep veteran and know all there is to know about Sysprep please read this section. Otherwise, skip this! Make no changes in the Template.]

    ·        Answer File: You can attach a Sysprep file (for Windows XP, Windows Server 2000, or Windows Server 2003) or an Unattend.xml file (for Windows Vista or Windows Server 2008) to the guest operating system profile. The answer file script must be stored on a library share.

    To select an answer file, click Browse to open the Select sysprep.inf script dialog box, and then select the file.

    To add settings, in the Answer file field, specify the Sysprep or Unattend file to run. The settings in the answer file will be appended to those from the wizard.

    ·        [GUIRunOnce] Commands: If you want to specify one or more commands to run the first time a user logs on to a virtual machine, type a command that you want to add in the Command to add field, and then click Add. This action adds the command to the [GuiRunOnce] section of the Sysprep file.

    clip_image002Note

    To enable environment variable expansion when you create a new virtual machine from a template, you must precede GuiRunOnce commands with cmd.exe /c.

    Select Destination

    When creating a virtual machine from a template, you must choose the Place the virtual machine on a host option.

    Select Host

    Review the rating for each host to determine the most suitable host on which to deploy this virtual machine.

    clip_image003Note

    If many hosts are listed, you can use the Host group, Look for, or Group by fields to display a smaller set of potential hosts.

    All hosts that are available for placement are given a rating of 0-5 stars based on their suitability to host the virtual machine. The host ratings are based on the virtual machine's hardware and resource requirements and expected resource usage. They are also based on placement settings that you can customize for VMM or for individual virtual machine deployments. The ratings are recommendations. You can select any host that has the required disk space and memory available. For more information about how VMM rates hosts, see How Virtual Machine Manager Rates Hosts.

    clip_image005Important

    In VMM 2008 R2, for hosts that are running Windows Server 2008 R2 or for ESX Server hosts, the ratings that first appear on the Select Host wizard page are based on a preliminary evaluation by VMM. To see the host rating based on a more thorough evaluation, you must select the host by clicking it.

    1.    To see the placement settings that VMM used to rate the hosts, and optionally to change those settings, click Customize Ratings.

    2.    To view additional information about a host rating, select the host in the list, and then use the tabs in this section to view the following information:

    ·        Details -- This tab displays the status of the host and lists the virtual machines that are currently deployed on it.

    ·        Ratings Explanation -- If a host receives a zero rating, this tab lists the conditions that caused the rating.

    ·        SAN Explanation -- If a SAN transfer cannot be used to move the virtual machine's files to the host, this tab lists the conditions that prevent a SAN transfer.

    If a host has network optimization enabled, a green arrow appears in the Network Optimization column. VMM 2008 R2 lets you take advantage of network optimization capabilities that are available on Hyper-V hosts that are running Windows Server 2008 R2. For information about network optimization and the hardware that supports it, see the Windows Server 2008 R2 documentation. After a virtual machine is deployed, this feature is displayed only for virtual machines that are deployed on a host that is running Windows Server 2008 R2.

    If no host in the list has sufficient disk space to host the new virtual machine, click Previous to return to the Volume Configuration page and either remove or reduce the size of one or more volumes. You can also override the default placement options that VMM uses to calculate the host ratings. Any changes that you make apply only for this virtual machine deployment. For more information about how VMM rates hosts, see
    How Virtual Machine Manager Rates Hosts.

    Select Path

    Accept the default virtual machine path on the host to store the files associated with this virtual machine. You can also click the down arrow to select a different path, or click Browse to specify a different path on the host. You can also choose the following options:

    ·        If you selected a path other than an existing default path and want to store other virtual machines on that path, select the Add this path to the list of host default paths check box. For information about how to configure default virtual machine paths, see How to Set Placement Options for a Host.

    ·        If you chose Store the virtual machine in the library, specify the library server that will store the virtual machine, and then select a path on the available library shares to store the virtual machine's files.

    The wizard will continue with the Summary page.

    Select Networks

    Attach the physical network adapters to either Not Connected or to any of the virtual networks on the selected host.

    Additional Properties

    On the Additional Properties page, accept the default settings, or modify these settings as described in How to Configure Automatic Start and Stop Actions for a Virtual Machine

    Summary

    Review the configuration settings. To change settings, click Previous.

    Optionally, click View Script to view (and copy) the Windows PowerShell script that runs this wizard and performs the conversion. All administrative tasks in VMM can be scripted or performed at the command line. For more information, see Windows PowerShell Scripting in Virtual Machine Manager 2008 (http://go.microsoft.com/fwlink/?LinkId=110911).

    Optionally, select the Start the virtual machine after deploying it on the host check box.

    In Jobs view, monitor the progress of job as the new virtual machine is created and confirm that the virtual machine is created successfully. If the job fails, review the error message at the bottom of the Jobs pane for information about the cause of the failure and the recommended action to resolve the issue.

    See Also

    Concepts

    Creating New Virtual Machines

     

     

     

     

  • Jonathan's Virtual Blog

    Intermittent Connectivity Issues and Cluster Refresh Times with Windows 2008 R2 and SCVMM 2008 R2

    • 0 Comments

    star angle

    It’s not often I get excited about Hotfixes… ok, that may not be entirely true, but I am very excited about these two. Why? They address WMI issues.

    ‘Why, Jonathan, would I care about WMI? That’s one of those obscure process things that I’ve never even seen…’, you say.

    ‘You’re right!’ I say, over-enthusiastically. ‘But WMI is the basis for most of the actions SCVMM takes on Hosts, whether it be refreshes or migrations.’

    ‘Wow! That *is* exciting!’, you say… mockingly.

    You get the point… Direct link to the updates at bottom. Read on for why this matters, and when it matters. (Hint: Always!)

    I came across these updates when working a customer case that involved SCVMM Hosts with SCOM (OpsMgr) Agents installed as well. Bottom line is the WMI service was taking a pounding and crashing occasionally. No WMI, no communication with SCVMM, and SCOM throws alerts. The WMI service will restart itself, but in the meantime anything depending on it is out of luck.

    WMI or WinRM?

    You can’t discuss SCVMM without mentioning WinRM at least once… Prior to hotfixes being installed, WinRM settings that are known to ease intermittent connectivity issues were implemented. While there is nothing inherently wrong with making these changes, install the hotfixes below first and see if the issue is resolved first. The less registry tweaking the better.

    Specifically, we saw Errors and hex codes in refresh jobs. The details may state WinRM is experiencing issues, but it is only reporting back results on the last action it performed. WMI errors bubble up through WinRM reporting often, so WMI was the real source in some instances.

    WinRM Issues

    Either of the below messages indicate there is likely a WinRM issue to address. In this case, follow the steps to update the registry on all Hosts. Make sure you install the updates further down as well!

    • No more threads can be created in the system (0x800700A4)

      Error (2912)
      An internal error has occurred trying to contact an agent on the server.contoso.com server.
      (No more threads can be created in the system (0x800700A4))

      Recommended Action
      Ensure the agent is installed and running. Ensure the WS-Management service is installed and running, then restart the agent.

    • The WS-Management service cannot process the request. The maximum number of concurrent operations for this user has been exceeded. Close existing operations for this user, or raise the quota for this user (0x803381A6)

    WinRM Resolution Steps

    MaxConcurrentOperationsPerUser (Increase threads)

    In Windows Server 2008 R2, the MaxConcurrentOperations for WinRM was deprecated.  However it was replaced with MaxConcurrentOperationsPerUser, which we can modify. Let also raise the value for MaxConcurrentOperationsPerUser using the following command. The default is '200' and we will double that to '400'.

    Open an elevated command prompt on each Host to execute this and all commands below.

        winrm set winrm/config/Service @{MaxConcurrentOperationsPerUser="400"}

    Start with the above value. This can be increased over the next week or so if the issue reoccurs. Once this value has been set, you’ll need to stop/restart WinRM and the VMMAgent.

        net stop winrm
        net start winrm
        net start vmmagent

    WinRM Timeout
    Use the following command to increase the default value for WinRM timeout.

        winrm set winrm/config @{MaxTimeoutms = "1800000"}

    Start with the above value, and then we can increase it over the next week or so if the issue reoccurs.  Once this value has been set, you’ll need to stop/restart WinRM and the VMMAgent.

        net stop winrm
        net start winrm
        net start vmmagent

    Reference
        Installation and Configuration for Windows Remote Management
        http://msdn.microsoft.com/en-us/library/aa384372(VS.85).aspx

    WinRM or WMI Issues

    Install all previous updates and the two new ones below as indicated for your environment.

    Error (2916)
    VMM is unable to complete the request. The connection to the agent server.contoso.com was lost.
    (Unknown error (0x80338012))

    Recommended Action
    Ensure that the WS-Management service and the agent are installed and running and that a firewall is not blocking HTTP traffic. If the error persists, reboot server.contoso.com and then try the operation again.


    Error (2927)
    A Hardware Management error has occurred trying to contact server server.contoso.com.
    (Unknown error (0x803381b9))

    Recommended Action
    Check that WinRM is installed and running on server server.contoso.com. For more information use the command "winrm helpmsg hresult".

    What Do the Hotfixes Address?

    1. This hotfix specifically addresses this issue (found in the Application log), along with general memory leaks.

    The "Win32_Service" WMI class leaks memory in Windows Server 2008 R2 and in Windows 7
    http://support.microsoft.com/kb/981314

    Example Application log error:

    Faulting application name: wmiprvse.exe, version: 6.1.7600.16385

    Symptoms

    Wmiprvse.exe crashing randomly on Windows 2008 R2 server.

    This continues even after increasing memory quota for wmiprvse.exe

    Event:

    Source:        Application Error

    Event ID:      1000

    Description:

    Faulting application name: wmiprvse.exe, version: 6.1.7600.16385, time stamp: 0x4a5bc794

    2. This hotfix addresses SCVMM Failover Cluster refresh times, among other things.

    An application or service that queries information about a failover cluster by using the WMI provider may experience low performance or a time-out exception
    http://support.microsoft.com/?id=974930

    Get your updates!

    • Install on all Windows 2008 R2 systems managed by SCVMM 2008 R2

    The "Win32_Service" WMI class leaks memory in Windows Server 2008 R2 and in Windows 7
    http://support.microsoft.com/kb/981314

    • Install on all Failover Cluster Nodes

    An application or service that queries information about a failover cluster by using the WMI provider may experience low performance or a time-out exception
    http://support.microsoft.com/?id=974930

  • Jonathan's Virtual Blog

    VMMTrace and VMMTraceALT: Simplified VMM Tracing

    • 2 Comments

    Now Supports SCVMM 2008 R2 SP1 and VMM 2012!

    WHAT IS VMMTRACE?Trace_Cleared

    VMMTrace and VMMTraceALT capture detailed information on systems participating in a reproducible VMM problem. This is a verbose data capture and should be run for a short period of time while the problem is reproduced. VMMTrace has been used by IT professionals in the user community and at Microsoft for years.

    Why are there two versions of this tool?!?

    VMMTrace uses DebugView from Sysinternals to capture VMM data and produce readable text. The downside to the tool is that it must restart the VMMAgent and VMMService services prior to each trace. This is usually not a problem, but if you have many jobs running this will stop them and they will have to be restarted manually. VMMTraceALT does not require these two services to be restarted and thus may have less impact if you are continuously running jobs. Both tools produce the same output and are nearly identical in use.

    WHEN?

    VMMTrace and VMMTraceALT are a solid last step. When you’ve made it through the items below and are still are no closer to resolution you should consider capturing a trace.

    • Review Application and System Event logs on the SCVMM server and Hosts involved in the problem

    • Install all Updates and verify using the VMMUpdate utility

    • Verify required basics again:

      • DNS resolution in all directions

      • Account running VMMService is located in ‘Administrators’ and ‘Virtual Machine Manager Servers’ groups on SCVMM server and Hosts

      • Hyper-V, Cluster and so on are healthy

    HOW?

    Download the tool below by clicking a big GREEN BUTTON. Then identify your scenario and run the tool on the right systems at the same time. Use an elevated command prompt. Generally, the trace must be run on the SCVMM server, in addition to systems as indicated below.

    WHICH SYSTEMS DO I RUN THE TRACE ON?

    Issue 1: Console crash or unable to connect
    Collect traces from both the computer where you run Admin Console and the SCVMM Server

    Issue 2: Add Hosts issues
    Collect traces from the SCVMM Server and the Host system

    Issue 3: Host status or VM issue
    Collect traces from both the SCVMM Server and the Host in question

    Issue 4: Cluster issues
    Collect traces from a single Cluster Node and the SCVMM Server

      Download VMMTrace           Download VMMTraceALT

    Download VMMTrace              Download VMMTrace

    Quick link: http://tiny.cc/vmmtrace

     

     

       jonjor

  • Jonathan's Virtual Blog

    SCVMM PowerShell Commands Cheat Sheet

    • 3 Comments

    PowerShell icon

    PowerShell. You keep meaning to learn it. You just need a push. Maybe a CubeNote (Cheat Sheet) would help.

    Think about this… every single command you perform in the SCVMM Admin Console can be performed in PowerShell. There isn’t a single thing in the Admin Console that is not available by interactive command or script. In fact, there are many things that can be done only in PowerShell. Further, when scripts (.ps1 files) are saved to the Library they are available to run immediately by right clicking them and selecting ‘Run Script.’ I published a script last year that determines which network settings on which Host are causing your virtual machines to show up as ‘Unsupported Cluster Configuration.’ Cool huh? That article is here. Below I’ve right clicked the script to show other available options.

    image 

    So what’s a CubeNote?

    Basically, a quick reference of all SCVMM specific commands. Sure, you could type the line below, but then you’d have to sort it all out yourself. I’ve formatted the commands to fit on a single sheet, organized by function. I glance at it all the time to find the right command. The sheet is organized by command type, so find the action (verb) you are interested in, then locate the object you want to act on (noun). Possible actions are: Add, Get, Move, New, Refresh, Set, Update, and various others.

    Tip: Make sure you open a PowerShell console that has the SCVMM cmdlets already loaded by clicking the PowerShell button shown below. Open the Admin Console on the SCVMM Server itself to save yourself some headache. (PowerShell guru’s do what you like…)

    Get-Command -PSSnapIn "microsoft.systemcenter.virtualmachinemanager" | write-outfile c:\temp\SCVMM_Commands.txt

    PowerShell

     

    CUBENOTE SCVMM 2008 R2 PowerShell Commands

    PowerShell Resources

    If you’re a complete newb to PowerShell, I’ve got that covered too. Links below provide the best ramp and reference material online. There are great books too. Check some of the Microsoft Press books in particular.

    TechNet Script Center

    Hey, Scripting Guy! BLOG

    SCVMM PowerShell Resources

    SCVMM specific URLs with plenty of examples ready to run now.

    SCVMM Scripting on TechNet – EXAMPLES!

    Virtual Machine Manager 2008 R2 Scripting Guide (Word Doc)

    System Center Virtual Machine Manager 2008 R2 Cmdlet Reference (Word Doc)

    Troubleshooting VMM Cmdlet Issues

    SCVMM CubeNote Downloads

    CUBENOTE SCVMM 2008 R2 PowerShell Commands      CUBENOTE SCVMM 2008 R2 PowerShell Commands      CUBENOTE SCVMM 2008 R2 PowerShell Commands

     

     

    ...

     jonjor

  • Jonathan's Virtual Blog

    Troubleshooting and Data Collection During Offline P2V

    • 0 Comments

    When the P2V process fails there can be a number of issues to identify. A number of situations are discussed below. The machine being virtualized is referred to as the Source machine. The location where the virtualized machine is being copied is the Destination Host.

    Use this article as your main reference for all P2V issues
         P2V: Converting Physical Computers to Virtual Machines in VMM
         http://technet.microsoft.com/en-us/library/cc764232.aspx


    Requirements for the Source Machine
    To perform a P2V conversion, your source computer:
    - Must have at least 512 MB of RAM.
    - Must have an Advanced Configuration and Power Interface (ACPI) BIOS - Vista WinPE will not install on a non-ACPI BIOS.
    - Must be accessible by VMM and by the host computer.
    - Cannot be in a perimeter network (also known as a DMZ, demilitarized zone, and screened subnet) where the firewalls or IPsec settings prohibit communication.
    - Must contain one of the following supported operating systems:
    - Windows Server 2008 (32-bit)
    - Windows Server 2008 (64-bit)
    - Windows Server 2003 (32-bit) SP1 or later
    - Windows Server 2003 (64-bit) SP1 or later
    - Windows 2000 Server SP4 or later (Offline P2V only)
    - Windows 2000 Advanced Server SP4 or later (Offline P2V only)
    - Windows XP Professional (32-bit) SP2 or later
    - Windows XP Professional (64-bit) SP2 or later
    - Windows Vista (32-bit) SP1 or later
    - Windows Vista (64-bit) SP1 or later

    Errors and Resolutions
    - Third party applications can lead to failures
         - Disable all antivirus using MSCONFIG and reboot
         - Disable all monitoring software such as Insight Manager (optional)
    - Disable IIS on the source machine if running

    Network Related - Source machine
    Make sure that when rebooted into WinPE there is an IP address. There is a command prompt on the console. Type 'ipconfig /all' and verify with the customer that all IP settings are correct and match that of the SCVMM Server and Destination Host

    If the IP starts with 169.254.x.x this is an auto-configed IP. This means there is no DHCP serve to provide an IP address or there are problems with the NIC drivers.  It is preferable that the source and destination host are on the same subnet. If not test all routing by pinging…
         - Ping the SCVMM and Host SCVMM servers by DNS name, not IP. If they do not resolve, correct DNS
         - Ping the IP address of the default gateway and DNS servers. If they do not reply, correct IP settings
         - If IP information needs to be set manually in WinPE, at a command prompt type:
    ‘netsh interface ipv4 set address "Local Area Connection" static 10.241.0.7  255.255.0.0    10.241.0.2    1’
         Where:
    ‘netsh interface ipv4 set address "Local Area Connection" static %ipaddr% %subnet% %dns server% 1’

    Network Related - Source and SCVMM machines
    On Windows 2003 machines follow the 'Workaround' in this article (disregard the fact that it is a SQL KB. It is correct). This will disable TCP Offloading in Windows 2003 SP2, which can lead to a number of networking issues.


         942861 Error message when an application connects to SQL Server on a server that is running Windows Server 2003:
         "General Network error," "Communication link failure," or "A transport-level error"
        
    http://support.microsoft.com/default.aspx?scid=kb;EN-US;942861


    WMI and 'Access Denied' errors
    Follow the article on this site ‘WMI Errors and SCVMM’


    During 'Scan System' operation
    Example Error
    VMM does not have appropriate permissions to access the resource on the <destination_computer> server. Ensure that Virtual Machine Manager has the appropriate rights to perform this action.
    ID: 2910
    Details: Access is denied (0x80070005)

    Resolution #1
    - Make sure the computer object for the SCVMM server is in the Administrators group on the source machine
    - Make sure the account specified in the SCVMM Admin Console is a member of the Administrators group on the source machine.
    - SCVMM 2008 - If the machine is in a workgroup, make sure the Domain specified along with the Account and Password is actually the name of the source machine, not the domain of the SCVMM server

    Resolution #2
    Ensure that the following services are not set to 'Disabled,' and that you can start them successfully on the source machine
         - WMI
         - Background Intelligent Transfer Service (BITS)
         - HTTP SSL
         - RPC

    Resolution #3
    Enable auditing of object access to determine if the account specified in SCVMM or the SCVMM computer object are failing to access the source machine as required. Look for 'Failure' in the security log once configured and tested.

    - Follow the first section of the article below 'For the local computer'
         325898 How to set up and manage operation-based auditing for Windows Server 2003, Enterprise Edition
         http://support.microsoft.com/default.aspx?scid=kb;EN-US;325898

    - Record any settings under 'Audit Policy' that are already configured
    - Change configure all Policies to record Success and Failure
    - If any Policies have an icon of gray servers instead of blue 0's and 1's you will not be able to make this change and must involve the customer's Group Policy administrator
    - Back at a command prompt type 'gpupdate /force'
    - Try the scan again, then check the Security log for ’Failure’ audits
    - Set all Policies back to the state you recorded them as before making changes

    Resolution #4
    Make sure the DCOM (DCOMLaunch) service is set to Automatic and running. (Thanks to Pramod for this tip)


    Non-ACPI HAL
    If the source machine has a non ACPI HAL P2V cannot be performed.

    P2V: Converting Physical Computers to Virtual Machines in VMM
    http://technet.microsoft.com/en-us/library/cc764232.aspx


    309283 HAL options after Windows XP or Windows Server 2003 Setup
    http://support.microsoft.com/default.aspx?scid=kb;EN-US;309283


    249694 How to move a Windows installation to different hardware
    http://support.microsoft.com/default.aspx?scid=kb;EN-US;249694

     

    Technorati Tags: microsoft,scvmm,hyper-v,virtual,virtualization,windows,P2V

  • Jonathan's Virtual Blog

    SCVMM Tracing Made Easy!

    • 1 Comments

    Wheel

    This tool has been deprecated. Please see the new tool!


    Click here to use VMMTrace

     

     

    So you’ve run into a problem with VMM. Maybe your Hosts have lost connectivity with the SCVMM Server. Or, P2V fails for a certain machine every time. If you’ve searched many TechNet blogs or forums for answers you have probably come to one conclusion: you’re going to have to run a trace to collect the required information.

    How do I capture a trace? Armed with DbgView (available from Sysinternals.com) and a number of registry modifications, followed by service restarts on each involved machine, you’re ready to begin. Problem is, configuring a server for tracing is time consuming, tedious, and prone to human error. I’ve worked to alleviate your pain.

    Easy? Seriously?

    True. You need two files on each server you wish to run the trace on. The process is automated, requires very little input, and works. I’ll skip how it works other than to say it performs the work in Cheng’s article for you. Manual steps are below. If you would like to download a zip file with everything ready click the button below.

    Download SCTrace

     

    Instructions

    1. DOWNLOAD SCTrace from the 'Download' button above.

    2. SAVE ‘SCTrace_x.x.zip to a directory near the root of C: such as ‘C:\Temp’. (Remaining instructions assume this is where you saved the file...)

    3. EXTRACT 'sctrace.zip'. By default this will create a folder named 'SCTrace_x.x' in 'C:\Temp'

    4. From an ELEVATED command prompt change to the directory where the files are extracted (C:\Temp\SCTrace_x.x) and type sctrace.cmd

    5. FOLLOW the prompts in the COMMAND WINDOW at all times

    Tips for Successful Tracing

    Follow the instructions in the command prompt. Remember that the goal is to capture the issue while is is reproduced. If the problem is between a Host and the SCVMM Server, run this same script on both machines at the SAME TIME. We need both ends of the conversation to figure out what is going on. The script will provide an opportunity to get things kicked off on all servers then start all the traces at once.

    Disclaimer

    Every effort has been made to accommodate various environments, while at the same time keeping the length of the script to a minimum. This script may not work if you have a locked down system. This script is provided as is. That said, I would love to hear what you think of it. Corrections appreciated as well. Check back for version updates.

     


    :: START SCRIPT COPY HERE

    :: sctrace.cmd
    :: v1.6

    @echo off

    if (%1)==(/?) goto :HELP
    if (%1)==(-?) goto :HELP
    if (%1)==(odsoff) goto :ODSOFF

    :: Test Running Elevated
    if not exist %windir%\SCVMM_TRACE\test (
    mkdir %windir%\SCVMM_TRACE\test
    )
    If Not %ERRORLEVEL% EQU 0 (
    echo Error: You must run this from an elevated command prompt
    Goto End
    )

    :: Check for DbgView
    if not exist dbgview.exe (
    cls
    echo DbgView is required to capture a trace.
    echo Please download from
    http://live.sysinternals.com/dbgview.exe
    echo and place in same directory as script.
    echo.
    echo.
    Goto End
    )

    :: BIG NOTICE
    cls
    echo v1.6
    echo.
    echo    YOU MUST FOLLOW 3 STEPS TO CAPTURE A TRACE
    echo.
    echo  FOLLOW THE DIRECTIONS ON THIS SCREEN AT ALL TIMES
    echo.
    echo                READ CAREFULLY
    echo.
    pause

    :: Verify DbgView Settings
    cls
    echo.
    echo  STEP 1 of 3  -  CONFIGURE DEBUGVIEW  -  STEP 1 of 3
    echo.
    echo  - DebugView will open. Select the CAPTURE menu.
    echo.
    echo  - Verify 'Capture Win32' and 'Capture Global Win32' are checked.
    echo.
    echo  - Exit DebugView and return to this window.
    echo.
    echo.
    CHOICE /C C /N /M "Press [C] to configure DbgView now."
    IF errorlevel 1 dbgview.exe

    :: Cleanup
    rmdir %windir%\SCVMM_TRACE\test
    Start taskkill /IM debugview.exe
    Start taskkill /IM dbgview.exe

    :Begin
    :: Verify Environment
    if not exist %windir%\SCVMM_TRACE\logs (
    mkdir %windir%\SCVMM_TRACE\logs
    )

    :: Capture Exact Time to Prevent Overwrites
    set hh=%time:~0,2%
    if "%time:~0,1%"==" " set hh=0%hh:~1,1%
    set yymmdd_hhmmss=%date:~12,2%%date:~4,2%%date:~7,2%_%hh%%time:~3,2%%time:~6,2%

    :: Format and Remove Spaces
    set Filepath=%windir%\SCVMM_TRACE\logs
    set Filename=%Filepath%\%COMPUTERNAME%_%yymmdd_hhmmss%.log
    set Filename=%filename: =%

    ::Enable Tracing
    Reg Add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Tracing\Microsoft\Carmine" /v ODS /t REG_DWORD /d 00000001 /f
    Reg Add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Tracing\Microsoft\Carmine" /v ODSFLAGS /t REG_DWORD /d 255 /f

    :: Restart Services
    cls
    net stop vmmagent
    net stop vmmservice

    net start vmmagent
    net start vmmservice

    :: IISRESET will NOT occur unless /IIS switch is used
    if (%1)==(iis) iisreset

    :: Choose Systems
    cls
    echo.
    echo  STEP 2 of 3  -  STAGE OTHER SERVERS  -  STEP 2 of 3
    echo.
    echo  MAKE A DECISION...  ONE SERVER OR MANY?
    echo.
    echo  Start this trace on other involved systems now if needed.
    echo  When all systems are sitting at  STEP 2 of 3  proceed below.
    echo.
    CHOICE /C C /N /M "Press [C] to continue when all systems ready."
    IF errorlevel 1 Start Dbgview.exe /t /f /l %Filename%

    :: All Systems GO!
    :STOPDBGVIEW
    cls
    echo.
    echo  STEP 3 of 3  -  TRACING NOW  -  STEP 3 of 3
    echo.
    echo  Trace is capturing all activity on this system now.
    echo  Make sure all systems involved show STEP 3 of 3 then...
    echo  REPRODUCE YOUR ISSUE NOW.
    echo.
    echo  Press [F] to Finish on all systems AFTER reproducing issue
    echo.
    CHOICE /C F /N
    IF errorlevel 1 (
    Start taskkill /IM debugview.exe
    Start taskkill /IM dbgview.exe
    cls
    echo Writing out log file... Please wait
    timeout /t 5
    )

    :: Disable Tracing
    Reg Add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Tracing\Microsoft\Carmine" /v ODS /t REG_DWORD /d 00000000 /f

    :: Open Explorer Showing Trace File
    start %Filepath%
    cls
    echo DONE!
    echo.
    echo Provide the latest file in %FilePath% to support
    echo.
    echo.

    Goto End

    :HELP
    cls
    @echo Trace Options
    @echo.
    @echo From an elevated command prompt type Trace.cmd
    @echo Options: /?, -?    This Help Menu
    @echo          /odsoff   Disable tracing
    @echo          /iis      Perform iisreset
    @echo.
    @echo.
    Goto End

    :ODSOFF
    Reg Add HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Tracing\Microsoft\Carmine /v ODS /t REG_DWORD /d 00000000 /f

    :END

    :: STOP SCRIPT COPY HERE


     

     

    jonjor

  • Jonathan's Virtual Blog

    VMMUpdate: Stay up to date!

    • 15 Comments

    CURRENT VERSION: 2.7, RELEASED 12/07/11

    Windows and SCVMM SP1 updates included in scan

    “Are your Hosts and SCVMM Server up to date? And, does it really matter?'” …YES!Report_Small

    WHAT IS VMMUPDATE?

    VMMUpdate creates a report of required updates for technologies used by the SCVMM server and all Hosts.

    • Windows
    • Hyper-V
    • Failover Cluster

    As well as components SCVMM and other technologies leverage…

    • WinRM
    • BITS
    • WMI
    • VDS
    • VSS

    WHEN?

    VMMUpdate should be run on the SCVMM server and all Hosts once a month.

    WHY?

    Be Proactive. Prevent Problems.

    • Updates are released regularly for SCVMM Server, Hosts, and the Admin Console.
    • These updates must be applied to all Hosts no matter how many you have… very time consuming.

    Doesn’t Windows Update take care of updates for me?

    Not necessarily. There are certain Hotfixes that need to be downloaded manually, but for the most part Windows Update is the key. Unfortunately, rules in WSUS are sometimes set up such that all updates required do not find their way to SCVMM systems. So, there are layers of complexity in keeping systems up to date.

    HOW?

    Download the tool below by clicking the big GREEN BUTTON. Run ‘VMMUpdate.x’ from an elevated command prompt, or simply right click it and run as Administrator. Download the latest script version every few months below.

    Instructions: Download, extract, right click VMMUpdate.x and run as Administrator!

    Download VMMUpdate


    Feedback

    This script has been tested on many systems. That said, if you run into problems follow the directions below.

    • Open an elevated command prompt
    • Start the script with ‘VMMUpdatev2.x.cmd /debug’
    • Email all console output along with problem description to vmmupdate@live.com

     

     

      jonjor

  • Jonathan's Virtual Blog

    SCVMM 2008 Error (2927) A Hardware Management error has occurred trying to contact server

    • 0 Comments

    Toolbox tools repair fix Red

    A colleague of mine has posted a great article on one cause of these errors. Turns out there are specific refreshers that can be targeted providing WinRM and SCVMM the extra time needed to complete the job. Be sure to read the entire article carefully as there are implications with upgrading to SCVMM 2008 R2. Great article Robert!

     

    Error in SCVMM

    Error (2927)
    A Hardware Management error has occurred trying to contact server <your host name comes here>.

    (Unknown error (0x80338029))

    As it turned out, during refresh we did not wait long enough for a wsman response. The operation that timed out was to enumerate the SAN LUNs.

    In SCVMM 2008 this timeout is 120 seconds by default. Fortunately, we can increase this timeout to a maximum of 300 seconds.

    Read the entire article:

    SCVMM 2008 Error (2927) A Hardware Management error has occurred trying to contact server
    http://blogs.msdn.com/robertvi/archive/2009/10/23/scvmm-2008-error-2927-a-hardware-management-error-has-occurred-trying-to-contact-server.aspx

     

    ...

  • Jonathan's Virtual Blog

    ‘Unsupported Cluster Configuration’ - Virtual Networks

    • 3 Comments

    There are a number of reasons a Virtual Machine (VM) can fall into a status of ‘Unsupported Cluster Configuration.’ A brief list, pulled from TechNet, shows that storage, networking, and other factors can cause this status. (Source: http://technet.microsoft.com/en-us/library/cc967323.aspx)

    • The virtual machine is on a LUN that contains more than one virtual machine.
    • The virtual machine is using non-clustered storage.
    • One or more virtual network adapters on the virtual machine are not connected to a highly available virtual network.
    • An ISO image is attached to highly available virtual machines.
    • A VMware HAVM is connected to a port group that does not exist on all nodes of the host cluster.

    This article deals with the third bullet, which effectively means, ‘settings are not identical on all virtual network (VN) adapters.’ Here are the TechNet instructions. Next we’ll discuss checking these automatically.

    For a virtual network to be considered common by VMM and available to highly available virtual machines on a host cluster, each virtual network in the host cluster must meet the following requirements:

    • The virtual network name must be identical on each host in the cluster. Virtual network names are case-sensitive, so the cases of all characters must match.
    • The host network adapters to which the virtual network is attached on each host in the cluster must have the same location.
    • The virtual network must have the same tag on each host in the cluster.

    After you update the virtual network configurations on all nodes, refresh the cluster to ensure that each virtual network is detected as common. Then check the Networks tab in the host cluster properties to verify that the networks have been added to it.

    Unsupported Cluster Configuration Blog7

    So, check the Network Name, Location and Tag for inconsistencies. Once you have done this for all VNs on each Host in the Host Cluster, corrected any inconsistencies and refreshed the Host Cluster, the VMs will change back to a healthy status. Verifying all of this can take some time, and is prone to human error as these settings are case sensitive and take into account spaces. Instead, why not run a PowerShell script that will report all settings for you? (Scroll to the bottom to download the script).

    Here are the three settings that must be consistent on all nodes.

    Unsupported Cluster Configuration Blog10

    Here’s the PowerShell script we’re going to use.

    Unsupported Cluster Configuration Blog8

    The script is saved as ‘VMNicInfo.ps1’ in the VMM Library. This way, it can be run from within the Admin console. I’ve created a folder named ‘Scripts’ to place it in. Refresh the library to see it.

    Unsupported Cluster Configuration Blog2

    Now we run the script by right clicking on it and answering a few prompts. Enter ‘r’ to run the script if prompted. Next, enter the name of your Host Cluster and press Enter. (This script must be run from an Admin console running on the VMM Server. To run it from the Admin console on a different system change ‘localhost’  to the name of your VMM Server and surround it with quotes.)

    Unsupported Cluster Configuration Blog3

    You see in the image above that the Name and Location are the same. There is no entry for Tag on either VN, so they match as well. In the example below we add a value to Tag on one of the systems.

    Unsupported Cluster Configuration Blog6

    Now we run the script again and see that the output reflects this change. (If this does not work for you make sure you have refreshed the Host Cluster, in the red box). You will also notice that the VMs running on the Host Cluster change to a state of ‘Unsupported Cluster Configuration.’

    Unsupported Cluster Configuration Blog4

    Change the Tag back to its previous value (nothing in my case) and perform another refresh to see your VMs change back to a healthy state.

    image

    That’s it. I hope this clears up any questions or misconceptions you may have had. Below is the script. Be sure to copy this to Notepad as it will remove all formatting characters. Or, download the script here, then run from a VMM PowerShell prompt.

     

    #####################################################################

     

    function DisplayNicInfo($VMHostName)

     

    {

     

      $yy= get-VirtualNetwork -VMHost $VMHostName;

     

      $yy | ForEach-object {write-host "    Name      " $_.Name;

     

                            write-host "    Locations " $_.Locations;

     

                            write-host "    Tag       " $_.Tag;

     

                           }

     

    }

     

    #####################################################################

     

    $clusname = read-host "Host Cluster name to check"

     

    Write-Host ""

     

    $VMMServer = get-vmmserver -computername localhost

     

    $Cluster = get-vmhostcluster -name $clusname

     

    $VMHosts = get-vmhost -vmhostcluster $Cluster

     

    $VMHosts | ForEach-object {Write-Host "VMHost: " $_.Name;

     

      DisplayNicInfo($_.Name);

     

      Write-Host ""}

     

    Big thanks to Austin, who reworked the script into a thing of beauty. Go Perf! (http://blogs.technet.com/askperf)

  • Jonathan's Virtual Blog

    P2V fails with GPT disk using EFI boot

    • 0 Comments

    Some new x64 systems boot from a GPT disk that contains an EFI or UEFI boot partition with an EFI BIOS. Traditionally this meant that the system was of Itanium architecture. SCVMM does not support P2V of Itanium systems as is documented in 'P2V: Requirements for Physical Source Computers'
    http://technet.microsoft.com/en-us/library/cc917954.aspx. There are now x64 (non-Itanium) systems that boot with EFI. These conversions will fail as well due to EFI boot structure.

    Simply check Disk Management on the source machine to see if the boot disk is GPT or MBR. If it is GPT, we do not support P2V as a GPT boot drive requires an EFI or UEFI BIOS.

    This deals with a simple architecture incompatibility. Let’s assume a system uses an EFI or UEFI disk to boot. This also means it is a GPT disk. We are attempting to convert this to a virtual machine so that it can run on a virtual platform. Only Itanium and some newer servers with UEFI architecture can boot EFI as it requires a special BIOS. Hyper-V, and other virtualization platforms, cannot emulate this as they have a generic BIOS based on classic x86 and x64 systems. Therefore, the system disk must be an MBR type to boot in any Windows virtualization implementation. This requirement is not isolated to Hyper-V as any Windows installation cannot boot from GPT disks unless the processor architecture is Itanium or UEFI. During initial Windows installation boot disk type is detected, EFI or MBR, and the appropriate files and registry settings are written out to disk. Windows installations are thus tied to disk type.

    There are no workarounds for moving a Windows system with an EFI partition to non-EFI architecture. EFI and Itanium are in lockstep. Classic x86 and x64 cannot boot EFI, and there and is no simple switch back to MBR boot.

     

    More Information

    EFI and Windows:

    KB951985 - How to set up dynamic boot partition mirroring on GUID partition table (GPT) disks in Windows Server 2008

     

    EFI/GPT not supported by P2V:

    P2V: Converting Physical Computers to Virtual Machines in VMM

    'The information below specifies Itanium systems, with the reason being that an EFI based system will not boot in Hyper-V.
    The following restrictions apply to P2V operation system support:
    VMM does not support P2V conversion for computers with Itanium architecture–based operating systems.'

     

    EFI Support Information:

    Firmware and Boot Environment

    UEFI Support and Requirements for Windows Operating Systems

    Extensible Firmware Interface Specification overview - Intel

    Extensible Firmware Interface

Page 1 of 6 (76 items) 12345»