Microsoft Virtualization Discussions

ConvertTo-NcVmdk inside LUN Errors


Hi Team,


I am trying to convert a Microsoft Hyper-V VHDX file residing inside a NetApp LUN to a VMWare vSphere VMDK file which should reside inside the same lun. I am connected directly to the SVM which owns the respective volumes/luns.

ONTAP Toolkit Version is and ONTAP Version is 9.4 GA.


Regarding the official POSH Toolkit Help it should be possible to convert VHDX files directly inside a LUN:


"The source and destination files must reside inside of a Data ONTAP volume
(accessed using a path starting with /vol/<volname>), a Data ONTAP attached
LUN, or a Data ONTAP CIFS share (accessed using a mapped network drive or a
UNC path starting with \\hostname\<share>). The source and destination
files must reside on the same controller and volume."


I am using the following commands and get the error messages "Failed to get file info" or "SCSI command failed: Illegal request, ASC = 21, ASCQ = 0" depending which path I choose:


PS C:\> ConvertTo-NcVmdk -SourceVhdx '/vol/cbc_hyperv_cl03_csv04/cbc_hyperv_cl03_csv04.lun/CBC_SK_NANO_01/Virtual Hard Disks/CBC-SK-NANO-01.VHDX' -DestinationVmdk '/vol/cbc_hyperv_cl03_csv04/cbc_hyperv_cl03_csv04.lun/Conversion/CBC-SK-NANO-01.VMDK' -SnapshotName PROD_cbc-hyperv-cl03_07-23-2018_04.30.00

ConvertTo-NcVmdk : Failed to get file info
At line:1 char:1
+ ConvertTo-NcVmdk -SourceVhdx '/vol/cbc_hyperv_cl03_csv04/cbc_hyperv_c ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [ConvertTo-NaVmdk], IOException
+ FullyQualifiedErrorId : System.IO.IOException,DataONTAP.PowerShell.SDK.Cmdlets.HyperV.ConvertToNaVmdk


PS C:\> ConvertTo-NcVmdk -SourceVhdx 'C:\ClusterStorage\SVM_CUBA_SAN_CSV04\CBC_SK_NANO_01\Virtual Hard Disks\CBC-SK-NANO-01.VHDX' -DestinationVmdk 'C:\ClusterStorage\SVM_CUBA_SAN_CSV04\Conversion\CBC-SK-NANO-01.VMDK' -SnapshotName PROD_cbc-hyperv-cl03_07-23-2018_04.30.00


Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 9/11/2018 8:58 AM 341 CBC-SK-NANO-01.VMDK

ConvertTo-NcVmdk : SCSI command failed: Illegal request, ASC = 21, ASCQ = 0
At line:1 char:1
+ ConvertTo-NcVmdk -SourceVhdx 'C:\ClusterStorage\SVM_CUBA_SAN_CSV04\CB ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [ConvertTo-NaVmdk], Exception
+ FullyQualifiedErrorId : System.Exception,DataONTAP.PowerShell.SDK.Cmdlets.HyperV.ConvertToNaVmdk


Any help finding the problem is appreciated!


Kind regards,





Hi Sascha,


Is your LUN a CSV volume for you Hyper-V cluster? If so have you tried flex cloning the volume\lun and mounting it to a single host (just for testing). Also what OS are you running the CmdLet from? Have you tried the same command from different (older) operating systems? Reason i mention it is because i've encountered the error "SCSI command failed: Illegal request, ASC = 21, ASCQ = 0" before. It is a SCSI error and the cmdlet "ConvertTo-NcVmdk" doesn't invoke any NetApp ZAPI's from the NMSK. I've read through the CmdLet source code and it's using win32 and SCSI methods. I suspect that over time as Microsoft have updated their operating systems and API's that this cmdlet stopped working due to changes at an Windows OS layer.



If this post resolved your issue, help others by selecting ACCEPT AS SOLUTION or adding a KUDO.


Hi Matt,


thanks for your input! Sounds like the ConvertTo-CMDLETs are a bit outdated Smiley Sad


  • Yes, my LUN is a CSV attached to three Windows Server 2016 Hyper-V Hosts
  • Windows Build is Version 10.0.14393
  • No, I haven't tried FlexCloning and Re-Attaching the LUN
  • No, I haven't tried the command from an older OS (e.g. Windows 2012 or 2012 R2)