This article can also be found in the Premium Editorial Download "Storage magazine: What's in store for storage technology in 2009?."
Download it now to read this article plus other related content.
What's your vendor's strategy?
There are two basic kinds of CLI tools: in-band and out-of-band. In-band generally means that you communicate using a serial or Fibre Channel interface directly to the device in question. Out-of-band generally means you connect to the device over a network of some kind (an IP network in most cases). This is if the device has a network interface, can be configured with an address, and can be accessed via an Ethernet or IP network. In each case, the CLI can be "off-host" or "on-host." On-host means that no matter how you connect to the device (in-band or out-of-band), the command-line tools run on the device itself. Off-host generally means that you run the tools on another box (a bastion host, for example) and the tools use an access mechanism to connect to the device. Access mechanisms can be an API, a network port, a SCSI pass-through device and so on. When deploying on-host, the execution environment is created on the device itself; as a result, the limitations of that environment come with it. In the case of an off-host environment, you create the environment on the platform where you choose to run the tools. For example, a vendor may decide to make its tools
| available on Unix, Linux and Windows platforms. If you install them on Unix or Linux, you can use Bourne or Korn shells to create scripts, use Perl and then run them through cron. If you install them on Windows, you may have to create Visual Basic or Perl scripts and then run them through Windows Task Scheduler.
Most switch vendors (like Brocade and Cisco Systems) provide an "on-host" CLI environment for their devices. This can be accessed via in-band or out-of-band mechanisms such as serial RS-232 ports, Telnet or SSH. Storage array vendors have different strategies. EMC, for example, uses in-band, off-host for its DMX arrays using its "Solutions Enabler" tool suite. For its Clariion line, it uses an out-of-band, off-host package called Navisphere CLI. NetApp's simplicity and ease of management for its filers was made famous by its on-host, in-band or out-of-band CLI toolset. On the other hand, EMC uses a Linux-based control station (that's an off-host, out-of-band mechanism) to manage its Celerra environment. Until recently, Hitachi Data Systems didn't have any CLI tools available to manage its enterprise arrays. It now provides CLI tools as a part of its Hitachi HiCommand Suite. It does, however, have a CLI package that's off-host, out-of-band for its modular arrays.
If you have a mixed-vendor environment, using various CLI tools with their wide syntactical variations may pose a challenge. For homogeneous environments, however, they can provide some very compelling economies of scale.
At the end of the day, I'm not making a case to get rid of GUI tools and replace them with an all-CLI approach. But seeing CLI in a whole new light can help you in ways you might not have imagined.
This was first published in December 2008