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 126.96.36.199 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:
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.