Wednesday, 25 June 2014

PowerShell Script to get Text Inbetween Quotes

The following PowerShell script reads an input file, and then outputs the strings/sentences/paragraphs that are in-between quotes. This script works even if the quotations marks are on other lines. Added extras are removing additional spaces and tabs so the output sentences don’t have ugly gaps in them.

It was developed for getting ‘Descriptions’ out of mib files.

Note: The script has been formatted for blogger by removing leading tabs.

The Script


# Text in between quotes extractor #

$inputDoc = get-content netapp.mib
# this is the input file (change as required)

New-Item output.txt -itemtype file -force
# output.txt is our output file

$recording = 0
# This variable is:
# 0 if we're not recording, and
# 1 if we're recording between quotation marks

$justTurnedOn = 0
# This variable is 1 if we've just turned on recording
# and don't want the first quotation mark in our output,
# otherwise it is zero

[string]$extractedDescription = ""
# This string contains the extracted line

$spaceCount = 0
# We also count spaces since we don't want loads of spaces in the output.
# More than 1 space and we won't record extra space.

foreach($line in $inputDoc){ #

$line = $line -replace "`t"," "
# Removing tabs from the string

$lineLength = $line.length
# Recording the line length.
# In the do loop we check each character in the line.

$i = 0
# Count starts at 0

do { ## while ($i -le $lineLength)

# IF the character is a quotation mark, and we're not recording
# start recording ($recording = 1)
# and flag that we've just started recording ($justTurnedOn = 1)

if (($line[$i] -eq '"') -and ($recording -eq 0)){
$recording = 1
$justTurnedOn = 1

# IF the character is a quotation mark, we're recording,
# and not just turned on recording
# stop recording ($recording = 0)
# Add to our output file the extracted string
# Reset the extracted string to ""

if (($line[$i] -eq '"') -and ($recording -eq 1) -and ($justTurnedOn -ne 1)){
$recording = 0
Add-Content output.txt "$extractedDescription"
[string]$extractedDescription = ""

# IF the character is a space, increase space count
# IF the character is not a space, $spaceCount = 0

if ($line[$i] -eq " "){$spaceCount++}
if ($line[$i] -ne " "){$spaceCount = 0}

# IF recording is turned on ($recording -eq 1)
# we've not just turned on recording
# and space count is less and or equal to 1
# Add the character to our extracted string

if (($recording -eq 1) -and ($justTurnedOn -ne 1) -and ($spaceCount -le 1)){
$extractedDescription += $line[$i]
$justTurnedOn = 0
# Sets recording has just been turned on to off (0)

# Increment $i (the character number in the line)
} while ($i -le $lineLength) ## END of do      

} # END foreach($line in $inputDoc)

notepad output.txt
# Opens out output in notepad


Sunday, 22 June 2014

Creating a Lab Setup to Demo SnapVault and SnapMirror in a 4 Cluster Environment


Demonstrate a Primary & Secondary site setup which has:
1) Primary Cluster 1 --SnapVault--> Primary Cluster 2 (SV) (@0:20)
2) Primary Cluster 1 --SnapMirror--> Secondary Cluster 1 (@:00,:30)
3) Primary Cluster 2 (SV) --SnapMirror--> Secondary Cluster 2 (SV) (@0:25)

Snapshot Retention on Cluster 1 volumes is:
24 hourly (@:05)
31 daily (@0:10)
1 monthly (1@0:15)

Snapshot Retention on Cluster 2’s (SnapVault) volumes is:
31 daily (@0:10)
12 monthly (1@0:15)

This needs to be an active, living and breathing setup, which has the look and feel of mature relationship with 1 year worth of retention in the vault.

Lab Environment

Note: The Clusters; Licenses; SVMs (CIFS only); Cluster and Vserver peering; CIFS servers ... have already been setup!

Clusters       SVMs
========       ====

Test Data

v_PKD --mounted@-- /v_PKD

q_PKD_PDF --mounted@-- /v_PKD/q_PKD_PDF
q_PKD_Other --mounted@-- /v_PKD/q_PKD_Other

LIT --in-- /v_PKD/q_PKD_Other/LIT
RTF --in-- /v_PKD/q_PKD_Other/RTF
TXT --in-- /v_PKD/q_PKD_Other/TXT

v_PKD$ @ /v_PKD
PKD_Other$ @ /v_PKD/q_PKD_Other
PKD_LIT$ @ /v_PKD/q_PKD_Other/LIT
PKD_RTF$ @ /v_PKD/q_PKD_Other/RTF
PKD_TXT$ @ /v_PKD/q_PKD_Other/TXT

Note: The test data being using to populate the filesystem - with something interesting - will become more apparent later.

