Array Setup and Networking
1753603 Members
5953 Online
108797 Solutions
New Discussion

Re: Connecting a Nimble Volume via Powershell

 
SOLVED
Go to solution
rottengeek35
Occasional Contributor

Connecting a Nimble Volume via Powershell

I'm a bit of a newbie to both powershell and Nimble.

However.

I'm a DBA charged with getting backups, and we don't have room on the production SAN.  We're completely virtualized.

We *are* replicating to a DR site where we have room.

Our working theory is that I will write a script to create a clone from the latest snap and present it to the DR SQL server where...and then I have any number of options because once I get the .ldf and .mdf files I'm confident I can do whatever I want.

I'm relatively comfortable getting around in the Nimble GUI, and I've performed all of the above steps several times for quick restores.  I can script out the dispart stuff. 

I am using Justin Rich'sPowerShell Module , and I have the cloned volume showing up on the correct server but I can't figure out how to attach it.  The iscsi targets all have such long complicated names, and don't look like they are consistent.

Justin Rich

here's what I have now, and it gets it there but doesn't connect it:

Connect-NSArray -SystemName 10.20.30.40 -Password Beer

Get-NSSnapShot -volume 'serverdb' | select -First 1 | New-NSClone test

Add-NSInitiatorGroupToVolume -Volume test -InitiatorGroup 'DRServer'

Now I'm stuck.  It shows up with an x in the Nimble GUI, and I don't want to crash the whole VM by using the wrong commands.  Can anyone tell me what I'm missing?

Additionally, we're using commvault, so I'm wondering if there aren't Commvault commands which can interact directly with the snapshots?  That seems way easier.

1 REPLY 1
rshekar42
Advisor
Solution

Re: Connecting a Nimble Volume via Powershell

Hi Amanda,

Couple of pointers that might be helpful:

1. Nimble OS 2.3 and newer have a REST API that you can use in your powershell script. More details here: Nimble OS 2.3 – REST API

With the following REST url, you can get the iscsi target name for the volume (I am using "test" as the name of the volume)


curl -k -i -X 'GET' -H "X-Auth-Token: XXXXXXX" "https://ARRAY-IP:5392/v1/volumes/detail?name=test&fields=id,name,target_name"


{


  "startRow":0,


  "endRow":1,


  "totalRows":1,


  "data":[


      {


        "id":"060a2e58b7232ac03900000000000000000000001d",


        "name":"test",


        "target_name":"iqn.2007-11.com.nimblestorage:test-v0a2e58b7232ac039.0000001d.2904988e"


      }


  ]


}



This might be available in Justin Rich's powershell module too, if you look at the result of Get-NsVolume there should be a targetName field.

2. Once you have the target name, you can look at the iSCSI powershell cmdlets to connect to the target: iSCSI Cmdlets in Windows PowerShell