Microsoft Virtualization Discussions

Powershell NDMP Copy over non-routed network?


Has anyone tried to use the NDMP copy commands to copy files between controllers over a non-routed network?  I'm working on updating my restore script ( so that if you chose a production Filer, it will use SnapRestore and if you chose a DR Filer it will use NDMP copy.  It works if I use the public IPs, but not if I use our non-routed storage network IPs (our storage network is 10GB whereas public is only 1GB, hence the desire to use the storage network).

Here is the error I receive:

Start-NaNdmpCopy : A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond <storage_IP>:10000

Here is the command I am running (see underlined section):

If (($MyFiler -eq "DRFILER1") -or ($MyFiler -eq "DRFILER2") -or ($MyFiler -eq "DRFILER3")) {

    Connect-NaController $MyFiler

    If (!($Source_IP)) {$MySourceIP = $Source_IP_Pub} Else {$MySourceIP = $Source_IP}

    If (!($Dest_IP)) {$MyDestIP = $Dest_IP_Pub} Else {$MyDestIP = $Dest_IP}

    New-PSDrive -Name "ds1" -Root \ -PSProvider VimDatastore -Datastore $vmDatastore

    cd ds1:\$vm2restore

    $fileList = Get-ChildItem -Name


    ForEach ($file in $fileList) {

        If (($file -notcontains "*.log") -and ($file -ne "restore_symboltable")) {

            Start-NaNdmpCopy -SrcController $MySourceIP -SrcPath "/vol/$MyVol/.snapshot/$snapshot1/$vmDatastore/$vm2restore/$file" -DstController $MyDestIP -DstPath "$ProdPath/$vm2restore/" -SrcCredential $cred -DstCredential $cred -SrcAuthType md5 -DstAuthType md5


    Do {

        Start-Sleep -Seconds 5

        $ndmp = Get-NaNdmpCopy


    While ($ndmp.State -eq "RUNNING")


Thanks in advance.




Hmm.. 3 questions..

1) Is NDMP licensed in both locations? <-- I know, kind of a "duh", but..

2) Is ndmpd running on the target?

3) Is the ndmpd.access option set to accept the correct addresses/interfaces in both places?

Judging from the error output, it's saying a connection exists, but, i'd verify it anyway. A quick way of determining whether or not ndmpd is running on the target is to simply try telnetting to port 10000. If you can connect, it's safe to assume it's running and happy. SnapVault is actually communicating via NDMP under the hood, so, assuming the SnapVault portion of your script works via routed IP, but not via non-routed, then it would lead me to suspect that your ndmpd.access isn't set correctly.

Otherwise, if all of the above are yes, and you're still having problems, try changing ndmpd.authtype to something other than "challenge". For debugging purposes, you may also want to set ndmp.access to "all", but I wouldn't leave it that way--Past that, i'd start looking at whether or not a networking issue exists, or whether the target filer is having some sort of performance issue or constraint that precludes it from taking part in an NDMP session.

(BTW, hello from the fine folks here at the corner of Grant & Craycroft and thanks for the steady stream of electrons!) 



Yes is the answer to all three of your questions.  The script works just fine if I query for the Public IP of the Filer instead of the non-routed IP.  NDMP copy will work from the command line when SSH'd into the Filer as well.  It just won't make the connection when trying to use the non-routed network interface from PowerShell.  I will have to ask our primary storage admin if I can change the ndmpd.authtype to see if that makes a difference.



Ok.. Hmm.

What do you get back when issuing options ndmpd.access in both locations?

If not set to "all", both should reference the non-routed IP, and/or the interface name in which NDMP is allowed to communicate on.


The options ndmpd.acess is set to "all" on both Filers.  I plan to test out changing the options ndmpd.preferred_interface setting to the non-routed network to see if that works.  I'll let you know what I find.


Hey -- Just following up. How'd it work out?


It didn't seem to make a difference.  I ended up changing the script to use the public interface.


Please do... I'm kinda curious about this one.

NetApp on Discord Image

We're on Discord, are you?

Live Chat, Watch Parties, and More!

Explore Banner

Meet Explore, NetApp’s digital sales platform

Engage digitally throughout the sales process, from product discovery to configuration, and handle all your post-purchase needs.