Step-By-Step Demo Setup

1. Create Volumes

PRICLU1::> vol create -vserver PRICLU1V1 -volume v_PKD -aggregate aggr1 -size 10g -junction-path /v_PKD -space-guarantee none -snapshot-policy none
PRICLU2::> vol create -vserver PRICLU2V1 -volume v_PKD -aggregate aggr1 -size 10g -space-guarantee none -snapshot-policy none -type DP
SECCLU1::> vol create -vserver SECCLU1V1 -volume v_PKD -aggregate aggr1 -size 10g -space-guarantee none -snapshot-policy none -type DP
SECCLU2::> vol create -vserver SECCLU2V1 -volume v_PKD -aggregate aggr1 -size 10g -space-guarantee none -snapshot-policy none -type DP

Note 1: We add the Snapshot Policy to the RW (Read Write and not DP) volume later.
Note 2: DP Volumes cannot be mounted until after SnapMirror Initialize has completed - we do this later.

2. Create Qtrees on PRICLU1V1

PRICLU1::> volume qtree create -vserver PRICLU1V1 -volume v_PKD -qtree q_PKD_PDF
PRICLU1::> volume qtree create -vserver PRICLU1V1 -volume v_PKD -qtree q_PKD_Other

3. Create Shares on PRICLU1V1 - Part I

PRICLU1::> vserver cifs share create -vserver PRICLU1V1 -share-name v_PKD$ -path /v_PKD                                                                         
PRICLU1::> vserver cifs share create -vserver PRICLU1V1 -share-name PKD_PDF$ -path /v_PKD/q_PKD_PDF
PRICLU1::> vserver cifs share create -vserver PRICLU1V1 -share-name PKD_Other$ -path /v_PKD/q_PKD_Other

4. Populate v_PKD

Now it becomes apparent why PKD - it was the only interesting and safe set of data to hand that’s not just a load of boring PDFs!

Using a Windows Client:
i. Connect to \\PRICLU1V1\v_PKD$
ii. Create the folders LIT, RTF, and TXT in \\PRICLU1V1\v_PKD$\q_PKD_Other
iii. Populate \\PRICLU1V1\v_PKD$\q_PKD_PDF with the dataset “Books by Phillip K Dick in PDF format”
iv. Populate \\PRICLU1V1\v_PKD$\q_PKD_Other\LIT “Books by Phillip K Dick in LIT format”
v. Populate \\PRICLU1V1\v_PKD$\q_PKD_Other\RTF “Books by Phillip K Dick in RTF format”
vi. Populate \\PRICLU1V1\v_PKD$\q_PKD_Other\TXT “Books by Phillip K Dick in TXT format”

5. Create Shares on PRICLU1V1 - Part II

This had to wait for the folders to be created in (4).

PRICLU1::> vserver cifs share create -vserver PRICLU1V1 -share-name PKD_LIT$ -path /v_PKD/q_PKD_Other/LIT
PRICLU1::> vserver cifs share create -vserver PRICLU1V1 -share-name PKD_RTF$ -path /v_PKD/q_PKD_Other/RTF
PRICLU1::> vserver cifs share create -vserver PRICLU1V1 -share-name PKD_TXT$ -path /v_PKD/q_PKD_Other/TXT

6. Create Cron Schedules

These are the non-overlapping cron schedules we need (hourly and daily are default):

hourly @:05
daily @0:10
monthly 1@0:15
sv0020 @0:20
sm30mins @:00,:30
smDailySV @0:25

cron create monthly -day 1 -hour 0 -minute 15
cron create sv0020 -hour 0 -minute 20
cron create sm30mins -minute 00,30
cron create smDailySV -hour 0 -minute 25

Create these on all 4 clusters (they will not be used on all four clusters.)

7. Create a SnapVault Policy

31 with snapmirror-label daily
12 with snapmirror-label monthly

We create a SnapMirror policy on the SnapVault cluster, and create the policy for the Cluster (admin type) Vserver, so that it can be used with different data SVMs.

PRICLU2::> snapmirror policy create -vserver PRICLU2 -policy sv003112
PRICLU2::> snapmirror policy add-rule -vserver PRICLU2 -policy sv003112 -snapmirror-label daily -keep 31
PRICLU2::> snapmirror policy add-rule -vserver PRICLU2 -policy sv003112 -snapmirror-label monthly -keep 12

8. Setup SnapVault

PRICLU2::> cron create smDailySV -hour 0 -minute 25
PRICLU2::> snapmirror create -source-path PRICLU1V1:v_PKD -destination-path PRICLU2V1:v_PKD -type XDP -schedule smDailySV -policy sv003112
PRICLU2::> snapmirror initialize -destination-path PRICLU2V1:v_PKD

