1 Reply Latest reply: Jan 6, 2016 8:05 AM by Raja Shekar Chelur RSS

    Connecting a Nimble Volume via Powershell

    Amanda Crisp Newbie

      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.

        • Re: Connecting a Nimble Volume via Powershell
          Raja Shekar Chelur Adventurer

          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