2015-09-04 04:24 AM - edited 2015-12-18 12:18 AM
We are trying to get the Domino plugin to work on our cDot NetApp's.
The setup is cDot 8.3, SC 4.1.1P4, Domino is on Windows with SnapDrive, and Domino Data drives are VMDKs in a VMFS mounted via LUN on FibreChannel...
The Domino part of things works as expected. But we would also like to do a SnapVault update of our data...
The manual states that in order to get the snapshots consistent you sould use snapdrive, sdcli.exe and do the snapshot as part of the backup procedure, so we use the NTAP_SNAPSHOT_CREATE_CMD01 and here we execute sdcli.exe snap create -s %blabalba% -D D E F... and it works just fine...
Only problem is that SnapDrive cannot set the snapmirror-label on the snapshot it has just created... and the SnapVault part of SC's configuration doesn't work, I guess because it doesn't know that the snapshot has been created ? Or it tries to update the snapvault relation which doesn't work as the snapshot hasn't been labeled...
I have tried to set "NTAP_USE_EXTERNAL_SNAPSHOT" to Y, but it doesn not make any difference...
Does anyone have the same issues ? And has anyone solved it ?
I guess one could solve it by running a:
snapshot modify -vserver %vsm% -volume %volume% -snapshot %snapshot% -snapmirror-label daily
But I don't think the SC allows direct execution of netapp commands against the controllers ?
So you would have to do this with some powershell, which is OK, but is it possible to execute the powershell on the SnapCreator server instead of the agent ?
That woud save some time, because then I would not have to install the NetApp Powershell API on evety host with an agent on it...
Am I the only one with this challange ?
Solved! SEE THE SOLUTION
2015-09-04 06:47 AM
I had some time today to ee if I could find a solution to this issue and I did find a solution :-)
I thought that I would share this so that others doesn't waste their time...
Basically I was ready to install the PowerShell Toolkit, but found out that I could just use the SnapDrive SmdLets... described here: https://library.netapp.com/ecm/ecm_download_file/ECMP1189424
I changed my call to "sdcli.exe" so that it called the powershell cmdlets instead... All drives C-F are on the same volume (this is VMDKs on a VMFS LUN), so this way one snapshot is created...
NTAP_SNAPSHOT_CREATE_CMD01="C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -Command Import-Module SnapDrive;New-SdSnapshot -Path "C:,D:,E:,F:" -Snapshot %SNAME-%SNAP_TYPE_%SNAP_TIME
I then figured out that the SnapDrive CmdLets actually had a "Set-SdSnapshot" call which could be used to set the snapmirror-label... like this...
NTAP_SNAPSHOT_CREATE_CMD02="C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -Command Import-Module SnapDrive;Set-SdSnapshot -Snapshot %SNAME-%SNAP_TYPE_%SNAP_TIME -StorageSystem sourcesvm -volumename SOURCE_VOLUME -Snapmirrorlabel daily
Then I just needed to trigger an update of the snapvault relations I have... (there are two controllers for this...better safe than sorry... and yes they are both snapvault)
NTAP_SNAPSHOT_CREATE_CMD03="C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -Command Import-Module SnapDrive;Write-Debug %SNAME-%SNAP_TYPE_%SNAP_TIME;Invoke-SdSnapMirrorUpdate -SourceStorageSystem sourcesvm -SourceVolumename SOURCE_VOLUME -DestinationStorageSystem destinationsvm1 -DestinationStorageVolume DESTINATION_VOLUME_1
NTAP_SNAPSHOT_CREATE_CMD04="C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -Command Import-Module SnapDrive;Write-Debug %SNAME-%SNAP_TYPE_%SNAP_TIME;Invoke-SdSnapMirrorUpdate -SourceStorageSystem sourcesvm -SourceVolumename SOURCE_VOLUME -DestinationStorageSystem destinationsvm1 -DestinationStorageVolume DESTINATION_VOLUME_2
Before you ask, the reason for the "Write-Debug..." is that SnapCreator will not run unless the variables is part of the command... (wierd! I know...)
Also the reason for 4 commands and not just one long one, is just to keep it manageable :-)
Sadly there are no variables for volumenames in snapcreator, so this needs to be altered to fit each installation...
What can I say, it works :-)
Thanks for reading
2015-10-26 04:39 PM
I am trying to implement this but keep getting error at lease one command is not allowed to be executed remotely. What did you put into the allowed_commands.config on the windows machine???
2015-10-27 12:24 AM
I was a bit reckless and just used a *
Which allows everything to be executed.
I guess if you wanted the command executed you could look in the debug log where you can see the specific command executed and copy/paste it.