*** WARNING *** Hammer is a system level stress test.
CPU utilization may approach 100 percent
with very high disk IO rate when hammer is run.
This may adversely affect system performance
and may cause loss of filer service.
Hammer is an undocumented, unsuppported command.
This commands just wants to be used by people like me! Another stress test tool like filersio. This doesn’t do any sort of reporting though, it just hammers the system! So use something like sysstat or stats to report on what the filer is doing.
usage: hammer [abort|pause|restart|status|
[-f]<# Runs><fileName><# BlocksInFile> (<# Runs> == -1 runs hammer forever)|
fill <writeSize> (use all available disk space)]
filer1*> hammer -f 5 /vol/vol0/hammer.txt 400
Mon Dec 8 12:32:02 GMT [blacksmith:warning]: blacksmith #0: Starting work.
filer1*> hammer status
blacksmith #0: file /vol/vol0/hammer.txt, 580 KB of 1600 KB writesize 4096 bytes, iteration 1 of 5 – Writing
filer1*> hammer status
blacksmith #0: file /vol/vol0/hammer.txt, 1600 KB of 1600 KB writesize 4096 bytes, iteration 1 of 5 – Writing
filer1*> hammer status
blacksmith #0: file /vol/vol0/hammer.txt, 652 KB of 1600 KB writesize 4096 bytes, iteration 2 of 5 – Writing
filer1*> hammer status
blacksmith #0: file /vol/vol0/hammer.txt, 1600 KB of 1600 KB writesize 4096 bytes, iteration 2 of 5 – Writing
filer1*> Mon Dec 8 12:32:13 GMT [blacksmith:info]: blacksmith #0: No errors detected. Stopping work
VN:F [1.9.11_1134]
Rating: 0.0/10 (0 votes cast)
Undocumented Commands hammer, NetApp, ONTAP
This is quite useful for extracting information from the filer.
usage: getXXbyYY <sub-command> <name>
Where sub-command is one of
gethostbyname_r
gethostbyaddr_r
netgrp
getspwbyname_r
getpwbyname_r
getpwbyuid_r
getgrbyname
getgrbygid
getgrlist
So we can pull out the root users information, including the encrypted password
filer1*> getXXbyYY getpwbyname_r root
pw_name = root
pw_passwd = _J9..9aTB5SBQOW.uu96
pw_uid = 0, pw_gid = 1
pw_gecos =
pw_dir = /
pw_shell =
Supplemental:
These tools are actually very useful, and on further reading and applications I’ve realise more where they can be used. Remember the search order is defined by “/etc/nsswitch.conf”
To perform DNS lookups, similar to what you might want to achieve with nslookup, you can use this tool…
filer01> getXXbyYY gethostbyname_r b2net-dc
name: b2net-dc.b2net.lan
aliases:
addresses: 10.0.0.5 10.0.1.5 10.0.30.5
Or reverse lookups to make sure DNS works properly…
filer01*> getXXbyYY gethostbyaddr_r 10.0.0.149
name: b2net-exch03.b2net.lan
aliases:
addresses: 10.0.0.149
If you have LDAP configured and working, you can also use this tool to perform LDAP lookups.
VN:F [1.9.11_1134]
Rating: 0.0/10 (0 votes cast)
Undocumented Commands getXXbyYY, ldap, NetApp, nslookup, ONTAP
No output and can’t seem to get anything from this. Is this the GNU debugger?
VN:F [1.9.11_1134]
Rating: 0.0/10 (0 votes cast)
Undocumented Commands gdb, NetApp, ONTAP
filer1*> filersio
The following commands are available; For more information
filersio help <command>
asyncio_pause asyncio_active spc1
status stop
As you expect, this is an IO generator. A nice way of testing a filer, perhaps to see what it can do, or perhaps to do some performance testing to see if there is an issue. hammer can also be used to generate IO on the filer.
filer1*> filersio asyncio_active 50 -r 50 4 0 10m 60 5 /vol/vol0/filersio.test -create -print_stats 5
filersio: workload initiated asynchronously. Results will be displayed on the
console after completion
filersio: starting workload asyncio_active, instance 0
Read I/Os Avg. read Max. read Write I/Os Avg. write Max write
latency(ms) latency(ms) latency(ms) latency(ms)
6087 0 11 6216 3 981
4410 0 471 4300 5 1551
5323 0 11 5375 4 1121
5439 0 113 5379 4 1151
4354 0 105 4304 5 1674
4307 0 411 4300 5 1171
5459 0 20 5371 5 1260
5384 0 180 5379 4 1071
5439 0 211 5375 4 1011
4396 0 71 4300 5 1311
Statistics for active_active model, instance 0
Running for 60s
Total read latency(ms) 16383
Read I/Os 51687
Avg. read IOPS 861
Avg. read latency(ms) 0
Max read latency(ms) 471
Total write latency(ms) 286501
Write I/Os 51413
Avg. write IOPS 856
Avg. write latency(ms) 5
Max write latency(ms) 4891
filersio: instance 0: workload completed successfully
VN:F [1.9.11_1134]
Rating: 0.0/10 (0 votes cast)
Undocumented Commands filersio, NetApp, ONTAP
filer1*> export_stats
ERROR: One of -p, -z, or -h required.
export_stats has three basic variants: -h, -z, and -p
-h is specified alone and produces help output such as this.
-p displays export statistics.
-v (verbose) may be specified with -p and adds statistics descriptions
-q (quiet) may be specified with -p and suppresses display of zero counts.
-z zeros export statistics.
-p and -z require specification of a set of modules via either:
-a to specify all modules.
one or more -m <modname> specifications, where:
<modname> is one of the three-letter export module codes
The following module codes are defined:
IAR — Information About Rules
REQ — Request Handling
ADI — Access Determination Interface
AEL — Access Evaluation Layer
ALI — Address List Interface
AII — Address Item Interface
ACP — Access Cache Population
ATI — Address Type Implementation
Again, pretty much what it says on the tin! shows some detailed specific NFS stats.
“export_stats -pav” will show all stats.
VN:F [1.9.11_1134]
Rating: 0.0/10 (0 votes cast)
Undocumented Commands export_stats, NetApp, ONTAP
Again, this is documented, but I find this tool can be useful for other purposes. It is useful for simply copying files around, regardless of permissions! It can also be used to copy files out of snapshots, even if you don’t have SnapRestore.
dd if=/vol/vol0/.snapshot/hourly.0/etc/rc of-/vol/vol0/etc/rc.old
if = input file
of = output file
VN:F [1.9.11_1134]
Rating: 0.0/10 (0 votes cast)
Undocumented Commands dd, NetApp, ONTAP
filer*> dbg
usage: dbg to [ console | log | off ]
dbg dump
dbg dumpcons
dbg level [ <module>=<level> ... ]
Debugging. This can be turned on or off from here and also you can tell it to dump to console, or dump to a file. The file is “/,dbg”.
VN:F [1.9.11_1134]
Rating: 0.0/10 (0 votes cast)
Undocumented Commands dbg, NetApp, ONTAP
filer*> bootfs
For more information, type “bootfs help <command>”.
The following bootfs commands are available:
chkdsk core dir dump fdisk
format info sync test
This command is documented clearly as it is needed to format the compact flash card if ever needed. A helpful hint though, the boot dir is usually “0a.0:1:”, so you can do “bootfs dir 0a:0:1:” to see what’s in there.
VN:F [1.9.11_1134]
Rating: 0.0/10 (0 votes cast)
Undocumented Commands bootfs, NetApp, ONTAP
blink_on / blink_off <disk_name>
I like flashing lights!
This can actually be useful if you need to locate a disk. Don’t forget led_on and led_off, but there are alternatives.
VN:F [1.9.11_1134]
Rating: 0.0/10 (0 votes cast)
Undocumented Commands blink_off, blink_on, NetApp, ONTAP
Pretty much exactly what it says on the tin! Gives you availability times for the system and each protocol. This can be reset with “availtime reset”.
VN:F [1.9.11_1134]
Rating: 0.0/10 (0 votes cast)
Undocumented Commands availtime, NetApp, ONTAP