I managed to finally find time recently to install the EMC PowerShell Cmdlets and have a play, this was mainly evenings and lunchtimes but when else do we get spare time in our working days !
I thought it would be useful to share my experience and show what EMC are doing in the world of PowerShell.
Why you need PowerShell for Storage
As I have mentioned before I use PowerShell as kind of a glue to grab pieces of information from various sources and tie them in together until I have the results I need and then output them into a nice report, so wouldn’t it be great if we could use these Cmdlets to integrate our EMC storage and VMware vCenter environment (Much like the VSI for vCenter) to grab the information from both sources and give us a nice output with information from both sources expanding the datastore to give us LUN information so we know how it looks underneath (further post coming with the script).
Another way to use PowerShell may be to create multiple LUNs, what if I want to add 50 LUNs to my EMC Storage and then assign them to the hosts within my vCenter, then going back to vCenter and telling it about the LUNs and formatting these ready for use, well you get the point.
How do the EMC Cmdlets work ?
The EMC Cmdlets do not actually connect directly to an array and manage them from there, imagine if you had multiple arrays, further imagine if these arrays were of different types, what EMC does is actually connect to a SMI-Specification (SMI-S) host which intern attaches to the arrays which are being managed. Think of this as kind of a translation service, a proxy, allowing all arrays to talk a standard language so that the PowerShell Cmdlets can act in a uniform way no matter what the array.
Or as the SMI-S manual would say:
EMC SMI-S Provider V4.1.2 supports the SNIA Storage Management Initiative (SMI), an ANSI standard for storage management. This initiative has developed a standard management interface that has culminated in a comprehensive specification (SMI-Specification or SMI-S). The SMI-S defines the open storage management interface that enables the interoperability of multiple vendor’s storage management technologies.
These technologies are used to monitor and control storage resources in multi vendor or SAN topologies.
The SNIA SMI strives to ensure consistent data and eliminate inconsistencies among management tools by providing a unified interface to the many store objects that must be managed in a storage environment.
This enables application developers to focus on a single, standard interface for the development of management tools.
EMC SMI-S Provider is paired with the EMC CIM Server to provide an SMI-compliant interface for EMC Symmetrix® and CLARiiON® arrays.
Multiple array customers may already have the SMI-S host already installed on a windows server in their environment but if you are only using a single array then you need to remember this key piece of information as you will need to install the SMI-S software either on your workstation or on a host, I show this in the install video below.
What’s Needed ?
To use the EMC PowerShell cmdlets you will need the following:
An EMC Array, CLARiiON or Symmetrix, currently there is no support for Celerra (see Nicks great cmdlets here for the Celerra) and I have not tested these with the VNX arrays.
You will also need:
- Windows Powershell 2.0
- Microsoft .Net Framework 3.5
- Windows XP or later operating system, 32-bit or 64-bit or Windows 2008 R2 Server or later (64-bit).
- SMI-S Installer V4.1.2 or above – Available from PowerLink
- EMC PowerShell installer – Available here
* It is known that the 32-bit cmdlet set does not execute properly on Windows 7 and may not execute properly on Windows Vista.
What do we get ?
In the current release there are 26 Cmdlets, these are listed below:
* Unfortunately no help has been added to these cmdlets so interactive help at the PowerShell prompt is not available, however, with the PowerShell cmdlets a Word document is also installed which gives you basic usage information.
Rather than listing the steps to install these I thought I would shoot a quick video showing the install and then running a few of these cmdlets, remember this install includes the install and adding the arrays to the SMI-S provider, you may not have to do this if you already have a SMI-S host installed on your system.
I have already started using these to provide custom output and will continue blogging some example scripts on this site so stay tuned !
Known problems and limitations
- This release was tested on a CX4 and is currently available in a controlled release fashion for use, it is designed to work on all EMC arrays that are supported by Solutions Enabler for SMI-S Provider.
- Deletion does not work with Symmetrix Array, and in general, limited support on Symmetrix for this pre release.
- The 32-bit Connect-EssSMISProvider cmdlet causes an access violation due to a read or write of protected memory when executed on Windows 7 32-bit; it seems likely that this same issue would occur for Windows Vista 32-bit, although this has not been tested. Windows 7 64-bit OS has also not been tested with the 64-bit cmdlet set.
- Version 1.0 of this PowerShell cmdlet set is able to work on only one Storage System at a time. If more than one Storage System is attached to the SMI-S Provider (which is expected to be the rule rather than the exception), this cmdlet set operates only on the first Storage System listed in the enumeration of Storage Systems attached to the Provider. If you wish to manage more than one array with the cmdlets then you should use a combination of the Remove-EssStorageSystem and Add-EssStorageSystem cmdlets to have the provider present the storage system you wish to manage.