A Blog A Day – Thoughts So Far

You may have noticed a distinct uptick in the amount of posts since November 1st. Prior to that, despite the best of intentions, I had only managed the one post detailing what I took away from a VCDX Bootcamp at the start of VMworld US 2014. Since the first of this month, however, I’ve managed at least a short post each day.  Why the somewhat extreme change in output?

Thank or blame Greg Ferro‘s “I Challenge Me And You To 30 Blogs in 30 days” post from October 9th. I’ve had every intention of writing a blog since…well, at least as far back as 2005.  Yet it took me nine years to go from that first good intention to the first post, and then over another month had passed with no further posts when I read Greg’s challenge.  The timing of the challenge seemed equally appropriate and difficult due to both of NetApp’s Insight conferences (at both of which I was presenting) being scheduled over that next month. It seemed appropriate to have the two conferences somewhat book-end my 30 days of blogs by starting mid October and ending mid November. Of course, the preparation and travel for those events also made the goal that much more difficult, and other responsibilities contributed to me not starting until after Insight US was over. Two days after Insight was November 1st and I finally started rolling.

From the beginning, I had a long list of topics I wanted to cover so I thought it would be fairly easy to finish out the month once I got started. Starting anything is usually the hardest part: there’s far less satisfaction in starting in comparison to finishing. I’ve certainly felt a bit of inertia building up over the last couple weeks, and even contemplated trying to make it last longer than just 30 days (just don’t tell my wife that). 15 days into the process and at the halfway point I’ve still got 20 posts in various states of formulation with more undoubtedly likely to spring up in the meantime.  So it should be easy to keep going, right?

Yes and no. I’m a bit of a perfectionist, and I really like to work iteratively: draft, re-draft, re-work, and refine. The time constraints of posting daily aren’t particularly conducive to that approach, not unless or until you have a backlog of material in the queue anyway.  I had made the deliberate choice to not have any material written prior to the start of the challenge in an attempt to push myself even more outside of my comfort zone – and in that regard I’ve succeeded. Whether that will ultimately be a good thing or not I haven’t decided, but it certainly hasn’t been easy. The other issue is simply one of time, as the timing of my posts – and subsequent tweets announcing them – can attest. Virtually every post has been started sometime between 9pm and 11pm, which has made for some pretty consistently tight deadlines. Tonight is a little earlier to finish, but I also need to get up for a very early flight.  If I’m going to be able to continue at a decent pace, I’m going to need to find earlier hours to work on things (earlier posts with earlier announcement tweets would undoubtedly garner a few more readers as well). More time for writing – and for sleeping – will hopefully contribute to better quality articles, too.

Traveling to Insight Berlin for this coming week will increase the pressures around time & sleeping, but I’m going to keep pushing for the full 30 days.


Other people, as you’ve probably noticed, are doing this same challenge and even doing it this same month.  The most vocal and consistent group is the Virtual Design Master (VDM) gang: Melissa Palmer (@vmiss33), Eric Wright (@discoposse), Jonathan Frappier (@jfrappier), Angelo Luciani (@AngeloLuciani), and the many others they’ve inspired (incited?) to do the same. Check out theTwitter stream for the #vDM30in30 hashtag and you’ll find a lot of good content to read and a lot of good people to follow.

 

NetApp Big Release Bundle – November 2014

Like a lot of companies, NetApp tends to release products at the same time, not least because many of them are dependent on one another for compatibility. While clustered Data ONTAP 8.3RC1 made the big news yesterday, there were several other important product updates:


OnCommand Unified Manager (OCUM) for Clustered Data ONTAP 6.2RC1

OCUM is a management tool with a web user interface that enables an infrastructure administrator to monitor and troubleshoot storage-related issues around data storage capacity, availability, performance, and protection.

OCUM has primarily been updated to support the latest Data ONTAP release, but there are several other key features:

  • MetroCluster integration, monitoring, and configuration
  • Monitoring specifically around all-SSD aggregates and All-Flash FAS systems
  • Support for installation on a Red Hat Enterprise Linux operating system (the last releases were only available as a VMware virtual appliance)
  • Integration with OnCommand Workflow Automation

OnCommand Workflow Automation (WFA) 3.0RC1

