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


Author: Robert Smit [MVP]

Robert Smit is Senior Technical Evangelist and is a current Microsoft MVP in Clustering as of 2009. Robert has over 20 years experience in IT with experience in the educational, health-care and finance industries. Robert’s past IT experience in the trenches of IT gives him the knowledge and insight that allows him to communicate effectively with IT professionals who are trying to address real concerns around business continuity, disaster recovery and regulatory compliance issues. Robert holds the following certifications: MCT - Microsoft Certified Trainer, MCTS - Windows Server Virtualization, MCSE, MCSA and MCPS. He is an active participant in the Microsoft newsgroup community and is currently focused on Hyper-V, Failover Clustering, SQL Server, Azure and all things related to Cloud Computing and Infrastructure Optimalization. Follow Robert on Twitter @ClusterMVP Or follow his blog Linkedin Profile Http:// Robert is also capable of transferring his knowledge to others which is a rare feature in the field of IT. He makes a point of not only solving issues but also of giving on the job training of his colleagues. A customer says " Robert has been a big influence on our technical staff and I have to come to know him as a brilliant specialist concerning Microsoft Products. He was Capable with his in-depth knowledge of Microsoft products to troubleshoot problems and develop our infrastructure to a higher level. I would certainly hire him again in the future. " Details of the Recommendation: "I have been coordinating with Robert implementing a very complex system. Although he was primarily a Microsoft infrastructure specialist; he was able to understand and debug .Net based complext Windows applications and websites. His input to improve performance of applications proved very helpful for the success of our project

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: