NetApp OnCommand #Shift and #MAT4Shift using #MAT #NetApp #OnCommand #NetAppCommunity

During the migration of several VMware Vm’s to hyper-v I tested several migration scenario’s and I had a Netapp Storage device so why not using Netapp instead of 5nineEasyConverter,StarWindConverter or Migration Automation Toolkit (MAT). and I must say every tool has its own privilege. you should combine them all into a godmode toolkit. but for now I tested the Netapp Shift tool but it seems it has be upgraded to netapp Oncommand.

So the big difference there is between shift and OnCommand is that shift is using a Database and OnCommand is using apache with powershell.

Both methods are nice but when the conversion of the servers has multiple domains different user accounts in the netapp and VM’s then you have a big task for movement en then the OnCommand is better and more Flexible.

So what is netapp OnCommand :

Convert data with ease across hypervisor platforms using OnCommand Shift. Cut virtualization costs to stretch IT spend. With fast, scalable, and simple virtual machine conversion, you can shift data with ease across hypervisor platforms—stretching your IT budget and avoiding vendor lock-in. The NetApp® OnCommand® Shift data-conversion tool (evolved from MAT4Shift) accelerates VM migrations between VMware® ESX/ESXi and Microsoft® Hyper-V




Because OnCommand Shift enables extreme VM conversion speed, bi-directional migrations, and automates bulk VM conversion, you can expect less downtime and greater flexibility—even for large VM migration projects. Conversions now take just minutes.

OnCommand Shift captures the success with and learning gained from the MAT4Shift tool and takes it to the next level. What does OnCommand Shift do? You, our customers, told us that you love the fact that you can migrate your VMs in minutes with it, with near zero touch! Check! And it does that faster than with MAT4Shift. You also told us that the fact that we use PowerShell rocks! Not only do we use PowerShell, but it’s a true PowerShell module with real CmdLets. So script to your heart’s content. If you want to migrate your VMs in either direction, NetApp can do that too.

OnCommand Shift in action looks like sorcery and magic. Well, it kind of is—NetApp magic! It leverages three unique capabilities that NetApp delivers:

  • NFS and CIFS shares on a single volume
  • The capability to clone files nearly instantaneously regardless of size
  • Conversion of VM disk formats while leveraging the cloning technology for extremely rapid cloning and conversion

Below is a nice overview on how things are handled. And this brings me on another migration scenario that is also a nice opportunity.

share the VMware nfs share with Hyper-v so both can access the Volume. use the  StarWindConverter or Migration Automation Toolkit to Convert the VM.

Time about 40GB in 15 Minutes what was fine for me. this config saves you the Slow copy from VMware to hyper-v with all conversion tools. #NetApp will do this faster 5 Minutes.

Figure 1) Cloning and Converting VM Disk Files.jpg


The Powershell usage with the get-shiftserverstate you can call the apache server or with the verbose option get more info.




This will convert the ESX to Hyperv with name and IP to name and IP


Below is the Conversion script I used  keep in mind to change the Passwords / user accound and server names. As I did create a variable for the user and password. As I did several test and find it useful to get a lot of checksums something’s may be double as I copied some rules for easiness. and the useraccounts need to be a local admin to uninstall the vmware tools.

My conversion machine was also the hyper-v server.

# OnCommand Shift PowerShell Cmdlets Example  admin Password
$password = ConvertTo-SecureString -AsPlainText -Force "Password"
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist  "admin", $password
Connect-ShiftServer -host -port 8443 -credential $cred


#### change password on command shift server
$newpassword = ConvertTo-SecureString -AsPlainText -Force "Password"
$newcred = new-object -typename System.Management.Automation.PSCredential -argumentlist "admin", $newpassword
Set-ShiftServerCredentials -cred $newcred


Get-ShiftServerState -Verbose
Connect-ShiftServer -host -port 8443 -credential $cred