WFA is an automation and orchestration engine focused on handling storage management tasks, but which is easily extensible to other areas using PowerShell or Perl. It also integrates well with third-party products including VMware’s vCenter Orchestrator.

Key new features, beyond release compatibility, are:

  • Nesting of workflows: you can now use a workflow as a child of a parent workflow
  • IPv6 support
  • Access to the WFA database via PowerShell or Perl
  • Enhancements to the WFA REST APIs
  • Significant usability enhancements
    • Test button for custom finders and incremental finders
    • Floating action menu that is displayed for long period of time
    • Color-coded log messages for command testing that enables easy identification of information
    • Enhancements to tooltips
    • Progress bar for workflows and wait commands
    • Right-click menu to test filters, finders, commands, and functions from the respective list in Designer
    • Right-click menu to reset the scheme of a datasource from the list of datasources
    • Icon to assist insertion of approval points when designing a workflow

Data ONTAP Edge 8.3.130RC1

Data ONTAP Edge is an on-premises software-only instance of Data ONTAP 8.3 running as a VMware virtual appliance. Edge is designed for usecases like remote office/branch office (ROBO) where dedicated storage hardware may be unnecessary, but administrators still want to leverage existing tools and skillsets for storage services. It also allows these environments to take advantage of advanced storage features, including block-efficient replication to other offices or centralized datacenters for backup and/or disaster recovery.


System Setup 3.0

System Setup provides an easy, graphical user interface to quickly setup new Data ONTAP systems upon arrival into the customer’s environment without requiring extensive professional services. Modern entry-level FAS arrays (2200 and 2500 series) are supported when running in 7-mode, and many more models are supported when running clustered Data ONTAP (2200, 2500,  6200 and 8000 series platforms, along with 3220& 3250 arrays).


SnapDrive for Windows 7.1

SnapDrive provides extensive integration between an operating system (in this cases, Windows) and its connected FAS storage, and can act in conjunction with various SnapManagers to extend data management to the application layer. SnapDrive makes it easy for the server administrator to provision, de-provision, modify, protect, and replicate storage connected via multiple storage protocols.

Key new features, beyond release compatibility, are:

  • Several improvements around clones:
    • throttling of clone jobs if the process will otherwise negatively impact system performance
    • split clone capability
    • clones of clones
  • Easier thin provisioning of LUNs
  • Microsoft Failover Cluster enhancements
  • MetroCluster support

SnapManager for Microsoft Exchange 7.1