Note: The SnapVault needs to be initialized before we create Snapshots. If we’d initialized the SnapVault after creating historical snapshots, the SnapVault policy would bring nothing across. SnapVault only acts on those snapshots created after initialization.

9. Create Historical Snapshots

We want these snapshots on v_PKD so that we have the 0 hourly/ 31 daily/ 12 monthly on PRICLU2 after setting up the SnapVault. We later delete snapshots on PRICLU1 to get the non-SnapVault retention of 24 hourly/ 31 daily/ 1 monthly.

The script below creates:
24 hourly (@:05) / 31 daily (@0:10) / 12 monthly (1@0:15)

The date is currently 22/06/2014 and it’s nearly 15:00!

snapshot create -snapshot monthly.2013-07-01.0015 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label monthly
snapshot create -snapshot monthly.2013-08-01.0015 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label monthly
snapshot create -snapshot monthly.2013-09-01.0015 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label monthly
snapshot create -snapshot monthly.2013-10-01.0015 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label monthly
snapshot create -snapshot monthly.2013-11-01.0015 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label monthly
snapshot create -snapshot monthly.2013-12-01.0015 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label monthly
snapshot create -snapshot monthly.2014-01-01.0015 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label monthly
snapshot create -snapshot monthly.2014-02-01.0015 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label monthly
snapshot create -snapshot monthly.2014-03-01.0015 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label monthly
snapshot create -snapshot monthly.2014-04-01.0015 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label monthly
snapshot create -snapshot monthly.2014-05-01.0015 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label monthly

snapshot create -snapshot daily.2014-05-22.0010 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label daily
snapshot create -snapshot daily.2014-05-23.0010 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label daily
snapshot create -snapshot daily.2014-05-24.0010 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label daily
snapshot create -snapshot daily.2014-05-26.0010 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label daily
snapshot create -snapshot daily.2014-05-27.0010 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label daily
snapshot create -snapshot daily.2014-05-28.0010 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label daily
snapshot create -snapshot daily.2014-05-29.0010 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label daily
snapshot create -snapshot daily.2014-05-30.0010 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label daily
snapshot create -snapshot daily.2014-05-31.0010 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label daily
snapshot create -snapshot daily.2014-06-01.0010 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label daily

snapshot create -snapshot monthly.2014-06-01.0015 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label monthly

snapshot create -snapshot daily.2014-06-02.0010 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label daily
snapshot create -snapshot daily.2014-06-03.0010 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label daily
snapshot create -snapshot daily.2014-06-04.0010 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label daily
snapshot create -snapshot daily.2014-06-05.0010 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label daily
snapshot create -snapshot daily.2014-06-06.0010 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label daily
snapshot create -snapshot daily.2014-06-07.0010 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label daily
snapshot create -snapshot daily.2014-06-08.0010 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label daily
snapshot create -snapshot daily.2014-06-09.0010 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label daily
snapshot create -snapshot daily.2014-06-10.0010 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label daily
snapshot create -snapshot daily.2014-06-11.0010 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label daily
snapshot create -snapshot daily.2014-06-12.0010 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label daily
snapshot create -snapshot daily.2014-06-13.0010 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label daily
snapshot create -snapshot daily.2014-06-14.0010 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label daily
snapshot create -snapshot daily.2014-06-15.0010 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label daily
snapshot create -snapshot daily.2014-06-16.0010 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label daily
snapshot create -snapshot daily.2014-06-17.0010 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label daily
snapshot create -snapshot daily.2014-06-18.0010 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label daily
snapshot create -snapshot daily.2014-06-19.0010 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label daily
snapshot create -snapshot daily.2014-06-20.0010 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label daily
snapshot create -snapshot daily.2014-06-21.0010 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label daily

snapshot create -snapshot hourly.2014-06-21.1505 -volume v_PKD -vserver PRICLU1V1
snapshot create -snapshot hourly.2014-06-21.1605 -volume v_PKD -vserver PRICLU1V1
snapshot create -snapshot hourly.2014-06-21.1705 -volume v_PKD -vserver PRICLU1V1
snapshot create -snapshot hourly.2014-06-21.1805 -volume v_PKD -vserver PRICLU1V1
snapshot create -snapshot hourly.2014-06-21.1905 -volume v_PKD -vserver PRICLU1V1
snapshot create -snapshot hourly.2014-06-21.2005 -volume v_PKD -vserver PRICLU1V1
snapshot create -snapshot hourly.2014-06-21.2105 -volume v_PKD -vserver PRICLU1V1
snapshot create -snapshot hourly.2014-06-21.2205 -volume v_PKD -vserver PRICLU1V1
snapshot create -snapshot hourly.2014-06-21.2305 -volume v_PKD -vserver PRICLU1V1
snapshot create -snapshot hourly.2014-06-22.0005 -volume v_PKD -vserver PRICLU1V1

