VirtuallyUseful – Random Tech Babble

September 15, 2014

Nimblestorage array planning sheet and script generator

Filed under: SAN, Scripting — Ray Olander @ 10:55 PM

UPDATE TO THIS ARTICLE: I’ve recently published a tool for firmware version 2.1.x. You can find both the 1.4.x and 2.1.x workbooks at

Let’s say you purchase a new Nimble array and you determine you need to create and configure like 150 volumes, each of which will need to be associated with a volume collection, which in turn needs to be defined with a schedule and credentials and so on. And of course, you’ll need to define initiator groups, possibly some performance profiles, and maybe even set the array from fresh out of the box. I know all that can be done with the GUI, but who really wants to do that? Before there was a way to interface with the array via powershell (which I have yet to get to try), the way I came up with to “automate” generating the scripts I needed was to use Excel.

The Excel workbook I’ve posted on the Nimble Connection site is a much refined version of what I initially built to deploy our first Nimblestorage array. That sheet worked so well that I just had to see how far I could take it. Little by little in my “free time” I’ve added capabilities until it has finally reached what I consider to be presentable to others. Once I was ready to let people see it, I showed it to a select few of the Nimblestorage team and I have received very positive feedback, so I am hoping it will be useful for others as well. This updated link is for v5.13 of the sheet for both 1.4.x code and 2.1.x code.

This can be used as a planning tool, which effectively results in generating documentation of the array configuration. However, the real value is that it generates ALL the BUILD commands associated with your inputs AND it generates all the DELETE commands to undo what you configured as well (since there’s no “factory reset” option on the array). I create the code locally on each planning page (in case you just need a quick command) as well as having an “all-in-one” sheet for both create and delete code where I scrape the code from the entire workbook and organize it (for the full copy/paste array build).

The first sheet in the workbook has a lot of information about general items as well as about specific pages. Please be sure to read through that entirely before working with the sheet, I think you’ll find that it helps a lot. The workbook is organized into sections and in steps. Complete the sheets in their numbered order, each sheet in the workbook has information that is used by drop-down boxes in later sheets. For example, when you fill in volume names in the planning sheet, those names automatically appear in the drop-down boxes of higher numbered sheets such as the volume collection sheet. For data that is a little more static, or is not Nimblestorage-based (such as naming conventions or volume size standards you may want to define), there is a TABLES tab that you update in section one. Those too will automatically appear in drop-downs elsewhere. When you finish entering data on the last page, go to the “FINAL CREATE CODE” sheet and click the GENERATE “CREATE” CODE button and all the code will appear.



Create a free website or blog at