SnapManager for Exchange works with SnapDrive to provide data protection services and automation for Exchange databases including backup and restores, offloaded database validations, clones, and replication. Restores can be performed even at the object level using the integrated Single Mailbox Recovery (an inaccurate name now, given the ability to restore with much more granularity – down to an individual message, contact, attachment, etc. – than at the mailbox level.

Key new features, beyond release compatibility, are:

  • DAG reseeding
  • Role-base access control (RBAC)
  • Native SnapVault integration
  • MetroCluster support

SnapManager for Hyper-V 2.1

SnapManager for Hyper-V is a data protection management solution for Hyper-V virtual environments running on FAS storage arrays that provides both crash-consistent and application-consistent VM backups, as well as easy restoration of the VMs and monitoring of backup jobs.


OnCommand Cloud Manager (OCCM) 1.0

OCCM is a completely new product designed to manage both Cloud ONTAP  and NetApp Private Storage (NPS) systems.  Cloud ONTAP is a software-only instance of Data ONTAP 8.3 running in a public cloud (available today on Amazon Web Services) which provides all standard ONTAP services and features (minus some hardware-dependent ones like Fibre Channel) in an on-demand, pay-as-you-go model. NPS utilizes a NetApp FAS system(s) co-located in a datacenter with Direct Connect access to AWS, Azure, and/or SoftLayer to provide secure, private data storage to virtual machines running in a public cloud(s).


Clustered Data ONTAP 8.3RC1

Today NetApp released nine new or updated products for immediate download to customers, with the biggest one being our core product. This is another milestone release for Data ONTAP with major performance enhancements (significantly greater performance running on the same hardware platform) as well as significant new features. Every company likes to say that about every product release, of course, but here’s just a few of the improvements in 8.3 (in no particular order):

  • OnCommand System Manager is now on-box, built into the operating system to provide a web-based management GUI. A client install will still be available but is no longer required.
  • Automated nondisruptive upgrades (NDU): NDU has been core tenet of clustered Data ONTAP, and now it’s been improved to allow  automatic installation to each cluster node, validation of the cluster components, and either rolling or batch upgrades of all nodes in the cluster.
  • MetroCluster support for clustered Data ONTAP: previously, only 7-mode was available to provide customers with the zero RPO and near-zero RTO required for the most mission critical workloads and active/active data center configurations. Additional features have also been included in MetroCluster, the most significant of which is probably local high-availability (an HA pair at each site, not one HA pair split between sites).
  • IPspaces: this allows different tenants to utilize the same overlapping network addresses and subnets within the same cluster. In concert with this, each Storage Virtual Machine (SVM) now has its own distinct routing table.
  • Advanced disk partitioning (ADP):
    • Root-disk partitioning for entry-level (2200 and 2500 series) and All-Flash FAS systems which eliminates the need for dedicated root aggregates and increases the usable capacity available for customer data.
    • Flash Pool partitioning to allow SSDs to be shared across multiple aggregates and/or controllers for more efficient use of SSDs within the system.
  • Flash Pool now support compressed data for read operations.
  • Storage Encryption support for SSDs
  • Inline detection and elimination of blocks of zeros
  • Support for Dynamic Access Control (DAC) and central access policies for CIFS/SMB
  • Support for Storage-Level Access Guard an additional security setting at the volume-level which cannot be configured or revoked from a client, even by a system (Windows or UNIX) administrator. This is in addition to the standard file-level and share-level settings, as well as the new DAC.
  • The return of support for “showmount -e” for NFS environments and the use of Microsoft Management Console for share management for Windows environments.
  • Online migration of LUNs between volumes within a cluster. This is a really cool feature that deserves more attention.
  • Selective LUN Mapping (SLM) to reduce the number of paths visible to clients in larger cluster environments.
  • Over-the-wire compression support for both SnapMirror and SnapVault
  • Version-flexible replication: previously, SnapMirror replication required the destination to always be at the same Data ONTAP version level or higher than the source. Starting with 8.3 this is no longer the case and more complex replication topologies are now supported.
  • Cloud ONTAP for Amazon Web Services (AWS): a software-only storage appliance for the AWS cloud.

One thing that I have to point out: there is no version of Data ONTAP 7-mode for the 8.3 release.


Clustered Data ONTAP 8.3RC1 can be downloaded here:

Tours of the Black Prompt: Clustered NetApp Data ONTAP – Part 1

In the first article in our series, we took a tour of how to navigate and use the CLI with Data ONTAP 7-Mode. Today we’re going to dive into the CLI for clustered Data ONTAP where it gets a lot more fun!

Commands, Navigation, and Privilege Levels

Logging in (via SSH or console – telnet is disabled by default and strongly discouraged) you are provided a simple administrative-level prompt:

cdot_mba1::>

The prompt contains the name of the cluster (“cdot_mba1”) followed by a “::>” which indicates that you are in the cluster shell, at the root of the command tree (more on that in a moment) and at the normal administrative privilege level.

From here, you can see the available command structure by simply typing “?”:

cdot_mba1::> ?
  up                          Go up one directory
  cluster>                    Manage clusters
  dashboard>                  Display dashboards
  event>                      Manage system events
  exit                        Quit the CLI session
  history                     Show the history of commands for this CLI session
  job>                        Manage jobs and job schedules
  lun>                        Manage LUNs
  man                         Display the on-line manual pages
  network>                    Manage physical and virtual network connections
  qos>                        QoS settings
  redo                        Execute a previous command
  rows                        Show/Set the rows for this CLI session
  run                         Run interactive or non-interactive commands in the node shell
  security>                   The security directory
  set                         Display/Set CLI session settings
  sis                         Manage volume efficiency
  snapmirror>                 Manage SnapMirror
  statistics>                 Display operational statistics
  storage>                    Manage physical storage, including disks, aggregates, and failover
  system>                     The system directory
  top                         Go to the top-level directory
  volume>                     Manage virtual storage, including volumes, snapshots, and mirrors
  vserver>                    Manage Vservers

You can already see that this is quite a bit different from 7-mode. The commands are organized into a tree which you can navigate similarly to a directory structure. The ">" at the end indicates this is a directory, or context, into which you can further explore. At each level, you can use "?" to display the commands or sub-contexts available.


cdot_mba1::> storage

cdot_mba1::storage> ?
  aggregate>                  Manage storage aggregates
  array>                      The array directory
  disk>                       Manage physical disks
  errors>                     The errors directory
  failover>                   Manage storage failover
  library>                    The library directory
  load>                       The load directory
  path>                       The path directory
  raid-options>               The raid-options directory

cdot_mba1::storage> 

You can also simply tab to display a more concise view of your options. And yes, that means that tab completion is included in the shell!


cdot_mba1::storage>
    aggregate    array        disk         errors       failover
    library      load         path         raid-options

cdot_mba1::storage> aggregate
    add-disks         create            delete            modify
    offline           online            raidtype          relocation
    rename            restrict          scrub             show
    show-scrub-status show-space       

cdot_mba1::storage> aggregate show -aggregate aggr0 

We'll circle back to tab completion later, but did you notice how the prompt has now changed? The current command sub-directory is now displayed within the prompt following the "::". This provides you with visual breadcrumbs for what context you're operating in and where in the command tree you are currently.


cdot_mba1::storage> aggregate

cdot_mba1::storage aggregate> ?
  add-disks                   Add disks to an aggregate
  create                      Create an aggregate
  delete                      Delete an aggregate
  modify                      Modify aggregate attributes
  offline                     Offline an aggregate
  online                      Online an aggregate
  raidtype>                   The raidtype directory
  relocation>                 Manage aggregate relocation
  rename                      Rename an aggregate
  restrict                    Restrict an aggregate
  scrub                       Aggregate parity scrubbing
  show                        Display a list of aggregates
  show-scrub-status           Display aggregate scrubbing status
  show-space                  Display details of space utilization within an aggregate.

cdot_mba1::storage aggregate> raidtype

cdot_mba1::storage aggregate raidtype>

Ok, going down through the directory is easy, but what about going back up? There's actually several different options. You can simply say that you want to go up a level:

cdot_mba1::storage aggregate raidtype> up

cdot_mba1::storage aggregate>

You can say that you want to go all the way back to the top no matter how far down you are:

cdot_mba1::storage aggregate> top

cdot_mba1::>

Or you can do a standard "change directory" or cd:

cdot_mba1::storage> cd ..

cdot_mba1::>

You can also jump around within the tree either using cd or simply entering the context to which you want to change.

cdot_mba1::> volume

cdot_mba1::volume> cd aggregate

cdot_mba1::storage aggregate> volume

cdot_mba1::volume>

Just like 7-mode Data ONTAP, there are two additional privilege levels available: advanced and diag. You can change to these levels using the set -privilege command.

cdot_mba1::> set -privilege advanced

Warning: These advanced commands are potentially dangerous; use them only when directed to do so by NetApp personnel.
Do you want to continue? {y|n}: y

cdot_mba1::*> set -privilege diagnostic

Warning: These diagnostic commands are for use by NetApp personnel only.
Do you want to continue? {y|n}: y

cdot_mba1::*> 

The asterisk after the "::" indicates that you are in either advanced or diag privilege mode, and there is unfortunately no visual distinction between the two modes.

More commands are available within the higher privilege levels than in the normal admin level, though because of the organization of the command tree they do not stand out as much as they do in 7-mode.

Advanced:

  up                          Go up one directory
  cluster>                    Manage clusters
  dashboard>                  Display dashboards
  event>                      Manage system events
  exit                        Quit the CLI session
  history                     Show the history of commands for this CLI session
  job>                        Manage jobs and job schedules
  lun>                        Manage LUNs
  man                         Display the on-line manual pages
  network>                    Manage physical and virtual network connections
  qos>                        QoS settings
  redo                        Execute a previous command
  rows                        Show/Set the rows for this CLI session
  run                         Run interactive or non-interactive commands in the node shell
  security>                   The security directory
  set                         Display/Set CLI session settings
  sis                         Manage volume efficiency
  snapmirror>                 Manage SnapMirror
  statistics>                 Display operational statistics
  storage>                    Manage physical storage, including disks, aggregates, and failover
  system>                     The system directory
  top                         Go to the top-level directory
  volume>                     Manage virtual storage, including volumes, snapshots, and mirrors
  vserver>                    Manage Vservers

Diag:

  up                          Go up one directory
  cluster>                    Manage clusters
  dashboard>                  Display dashboards
  diag>                       *The diag directory
  event>                      Manage system events
  exit                        Quit the CLI session
  history                     Show the history of commands for this CLI session
  job>                        Manage jobs and job schedules
  logger>                     *Management logger
  lun>                        Manage LUNs
  man                         Display the on-line manual pages
  network>                    Manage physical and virtual network connections
  qos>                        QoS settings
  redo                        Execute a previous command
  repository>                 *Manage a content repository
  rows                        Show/Set the rows for this CLI session
  run                         Run interactive or non-interactive commands in the node shell
  security>                   The security directory
  set                         Display/Set CLI session settings
  sis                         Manage volume efficiency
  snapmirror>                 Manage SnapMirror
  spm>                        *Service Process Manager
  statistics>                 Display operational statistics
  storage>                    Manage physical storage, including disks, aggregates, and failover
  system>                     The system directory
  top                         Go to the top-level directory
  volume>                     Manage virtual storage, including volumes, snapshots, and mirrors
  vserver>                    Manage Vservers
 

Changing between privilege levels is always done the same way, even when going back down from a higher level to the admin level:

cdot_mba1::*> set -privilege admin

cdot_mba1::>

Command Syntax and Help

You can see the syntax for a command by passing it the "-?" flag, but only at the appropriate level.

cdot_mba1::> storage -?         

Error: "-" is not a recognized command

cdot_mba1::> storage aggregate -?

Error: "-" is not a recognized command

cdot_mba1::> storage aggregate show -?
  [ -checksum | -disk | -instance | -raid-info | -fields , ... ]
  [[-aggregate] ]                           Aggregate
  [ -chksumstyle  ]                         Checksum Style
  [ -diskcount  ]                                  Number Of Disks
  [ -nodes , ... ]                                Nodes
  [ -disklist|-d , ... ]                    Disks
  [ -free-space-realloc {on|off|no_redirect} ]              Free Space Reallocation
  [ -ha-policy {sfo|cfo} ]                                  HA Policy
  [ -percent-snapshot-space  ]                     Space Reserved for Snapshot Copies
  [ -hybrid-enabled {true|false} ]                          Hybrid Enabled
  [ -availsize {[KB|MB|GB|TB|PB]} ]                Available Size
  [ -chksumenabled {true|false} ]                           Checksum Enabled
  [ -chksumstatus  ]                                  Checksum Status
  [ -has-mroot {true|false} ]                               Has Mroot Volume
  [ -has-partner-mroot {true|false} ]                       Has Partner Node Mroot Volume
  [ -home-id  ]                                    Home ID
  [ -home-name  ]                                     Home Name
  [ -hybrid-cache-size-total {[KB|MB|GB|TB|PB]} ]  Total Hybrid Cache Size
  [ -hybrid {true|false} ]                                  Hybrid
  [ -inconsistent {true|false} ]                            Inconsistent
  [ -is-home {true|false} ]                                 Is Aggregate Home
  [ -maxraidsize|-s  ]                             Max RAID Size
  [ -cache-raid-group-size  ]                      Flash Pool SSD Tier Maximum RAID Group Size
  [ -owner-id  ]                                   Owner ID
  [ -owner-name  ]                                    Owner Name
  [ -percent-used  ]                               Used Percentage
  [ -plexes , ... ]                                   Plexes
  [ -raidgroups , ... ]                               RAID Groups
  [ -raidstatus  ]                                    RAID Status
  [ -raidtype|-t {raid_dp|raid4} ]                          RAID Type
  [ -root {true|false} ]                                    Is Root
  [ -sis-metadata-space-used {[KB|MB|GB|TB|PB]} ]  Space Used by Metadata for Volume Efficiency
  [ -size {[KB|MB|GB|TB|PB]} ]                     Size
  [ -state  ]                              State
  [ -usedsize {[KB|MB|GB|TB|PB]} ]                 Used Size
  [ -volcount  ]                                   Number Of Volumes
  [ -volume-style  ]                                  Volume Style

cdot_mba1::> storage aggregate show -

In this example, it's not until you get to the third word of the command that you are able to use the "-?" to display the parameters. This is because the first two words were actually directories or contexts (you may recall that both displayed the trailing ">" when we were navigating above) rather than actionable commands. It's that action that is key: you can't issue a command without specifying what it is you want done. Nouns alone won't cut it - you need to use a verb. So a command in the cluster shell will generally always end in a verb (show, create, delete, modify, etc.) and it is then that you can specify the appropriate parameters.

Where it gets even better are the manual (man) pages for clustered Data ONTAP. Similar to 7-mode, administrative-level commands have man page available explaining the operation of the command in detail:

cdot_mba1::> man system


system                          Data ONTAP 8.2                          system

NAME
     system -- The system directory

DESCRIPTION
     The system commands enable you to monitor and control cluster nodes.

SUBDIRECTORIES
     health> - System Health Management and Diagnosis commands

     license> - Manage licenses

     node> - The system node directory

     script> - Capture CLI session to a file for later upload. Analogous to the unix 'script' command

     services> - Manage system services

     smtape> - Manage SMTape operations

     snmp> - The snmp directory

     timeout> - Manage the timeout value for CLI sessions


Data ONTAP 8.2                       -o-                        Data ONTAP 8.2

A key difference here is that you won't have to look at a single man page covering the entire command - or command directory/context - which may run on for many pages of output (some of the man pages might be more accurately described as man books). Instead, you can specify exactly at which level of the command you are looking for more information.

cdot_mba1::> man system health

system health                   Data ONTAP 8.2                   system health

NAME
     system health -- System Health Management and Diagnosis commands

DESCRIPTION
     System Health Management and Diagnosis commands

SUBDIRECTORIES
     alert> - The alert directory

     autosupport> - The autosupport directory

     chassis> - Chassis health monitor directory

     cluster-switch> - The cluster-switch directory

     config> - The config directory

     controller> - Controller health monitor directory

     node-connectivity> - Node storage connectivity health monitor directory

     policy> - The policy directory

     status> - The status directory

     subsystem> - The subsystem directory

     system-connectivity> - System storage connectivity health monitor directory


Data ONTAP 8.2                       -o-                        Data ONTAP 8.2

cdot_mba1::> man system health status show

system health status show       Data ONTAP 8.2       system health status show

NAME
     system health status show -- Display system health monitoring status

AVAILABILITY
     This command is available to cluster administrators at the admin privilege level.

DESCRIPTION
     The system health status show command displays the health monitor status. The possible states are:

     o  ok

     o  ok-with-suppressed

     o  degraded

     o  unreachable

PARAMETERS
     None


EXAMPLES
      This example displays information about health monitoring status:

                                                               +---------------------------------------------------------------------------------+
                                                               |                                                                                 |
                                                               |                                                                                 |
                                                               |  cluster1::> system health status show                                          |
                                                               |       Status                                                                    |
                                                               |       ---------------                                                           |
                                                               |       degraded                                                                  |
                                                               |                                                                                 |
                                                               +---------------------------------------------------------------------------------+


Data ONTAP 8.2                       -o-                        Data ONTAP 8.2

 

Command Completion

As noted previously, tab completion is built into the cluster shell so rather than having to fully type out storage aggregate you can type st[TAB]ag[TAB] instead to have the shell auto-complete the commands for you.

You can also abbreviate the commands rather than tab completing them:


cdot_mba1::> st ag sh
Error: Ambiguous command.  Possible matches include:
       storage aggregate show
       storage aggregate show-scrub-status
       storage aggregate show-space
     
cdot_mba1::> st ag show
  (storage aggregate show)
Aggregate     Size Available Used% State   #Vols  Nodes            RAID Status
--------- -------- --------- ----- ------- ------ ---------------- ------------
aggr0        900MB   43.54MB   95% online       1 cdot_mba1-01     raid_dp,
                                                                   normal

cdot_mba1::>  

As you can see, abbreviation will only work if the abbreviation is unique, but even when it isn't, the shell will show you the possible options in order to make it easier for you to complete the desired command. The uniqueness of the abbreviation is key and is similar to one of the navigation tricks above: you don't necessarily need to provide the entire path of the command as long as the abbreviated command is unique:

cdot_mba1::> ag show
  (aggr)
Aggregate     Size Available Used% State   #Vols  Nodes            RAID Status
--------- -------- --------- ----- ------- ------ ---------------- ------------
aggr0        900MB   43.54MB   95% online       1 cdot_mba1-01     raid_dp,
                                                                   normal

cdot_mba1::> 

You can also easily find where sub-commands or actions are available throughout the command tree simply by typing the word and hitting [Enter]:

cdot_mba1::> status
Error: Ambiguous command.  Possible matches include:
       system services manager status
       system health status
       vserver nfs status
       vserver services ndmp status
       system services ndmp status
       system license status
       volume clone split status
       event status
       volume file clone status
       system smtape status
       system services ndmp node-scope-mode status
       system node coredump status
       system node coredump segment status

cdot_mba1::> health
Error: Ambiguous command.  Possible matches include:
       system health
       vserver dashboard health
       dashboard health
       cluster peer health

This can be a great way to explore the various nooks & crannies of the CLI - there's a lot there to look at!

Navigation and Editing

Command-line editing and navigation utilizes the standard keystrokes and combination previously discussed in CLI Efficiency: Common Basics

You can navigate through your previously-entered commands using the up and down arrows, or Ctrl+n and Ctrl+p, or you can now use the history command to simply display the contents of that history.

cdot_mba1::> history
    1  stor aggr show
    2  man syste
    3  man systm health status
    4  history
    5  vol show

You can enter multiple commands on the same command line by separating each command with a semi-colon. The commands will then be executed in order of entry.

cdot_mba1::> stor aggr show; vol show
  (storage aggregate show)
Aggregate     Size Available Used% State   #Vols  Nodes            RAID Status
--------- -------- --------- ----- ------- ------ ---------------- ------------
aggr0        900MB   43.54MB   95% online       1 cdot_mba1-01     raid_dp,
                                                                   normal

  (volume show)
Vserver   Volume       Aggregate    State      Type       Size  Available Used%
--------- ------------ ------------ ---------- ---- ---------- ---------- -----
cdot_mba1-01
          vol0         aggr0        online     RW      851.5MB    303.2MB   64%

cdot_mba1::> 

After all of the above, we've still only begun to scratch the surface of the features available in the clustered Data ONTAP CLI: there's a lot more yet to come!

DataCenter of the Dead

Sometimes you gotta have fun, and sometimes you just gotta keep the lights on. When you’re responsible for an enterprise datacenter environment, the company is relying on you to ensure that the infrastructure not only performs well and has sufficient capacity for compute, storage, and networking, but also that it’s extremely reliable and resilient. You need to take into account hardware failures, software bugs, power outages, extreme weather conditions, and much, much more.

Such as zombies. No, really – you never know what can happen:

If you attended NetApp Insight in Las Vegas you may have already seen the above video – it was playing on a continuous loop at the MetroCluster booth. The film was actually shot on NetApp’s RTP campus and the actors are almost entirely NetApp employees. Some of the featured actors include Mr. Pete Flecha (@vPedroArrow), co-host of the NetApp Communities Podcast, Mr. Troy Mangum (@CloudReveler), and Mr. Rhett Bigler (@CloudUnbound). DataCenter of the Dead is the brainchild of the FlexPod team’s resident creative geek, Mr. Dave Eckert (@TheGreeches) who wrote, directed, and filmed the entire thing.

Expect more video shenanigans in the future!


Dave is also the creative force behind another multimedia launch at Insight: the NetApp 3D FlexPod app! The app provides an interactive 3D view of a FlexPod Datacenter rack, including detailed information on the various components and even the actual cabling between the components. The app is now officially available for iOS devices (iPhone5+ or iPad3+), and will be coming soon to Android.

If you were at Insight, you may have seen this odd-looking obelisk on the solutions floor:

iPads at the booth were used to interact with that monolith and enable customers and partners to virtually view a FlexPod at life-size! Even with an actual FlexPod Datacenter standing next to it, the app & the monolith both got a lot of positive attention. Now you can play with it yourself by printing out a miniature version and using the iOS app on your own device. Yes – fold your own FlexPod! If that’s too much work, just use the app by itself and you’ll still get a cool (and informative) experience, but without quite as much geeky fun.