Data Backup and Recovery

SnapDrive snapshots with snapmirror label

Rapp

I need to get an application consistant snapshot of an RDM volume, which I am during by running the following script to take a weekly backup of the D drive on a server. The only problem with this is I don't seem to be able to apply a snapmirror label to the snapshot. I can't seem to find an option to do this using the sdcli commands.

 

sdcli snap create -s sd_weekly.0 -D d -u
sdcli snapvault archive -force -a sd_weekly_%DATE:~6,4%%DATE:~3,2%%DATE:~0,2% -DS d sd_weekly.0
sdcli snap delete -D d -s sd_weekly.1
sdcli snap rename -d d -o sd_weekly.0 -n sd_weekly.1

 

So I have written the following powershell script to apply a snapmirror label to the snapshot, which works but when I run the last command to return the results it doesn't do so.

 

Import-Module DataONTAP

Connect-NcController -name Filer1

$q = Get-NcSnapshot -Template

$q.Name = "sd_weekly.0"

$a = Get-NcSnapshot -Template

$a.SnapmirrorLabel = "Weekly"

Get-NcSnapshot -Volume server01_d -SnapName sd_weekly.0 | Update-NcSnapshot -Query $q -Attributes $a

Get-NcSnapshot -Volume server01_d -SnapName sd_weekly.0 | Select-Object Volume,SnapmirrorLabel

 

However if I run the following from putty on the filer1 it does show that it has updated the snapmirror label

 

 snapshot show -vserver SVM01 -volume server01_d -fields snapmirror-label

 

Does anyone have any idea's on how I can get this to update correctly in powershell??

 

 

 

1 REPLY 1

grahame

Not sure if this will help a script i did years ago where before there was snapmirror integration in SME i highlighted the command in orange i was running to add the label

 

###########################################################################
### IMPORT NETAPP DATAONTAP TOOLKIT

if((Get-Module -Name "DataOntap") -eq $Null){
Import-Module -Name DataONTAP
Write-Host "Module DataONTAP imported"
}

 

###########################################################################
### CONNECT TO Cluster vserver

### add password to file location can be whatever you want
$username = "vsadmin"
$password = convertto-securestring "netapp1" -AsPlainText -force
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $password
$Controller = "10.10.10.178"

Connect-NcController -Name $Controller -Credential $cred -HTTPS -Vserver sonetapp7

###########################################################################
### PREDEFINED SNAPMIRROR LABEL

$SnapmirrorLabel = "EXCH_DAILY"


###########################################################################
### GET VOLUME LIST EXCHANGE VOLUMES

$EXCH_Volumes = Get-NcVol | Where-Object {$_.Name -like "soexch*"}

for($i = 0;$i -lt $EXCH_Volumes.Length; $i++){

$UpdateSnapVault = $False
$VolumeSnapshot = Get-NcSnapshot -Volume $EXCH_Volumes[$i].Name | Where-Object {$_.Name -like "exchsnap*"} | sort descending

if(($VolumeSnapshot[0].Name -like "exchsnap*") -and ($VolumeSnapshot[0].SnapmirrorLabel -eq $Null) ){


$UpdateSnapVault = $True

Set-NcSnapshot -Vserver $EXCH_Volumes[$i].Vserver -Volume $EXCH_Volumes[$i].Name -Snapshot $VolumeSnapshot[0].Name -SnapmirrorLabel $SnapmirrorLabel

if($UpdateSnapVault -eq $True){

$SnapmirrorRelation = $Null
$SnapmirrorRelation = Get-NcSnapmirror -SourceVolume $EXCH_Volumes[$i].Name
Invoke-NcSnapmirrorUpdate -Source $SnapmirrorRelation.SourceLocation -Destination $SnapmirrorRelation.DestinationLocation

}

}

}

 

Announcements
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.

NetApp Insights to Action
I2A Banner
Public