Unable to perform a P2V to a CSV in Virtual Machine Manager if there is insufficient disk space on the local drive

Article ID: 2685247 - View products that this article applies to.
Expand all | Collapse all

Symptoms

When trying to perform a physical to virtual (P2V) conversion to a cluster shared volume in System Center 2012 Virtual Machine Manager, the placement rating may show zero stars for a cluster. Viewing the details of the Rating Explanation shows the following text: 

There is not enough disk space on the available volumes due to disk reserves.
Maximum disk space on the most appropriate volume, account for the host resource utilization and reserves (in megabytes): <value1>
The virtual machine requires (in megabytes): <value2>
The maximum space at the time of evaluation, after considering the virtual machine requirements (in megabytes): <value1>

Cause

This is a known issue in System Center 2012 Virtual Machine Manager and System Center 2012 Virtual Machine Manager Service Pack 1 (SP1). This issue occurs because host placement is only taking into account the space available on local volumes and not Cluster Shared Volumes (CSV) or cluster shared disks.

Resolution

If you are using System Center 2012Virtual Machine Manager SP1, you can workaround the issue by ensuring all volumes selected as part of the conversion are configured to use VHD type of Dynamic. This will effectively bypass the initial disk capacity check during placement calculation. Once the final path is selected in the Wizard, another check will be performed to verify sufficient space.

Note: If any one of the VHDs types are Fixed, you may continue to see the failure discussed above if there is insufficient free space on the local storage

If you are using System Center 2012Virtual Machine Manager we have identified the following methods to workaround this behavior.


Method 1: Free sufficient space on an existing local drive.

After freeing sufficient space, the initial placement calculations can complete successfully allowing you to progress to the next step of the Wizard and select another path such as a cluster shared volume for the virtualized server.
  1. On the desired cluster, select one node and free sufficient disk space capable of containing the converted disks from the P2V source machine. 

    To determine the approximate free space required, view the Volume Configuration page of the P2V Wizard. Selecting Dynamic as the VHD Type will require the least amount of space on the destination host; roughly the amount specified by the Data Size column. Selecting Fixed will require the most space, as represented by the VHD Size (MB) column.
  2. Open the VMM console, select the Fabric workspace, expand Servers, All Hosts and select the cluster node used in step 1.
  3. From the Host tab, select Refesh and verify the Refresh host cluster job completes successfully
  4. Start the Physical to Virtual (P2V) wizard referencing the appropriate source machine to be converted.
  5. When you reach the Volume Configuration page of the P2V Wizard, select Dynamic as the VHD Type for each volume as it will require the least amount of space on the destination host.
  6. Continue the Wizard and on the Select Host page, select the host referenced in step 1. It should have an acceptable Rating. Click Next
  7. On the Select Path page, use the drop down list to select the desired cluster storage for final placement of the P2V virtual machine.
  8. Continue through the wizard making the desired selection. On the Summary page, verify the appropriate path is specified and click Create.

Method 2: Add a new disk with sufficient space as a local drive

This can be a new local disk or external disk such as a LUN assigned from a SAN. The following steps create a new local disk from a dynamically expanding VHD. If you will be using physical storage skip to the section below titled: Making the new storage Available for Placement in VMM

NOTE The dynamically expanding VHD will not be used for actual placement, it will allow the free space check to complete successfully allowing you to progress to the next step of the Wizard and select another path such as a cluster shared volume for the virtualized server.