snapshot create -snapshot daily.2014-06-22.0010 -volume v_PKD -vserver PRICLU1V1 -snapmirror-label daily

snapshot create -snapshot hourly.2014-06-22.0105 -volume v_PKD -vserver PRICLU1V1
snapshot create -snapshot hourly.2014-06-22.0205 -volume v_PKD -vserver PRICLU1V1
snapshot create -snapshot hourly.2014-06-22.0305 -volume v_PKD -vserver PRICLU1V1
snapshot create -snapshot hourly.2014-06-22.0405 -volume v_PKD -vserver PRICLU1V1
snapshot create -snapshot hourly.2014-06-22.0505 -volume v_PKD -vserver PRICLU1V1
snapshot create -snapshot hourly.2014-06-22.0605 -volume v_PKD -vserver PRICLU1V1
snapshot create -snapshot hourly.2014-06-22.0705 -volume v_PKD -vserver PRICLU1V1
snapshot create -snapshot hourly.2014-06-22.0805 -volume v_PKD -vserver PRICLU1V1
snapshot create -snapshot hourly.2014-06-22.0905 -volume v_PKD -vserver PRICLU1V1
snapshot create -snapshot hourly.2014-06-22.1005 -volume v_PKD -vserver PRICLU1V1
snapshot create -snapshot hourly.2014-06-22.1105 -volume v_PKD -vserver PRICLU1V1
snapshot create -snapshot hourly.2014-06-22.1205 -volume v_PKD -vserver PRICLU1V1
snapshot create -snapshot hourly.2014-06-22.1305 -volume v_PKD -vserver PRICLU1V1
snapshot create -snapshot hourly.2014-06-22.1405 -volume v_PKD -vserver PRICLU1V1

10. Update the SnapVault

PRICLU2::> snapmirror update -destination-path PRICLU2V1:v_PKD

11. Delete v_PKD Snapshots Not Required on Production Cluster

The Production Cluster (PRICLU1) should have 24 hourly/ 31 daily/ 1 monthly.

snapshot delete -snapshot monthly.2013-07-01.0015 -volume v_PKD -vserver PRICLU1V1
snapshot delete -snapshot monthly.2013-08-01.0015 -volume v_PKD -vserver PRICLU1V1
snapshot delete -snapshot monthly.2013-09-01.0015 -volume v_PKD -vserver PRICLU1V1
snapshot delete -snapshot monthly.2013-10-01.0015 -volume v_PKD -vserver PRICLU1V1
snapshot delete -snapshot monthly.2013-11-01.0015 -volume v_PKD -vserver PRICLU1V1
snapshot delete -snapshot monthly.2013-12-01.0015 -volume v_PKD -vserver PRICLU1V1
snapshot delete -snapshot monthly.2014-01-01.0015 -volume v_PKD -vserver PRICLU1V1
snapshot delete -snapshot monthly.2014-02-01.0015 -volume v_PKD -vserver PRICLU1V1
snapshot delete -snapshot monthly.2014-03-01.0015 -volume v_PKD -vserver PRICLU1V1
snapshot delete -snapshot monthly.2014-04-01.0015 -volume v_PKD -vserver PRICLU1V1
snapshot delete -snapshot monthly.2014-05-01.0015 -volume v_PKD -vserver PRICLU1V1

12. Snapshot Policy

PRICLU1::> snapshot policy create -policy sn243101 -vserver PRICLU1 -schedule1 hourly -count1 24 -schedule2 daily -count2 31 -schedule3 monthly -count3 1 -enabled true
PRICLU1::> vol modify -vserver PRICLU1V1 -volume v_PKD -snapshot-policy sn243101

13. Setup SnapMirrors

SECCLU1::> snapmirror create -source-path PRICLU1V1:v_PKD -destination-path SECCLU1V1:v_PKD -type DP -schedule sm30mins
SECCLU1::> snapmirror initialize -destination-path SECCLU1V1:v_PKD

SECCLU2::> snapmirror create -source-path PRICLU2V1:v_PKD -destination-path SECCLU2V1:v_PKD -type DP -schedule smDailySV
SECCLU2::> snapmirror initialize -destination-path SECCLU2V1:v_PKD

14. Create shares to Read-Only Volumes

Repeat on PRICLU2V1, SECCLU1V1, and SECCLU2V2, replacing the vserver name as required:

