VMware Cloud Community
fborges555
Enthusiast
Enthusiast

Convert RDM disk to VMDK

HI gurus

 

can we convert all VM RDM disks to vmdk using powercli?

 

Thanks

0 Kudos
1 Reply
LucD
Leadership
Leadership

Yes, you can, but not with a cmdlet.
You have to use the API method and the VM needs to be powered off and it requires an svMotion.

$vmName = 'MyVM'
$tgtDS = 'MyDS'

$vm = Get-VM -Name $vmName
$ds = Get-Datastore -Name $tgtDS

$spec = New-Object -TypeName VMware.Vim.VirtualMachineRelocateSpec
$spec.Datastore = $ds.ExtensionData.MoRef

Get-Harddisk -VM $vm -PipelineVariable hd |
ForEach-Object -Process {
    $disk = New-Object -TypeName VMware.Vim.VirtualMachineRelocateSpecDiskLocator
    $disk.DiskId = $hd.ExtensionData.Key
    $disk.Datastore = $ds.ExtensionData.MoRef
    if('RawPhysical','RawVirtual' -contains $hd.DiskType){
        $disk.DiskBackingInfo = New-Object -TypeName VMware.Vim.VirtualDiskFlatVer2BackingInfo
        $disk.DiskBackingInfo.FileName = ''
        $disk.DiskBackingInfo.EagerlyScrub = $false
        $disk.DiskBackingInfo.ThinProvisioned = $true
        $disk.DiskBackingInfo.DiskMode = [VMware.Vim.VirtualDiskMode]::persistent
    }
    $spec.Disk += $disk
}

$vm.ExtensionData.RelocateVM($spec,[VMware.Vim.VirtualMachineMovePriority]::defaultPriority)

 


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

0 Kudos