$password1 = ConvertTo-SecureString -AsPlainText -Force "Mat4Shift"
$cred1 = new-object -typename System.Management.Automation.PSCredential -argumentlist  "Mat4Shift", $password1
Set-ShiftOntapConfig -clusterIp "" -destinationPath "Sharename01" -force -Verbose -credential $cred1

#some checksums

winrm get winrm/config/client

Set-ShiftGuestOSConfig -domain mvp.local -force

# Set Vmware passwords
$password = ConvertTo-SecureString -AsPlainText -Force "Password"
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist "mvp\vmware", $password
Set-ShiftHypervisorConfig -credential $cred -name vmware -datacenter "Data Center" -force -hostname vmw01.mvp.local -IPaddress

#set hyperv passwords

$password = ConvertTo-SecureString -AsPlainText -Force "Password"
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist "mvp\admin", $password
Set-ShiftHypervisorConfig -credential $cred -name "Hyper-v" -IPaddress "" -hostname "hyp01.mvp.local" -datacenter "" -force

#Add-ShiftNetworkConfig -name "Primary Network" -sourceSwitch "VM Network" -destinationSwitch "VM_Converged_Network"
Add-ShiftNetworkConfig -hypervSwitch VM_Converged_Network -name LAN -vmPortGroup vSwitch0 -vLanId 10 -force

# Remove-ShiftNetworkConfig -name Network-A

#first trail conversion

Convert-VirtualMachine -source esx -destination hyperv -name "vmconvert01" -ipAddress -force

#get all the info in the job status or get a CSV file

Get-ShiftJobStatus J_ddc0f6ed-0bdf-48ee-8a7e-60264b7e7a7e -loop
Get-ShiftReport -file c:\shiftreport.csv
notepad c:\shiftreport.csv

$password = ConvertTo-SecureString -AsPlainText -Force "Password"
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist "administrator", $password
Convert-VirtualMachine -source esx -destination hyperv -name "vmconvert02" -credential $cred -ipAddress -domain mvp.local
Convert-VirtualMachine -source esx -destination hyperv -name "vmconvert02" -ipAddress

# with the verbose option you get more info As I tested with different accounts!

$password = ConvertTo-SecureString -AsPlainText -Force "Welkom01"
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist "mvp\admin", $password
Convert-VirtualMachine -source esx -destination hyperv -name "vmconvert02" -credential $cred -ipAddress  -domain mvp.local -Debug –Verbose

#get the jobstatus in verbose mode – best to use verbose all the time!

Get-ShiftJobStatus J_59661117-fcc3-416f-b3f7-bd5ec926237b -loop -Verbose -Debug

#get the results

Get-ShiftReport -file c:\shiftreport.csv
notepad c:\shiftreport.csv



# Create Netapp SVM
# OnCommand Shift PowerShell Cmdlets Example  admin Password
$passwordsvnm= ConvertTo-SecureString -AsPlainText -Force "Password"
$credsvm new-object -typename System.Management.Automation.PSCredential -argumentlist  "admin", $passwordsvm
New-SVM -file C:\svm_params.txt -Verbose -Debug

If you need more info about the Powershell Commands 

import-module *
Get-Command -Module ShiftClient

My conclusion is it is hard to get NetApp OnCommand to work because you need network/storage guys to work together and you will need the correct user accounts for the servers. but when is is running it is fast and true every server in less than 5 Minutes. But not usable in some situations when using multiple domains and the netapp configured and no option to reconfigure. And yes a dedicated NetApp would be nice but hardly the case.

Still Conversion takes time and this is also the point of moving or staying on VMware cause it takes so much time and effort to migrate / downtime projects could fail on this.

Of all the tools I used proven method for me is create a new lun mount this to VMware and make sure Hyper-v can also access this LUN. then do a storage migration of the VM to the LUN and turnoff the VM and use the Migration toolkit to convert the machine yes this is slow but not all have a NetApp. with fast storage SSD I got 3,66 GB/Minute and that was fine with an average VM size of 150 GB. And as a DC you can easily build a new one and replicate the AD to the Fresh server.


Happy clustering

Robert Smit