vol mount -volume v_PKD   -vserver PRICLU2V1 -junction-path /v_PKD
vserver cifs share create -vserver PRICLU2V1 -share-name v_PKD$ -path /v_PKD                                                                         
vserver cifs share create -vserver PRICLU2V1 -share-name PKD_PDF$ -path /v_PKD/q_PKD_PDF
vserver cifs share create -vserver PRICLU2V1 -share-name PKD_Other$ -path /v_PKD/q_PKD_Other
vserver cifs share create -vserver PRICLU2V1 -share-name PKD_LIT$ -path /v_PKD/q_PKD_Other/LIT
vserver cifs share create -vserver PRICLU2V1 -share-name PKD_RTF$ -path /v_PKD/q_PKD_Other/RTF
vserver cifs share create -vserver PRICLU2V1 -share-name PKD_TXT$ -path /v_PKD/q_PKD_Other/TXT


Saturday, 21 June 2014

“Shows” in Clustered ONTAP 8.2.1 Clustershell


This post here presented a way to list all the “show” commands from diag level of the Clustershell by creating a special role and user -

security login role create -vserver CLUS -role shows -cmddirname DEFAULT -access readonly
security login role create -vserver CLUS -role shows -cmddirname set -access all
security login create -username shows -application ssh -authmethod password -role shows -vserver CLUS

- and logging into the cluster using that account, and running the following commands:

rows 0
set -privilege diagnostic
security login role show-user-capability -fields operation-command-directory-path

And below is the edited output (all 651 entries.)

How to Use the List

An idea of how to use this is that you could run the following commands -

set -showallfields true
set -showseparator “#”

- and run all the shows from list below (skip the ones that have periodic outputs), and you’d have close to all the possible information obtainable from the Clustershell at diag level. It could be imported into Excel using # as a separator to create something more readable. This is not a good idea though, way too much data (like ~300’000 lines from a simple single-node SIM, not using showallfields)!

It is pretty amazing how much information is there - all interesting stuff!

A more realistic approach would be to do this for a subset of show commands. For example - to get all the “volume quota” outputs; or a company tailored specific set of “shows”.

The List of “Shows”

1. Periodic Type “Shows” (8)

qos statistics characteristics show
qos statistics latency show
qos statistics performance show
qos statistics workload characteristics show
qos statistics workload latency show
qos statistics workload performance show
statistics show-periodic
statistics-v1 show-periodic

2. Admin Level “Shows” (565) {excluding certain Advanced Level and above command directories}

Note 1: Some of these shows may need additional arguments to give output.
Note 2: Some of these commands aren’t “shows” like sleep (kept in the list for completeness.)