Creating a dynamic VHD to expand local free space

  1. On the desired cluster, select one node and open Server Manager
  2. Expand Storage and select Disk Management
  3. From the Action menu, select Create VHD
  4. For the Location, specify a local path and file name to store the VHD. For example: D:\DynamicVHDforP2V.VHD
  5. For Virtual hard disk size select size sufficiently large for your P2V needs. For example: 1TB

    To determine the approximate free space required, view the Volume Configuration page of the P2V Wizard. Selecting Dynamic as the VHD Type will require the least amount of space on the destination host; roughly the amount specified by the Data Size column. Selecting Fixed will require the most space, as represented by the VHD Size (MB) column.
  6. For the Virtual hard disk format select Dynamic expanding. 

    IMPORTANT: Do not select Fixed. Selecting Fixed will create a VHD of the specified size potentially filling the local harddrive. Using dynamic creates a minimally sized VHD (about 2 MB). 
  7. The VHD will be attached automatically and listed as a new Disk in the lower window.
  8. Right click on the Disk # of newly created disk, and select Initialize Disk. Ensure the new disk and MBR is selected, and click OK
  9. Once initialized, right click on the partition of the new disk that currently shows as Unallocated and select New Simple Volume....
    Click Next through the wizard selecting the desired drive letter, and finally click Finish.


    Making the new storage Available for Placement in VMM
  10. Open the VMM console, select the Fabric workspace, expand Servers, All Hosts and select the cluster node used in step 1.
  11. From the Host tab, select Refesh and verify the Refresh host cluster job completes successfully
  12. Open the Properties of the cluster node, Select the Hardware tab,locate the new volume under Storage, and enable Available for placement. Verify the Change properties of a host volume job completes successfully


    Start the P2V and redirect storage to cluster shared volume.
  13. Start the Physical to Virtual (P2V) wizard referencing the appropriate source machine to be converted. Enable Available for placement
  14. When you reach the Volume Configuration page of the P2V Wizard, select Dynamic as it will require the least amount of space on the destination host.
  15. Continue the Wizard and on the Select Host page, select the host referenced in step 1. It should have an acceptable Rating now. Click Next
  16. On the Select Path page,use the dropdown list to select the desired cluster storage for final placement of the P2V virtual machine.
  17. Continue through the wizard making the desired selections. On the Summary page, if the appropriate path is specified click Create.

Method 3: Use a powershell script to perform the P2V conversion and specify appropriate location

Use the following PowerShell script to perform the P2V conversion:

$computername = [computer name]
$targethostgroup = Get-SCVMHostGroup -Name [target host group name]
$cred = Get-Credential
$computerconfiguration = New-SCComputerConfiguration -SourceComputerName $computername -Credential $cred
($computerconfiguration.ErrorList.Count -eq 0)
$jobgroup = [System.Guid]::NewGuid()
for ($i=1; $i -le $computerconfiguration.NetworkAdapters.Count; $i++)
{ New-SCVirtualNetworkAdapter -JobGroup $jobgroup -MACAddress $computerconfiguration.NetworkAdapters[$i].MACAdress -MACAddressType Static }
$totaldiskspaceBytes = 0
for ($i=1; $i -le $computerconfiguration.Volumes.Count; $i++)
{ $totaldiskspaceBytes += $computerconfiguration.Volumes[$i].Size }
$totaldiskspacegigabytes = $totaldiskspaceBytes / 1073741824
$name = "Temporary Hardware Profile " + [System.Guid]::NewGuid().toString()
$memory = $computerconfiguration.MemoryMB
$cpucount = $computerconfiguration.CPUCount
$processortype = $computerconfiguration.CPUType
$hardwareprofile = New-SCHardwareProfile -HighlyAvailable $true -Name $name -JobGroup $jobgroup -MemoryMB $memory -CPUCount $cpucount -CPUType $processortype
$vmhostrating = Get-SCVMHostRating -VMHostGroup $targethostgroup -VMName $computername -JobGroup $jobgroup -HardwareProfile $hardwareprofile -DiskSpaceGB $totaldiskspacegigabytes
($vmhostrating[$bestindex].DeploymentErrorList.Count -eq 0)-and($vmhostrating[$bestindex].ZeroRatingReasonList.Count -eq 0)
Get-SCVirtualNetworkAdapter -HardwareProfile $hardwareprofile | Remove-SCVirtualNetworkAdapter
Remove-SCHardwareProfile -HardwareProfile $hardwareprofile
$path = $vmhostrating[$bestindex].PreferredVolume.ToString() + “[some folder path]”
New-SCP2V -SourceComputerName $computername -VMHost $vmhostrating[$bestindex].VMHost -Name [vm name] -Path $path -MemoryMB $memory –Credential $cred -RunAsynchronously
Note This is a "FAST PUBLISH" article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use for other considerations.

Properties

Article ID: 2685247 - Last Review: May 7, 2013 - Revision: 5.1
Applies to
  • Microsoft System Center 2012 Virtual Machine Manager
Keywords: 
kbtshoot KB2685247

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com