cluster application-record show
cluster contact-info show
cluster date show
cluster ha mailbox show
cluster ha show
cluster identity show
cluster kernel-service show
cluster peer address active show
cluster peer address stable show
cluster peer health show
cluster peer job show
cluster peer ping
cluster peer show
cluster ring show
cluster show
cluster statistics show
cluster statistics-v1 show
dashboard alarm show
dashboard alarm thresholds show
dashboard health vserver show
dashboard health vserver show-aggregate
dashboard health vserver show-combined
dashboard health vserver show-lif
dashboard health vserver show-port
dashboard health vserver show-protocol
dashboard health vserver show-volume
dashboard performance show
dashboard storage show
event config show
event destination show
event log show
event mailhistory show
event route show
event show-queues
event show-statistics
event show-suppression
event snmphistory show
event status show
event tracelog log show
job bad show
job history show
job initstate show
job live show
job localstore cache list
job localstore cache show
job localstore cache state list
job localstore cache state show
job localstore db list
job localstore db show
job localstore db state list
job localstore db state show
job log show
job private show
job private show-completed
job queue show
job rdb show
job rdb state show
job schedule cron show
job schedule interval show
job schedule show
job schedule show-jobs
job show
job show-bynode
job show-cluster
job show-completed
job store show
job store state show
job thread show
job type show
job type show-category
job waitqueue show
lun alignment show
lun attribute show
lun bind show
lun comment
lun geometry
lun igroup show
lun mapped show
lun maxsize
lun persistent-reservation show
lun portset show
lun select
lun serial
lun set reservation
lun set space-alloc
lun show
lun stale-map show
lun stats
network blade-information show
network connections active show
network connections active show-clients
network connections active show-lifs
network connections active show-protocols
network connections active show-services
network connections listening show
network connections options buffer show
network device-discovery show
network fcp adapter show
network fcp adapter stats
network ifconfig
network interface active-cluster-ip show
network interface cdb show
network interface cdb show-routing-group
network interface dns-lb-stats show
network interface failover-groups show
network interface ids show
network interface lif-weights show
network interface owners show
network interface placement show
network interface show
network interface show-routing-group
network interface show-zones
network l2ping
network loadbalance show
network novsprocs show
network options ipv6 show
network options lb-geometric show
network options switchless-cluster show
network ping
network port cdb show
network port ifgrp show
network port show
network port vlan show
network routing-groups cdb show
network routing-groups route cdb show
network routing-groups route show
network routing-groups show
qos policy-group show
qos settings archived-workload show
qos settings control show
qos settings read-ahead show
qos statistics resource cpu show
qos statistics resource disk show
qos statistics workload resource cpu show
qos statistics workload resource disk show
qos workload show
reallocate show
security audit show
security certificate ca-issued show
security certificate file show
security certificate show
security http webserver show
security login domain-tunnel show
security login publickey show
security login role config show
security login role show
security login role show-ontapi
security login role show-user-capability
security login show
security snmpusers
security ssh show
security ssl show
snapmirror get-volume-status
snapmirror list-destinations
snapmirror policy show
snapmirror set-options
snapmirror show
snapmirror snapshot-owner show
statistics archive config show
statistics archive show
statistics catalog counter show
statistics catalog instance show
statistics catalog object show
statistics jobmgr job-stats show
statistics jobmgr job-stats show-details
statistics jobmgr job-stats show-summary-by-affinity
statistics jobmgr job-stats show-summary-by-instance-name
statistics jobmgr job-stats show-summary-by-serialized-id
statistics jobmgr job-stats show-summary-by-type-name
statistics jobmgr single-stats show
statistics jobmgr single-stats show-details
statistics jobmgr single-stats show-summary-by-name
statistics nfs show-mount
statistics nfs show-nlm
statistics nfs show-statusmon
statistics nfs show-v3
statistics nfs show-v4
statistics oncrpc show-rpc-calls
statistics perf latency show
statistics preset detail show
statistics preset show
statistics rdb quorum events show
statistics rdb quorum voting show
statistics rdb transactions show
statistics rdb transactions show-details
statistics rdb transactions show-summary-by-label
statistics samples show
statistics secd show
statistics settings modify
statistics settings show
statistics show
statistics spinvfs rpc show
statistics spinvfs show
statistics start
statistics stop
statistics volume move latency show
statistics volume move latency show-details
statistics volume move latency show-summary-by-destination
statistics volume move latency show-summary-by-source-node
statistics volume move latency show-summary-by-source-volume
statistics volume move summary show
statistics-v1 latency show
statistics-v1 nfs show-mount
statistics-v1 nfs show-nlm
statistics-v1 nfs show-portmap
statistics-v1 nfs show-statusmon
statistics-v1 nfs show-v3
statistics-v1 nfs show-v4
statistics-v1 oncrpc show-rpc-calls
statistics-v1 protocol-request-size show
statistics-v1 reset show
statistics-v1 settings modify
statistics-v1 settings show
statistics-v1 show
storage aggregate 64bit-upgrade status
storage aggregate relocation show
storage aggregate show
storage aggregate show-raidgroup
storage aggregate show-scrub-status
storage aggregate show-space
storage aggregate show-view
storage aggregate wafliron backup show
storage aggregate wafliron show
storage array config show
storage array disk paths show
storage array port show
storage array show
storage disk option show
storage disk show
storage errors show
storage failover hwassist show
storage failover hwassist stats show
storage failover interconnect reset status show
storage failover interconnect show-link
storage failover interconnect statistics error show
storage failover interconnect statistics performance basic
storage failover interconnect statistics performance per-interface
storage failover interconnect statistics performance vi-if
storage failover interconnect status
storage failover internal-options show
storage failover mailbox-disk show
storage failover progress-table show
storage failover show
storage failover show-giveback
storage failover show-takeover
storage library config show
storage library path show
storage library path show-by-initiator
storage load show
storage path show
storage path show-by-initiator
storage raid-options show
system capability clusterset show
system capability show
system cdb config
system configuration backup settings show
system configuration backup show
system diag hgi contents show
system diag hgi show
system health alert definition show
system health alert show
system health autosupport polling interval show
system health autosupport trigger history show
system health chassis fru show
system health chassis show
system health cluster-switch fan show
system health cluster-switch interface show
system health cluster-switch polling-interval show
system health cluster-switch power show
system health cluster-switch show
system health cluster-switch show-all
system health cluster-switch switch-count show
system health cluster-switch temperature show
system health cluster-switch utilization show
system health config show
system health controller bootmedia show
system health controller environment show
system health controller fru show
system health controller ioxm show
system health controller memory dimm show
system health controller pcie show
system health controller show
system health controller sp config show
system health controller sp upgrade show
system health node-connectivity adapter show
system health node-connectivity disk show
system health node-connectivity shelf show
system health policy definition show
system health status show
system health subsystem show
system health system-connectivity shelf show
system license show
system license status show
system license-v1 show
system node autosupport budget show
system node autosupport budget7 show
system node autosupport compliant show
system node autosupport compliant7 show
system node autosupport destinations show
system node autosupport destinations7 show
system node autosupport filter show
system node autosupport filter7 show
system node autosupport history show
system node autosupport history7 show
system node autosupport manifest show
system node autosupport manifest7 show
system node autosupport show
system node autosupport trigger show
system node autosupport trigger7 show
system node coredump config show
system node coredump reports show
system node coredump segment config show
system node coredump segment show
system node coredump segment status
system node coredump show
system node coredump status
system node environment sensors show
system node environment shutdown show
system node hardware tape drive show
system node hardware tape library show
system node hardware unified-connect show
system node image key show
system node image package show
system node image show
system node image show-update-progress
system node internal-switch dump eeprom
system node internal-switch dump port-mapping
system node internal-switch dump stat
system node internal-switch show
system node platform com regs
system node platform com stats
system node platform ifswitch dump phy
system node platform ifswitch dump ports
system node platform ifswitch global show
system node platform ifswitch mode show
system node platform ifswitch phy show
system node platform ifswitch port show
system node platform ifswitch stat
system node platform mem_scrub_stats
system node platform memerr
system node root-mount show
system node service-processor image show
system node service-processor image update-progress show
system node service-processor network show
system node service-processor show
system node show
system node uichanges
system node upgrade-revert show
system node upgrade-revert show-task-status
system node watchdog resource show
system node watchdog service show
system node watchdog show
system ontapi limits show
system script show
system services firewall policy service show
system services firewall policy show
system services firewall show
system services manager configuration show
system services manager consdef show
system services manager definition show
system services manager endpoint show
system services manager event show
system services manager install by-node show
system services manager install show
system services manager policy journal show
system services manager policy show
system services manager status show
system services ndmp kernel show
system services ndmp maxversion
system services ndmp show
system services ndmp status
system services ntp config show
system services ntp server show
system services replication file show
system services replication show
system services web diagnostic log show
system services web diagnostic show
system services web node show
system services web packages show
system services web show
system smtape status show
system snmp authtrap
system snmp community show
system snmp contact
system snmp init
system snmp location
system snmp show
system snmp traphost show
system timeout show
system uichanges
volume 64bit-upgrade status
volume check show
volume clone show
volume clone split show
volume cluster-max-volume
volume efficiency config
volume efficiency node-statistics
volume efficiency policy show
volume efficiency show
volume efficiency stat
volume file clone clear
volume file clone show-autodelete-list
volume file clone status
volume file clone stop
volume file repository fhmap show
volume file show-disk-usage
volume file show-filehandle
volume flexcache cache-policy show
volume flexcache delegations show
volume flexcache monitor client show
volume flexcache monitor server show
volume flexcache show
volume language
volume lost-found show
volume move governor show
volume move show
volume move target-aggr show
volume qtree show
volume qtree statistics
volume qtree stats
volume qtree status
volume quota policy rule show
volume quota policy show
volume quota report
volume quota show
volume quota status
volume show
volume show-footprint
volume show-space
volume snapshot autodelete show
volume snapshot compute-reclaimable
volume snapshot policy show
volume snapshot show
volume storage-service show
volume transition-log show
vserver active-directory show
vserver audit show
vserver cifs access
vserver cifs audit
vserver cifs branchcache log show
vserver cifs branchcache show
vserver cifs domain discovered-servers show
vserver cifs domain name-mapping-search show
vserver cifs domain preferred-dc show
vserver cifs domain trusts show
vserver cifs group-policy show
vserver cifs group-policy show-applied
vserver cifs group-policy show-defined
vserver cifs home-directory search-path show
vserver cifs nbtstat
vserver cifs options show
vserver cifs security show
vserver cifs session file show
vserver cifs session show
vserver cifs shadowcopy show
vserver cifs shadowcopy show-sets
vserver cifs shadowcopy show-shares
vserver cifs shadowcopy show-volumes
vserver cifs share access-control show
vserver cifs share properties show
vserver cifs share show
vserver cifs shares
vserver cifs show
vserver cifs superuser show
vserver cifs symlink show
vserver cifs users-and-groups local-group show
vserver cifs users-and-groups local-group show-members
vserver cifs users-and-groups local-group show-sid
vserver cifs users-and-groups local-user show
vserver cifs users-and-groups local-user show-membership
vserver cifs users-and-groups local-user show-sid
vserver cifs users-and-groups privilege show
vserver cifs users-and-groups show-domain-sid
vserver copy-offload show
vserver export-policy rule show
vserver export-policy security-table show
vserver export-policy show
vserver fcp initiator show
vserver fcp interface show
vserver fcp nodename
vserver fcp portname show
vserver fcp show
vserver fcp status
vserver fcp wwpn-alias show
vserver fpolicy log show
vserver fpolicy log trace show
vserver fpolicy policy event show
vserver fpolicy policy external-engine show
vserver fpolicy policy scope show
vserver fpolicy policy show
vserver fpolicy show
vserver fpolicy show-enabled
vserver fpolicy show-engine
vserver group-mapping show
vserver iscsi alias
vserver iscsi command show
vserver iscsi connection show
vserver iscsi initiator show
vserver iscsi interface accesslist show
vserver iscsi interface show
vserver iscsi isns show
vserver iscsi nodename
vserver iscsi security show
vserver iscsi session parameter show
vserver iscsi session show
vserver iscsi show
vserver iscsi stats
vserver iscsi status
vserver iscsi tpgroup show
vserver locks nfsv4 show
vserver locks show
vserver name-mapping show
vserver nfs client information show
vserver nfs kerberos-config show
vserver nfs pnfs devices cache show
vserver nfs pnfs devices mappings show
vserver nfs pnfs devices show
vserver nfs show
vserver options
vserver peer show
vserver peer show-all
vserver peer transition show
vserver security file-directory job show
vserver security file-directory ntfs dacl show
vserver security file-directory ntfs sacl show
vserver security file-directory ntfs show
vserver security file-directory policy show
vserver security file-directory policy task show
vserver security file-directory show
vserver security trace filter show
vserver security trace trace-result show
vserver services dns hosts show
vserver services dns show
vserver services kerberos-realm show
vserver services ldap client schema show
vserver services ldap client show
vserver services ldap show
vserver services ndmp generate-password
vserver services ndmp maxversion
vserver services ndmp show
vserver services ndmp status
vserver services netgroup status
vserver services nis-domain show
vserver services unix-group show
vserver services unix-user show
vserver services web access show
vserver services web show
vserver show
vserver vscan connection-status show
vserver vscan connection-status show-all
vserver vscan connection-status show-connected
vserver vscan connection-status show-extended-stats
vserver vscan connection-status show-not-connected
vserver vscan on-access-policy show
vserver vscan scanner-pool privileged-users show
vserver vscan scanner-pool servers show
vserver vscan scanner-pool show
vserver vscan scanner-pool show-active
vserver vscan show

3. Advanced Level and above “Shows” (78) {those excluded above}

debug cluster caller show
debug cluster sitelist show
debug cluster-setup show
debug cpu-profiler show
debug csm cache blade-ip-map
debug csm cache ds-blade-map
debug csm cache lif-blade-map
debug csm cache session-table
debug csm counters show
debug csm ct show
debug csm local-blade show
debug csm nulltx show
debug csm performance execution-timer
debug csm performance flowcontrol-timer
debug csm performance nulltx
debug csm rc show
debug csm session show
debug csm thread show
debug csm trace show
debug filedesc show
debug ha-msg client-msg show
debug ha-msg client-stats show
debug ha-msg server-msg show
debug ha-msg server-stats show
debug ha-msg version show
debug health-notifications show
debug health-poller show
debug kenv show
debug latency show
debug locks aggr-grace-info show
debug locks lock-sync show
debug locks mirrored inflight show
debug locks mirrored show
debug locks mirror-state show
debug locks reconstruction show
debug locks reconstruction show-volume
debug log files show
debug log show
debug mtrace buffer show
debug mtrace category show
debug mtrace log show
debug mtrace show
debug network schedule show
debug process show
debug process-memory show
debug remote-autosupport show
debug result
debug resync state show
debug seqid show
debug sitelist show
debug sktrace show
debug sktrace tracepoint show
debug smdb latency show
debug smdb show
debug smdb trace show
debug smdb vifmgr show
debug smdb vldb show
debug system snmp show
debug vreport show
debug zapi counters show
debug zapi latency show
debug zapi options show
debug zapi schema-validation show
debug zapi trace show
diag nblade replay show
diag nblade repository fhmap-cache show
diag nblade repository replay-cache config show
diag sldiag frulog show
logger bcomd log show
logger mgwd log show
logger notifyd log show
logger servprocd log show
logger vifmgr log show
logger vldb log show
repository balance capacity show
repository placement file-create show
repository volume show
spm show