NetApp Simulate ONTAP is a simulator for running Data ONTAP software. It has been available for a number of years to NetApp customers and partners, and is readily obtainable (unofficially) from any number of websites. It enables you to test most features of Data ONTAP 7-Mode or Cluster-Mode, and is an excellent tool for learning about the features of Data ONTAP.
There have been various versions of Simulate ONTAP over the years. Initially it had to be installed on a Red Hat or SuSE Linux platform but over the years more Linux distributions were added. Nowadays Simulate ONTAP is also available as a VMware virtual machine that runs in a hypervisor such as VMware Workstation on either a Windows or a Mac system.
Simulate ONTAP has some limitations:
- Non-Volatile RAM (NVRAM) is simulated and is not persistent.
- You must shut down the simulator properly to avoid data loss.
- There is no access to a Service Processor.
- You can have a maximum of 4 simulated disk shelves with 14 disk drives per shelf, for a total
of 56 drives. - Each simulated drive is limited to 9 GB in the current version of the simulator.
- You can create 64-bit aggregates, but they are limited to a maximum of 9 GB per simulated disk
drive.
The simulator image comes pre-configured with 28 1 GB disks. There are 14 each on simulated disk shelves 0 and 1. Disk shelves 2 and 3 are not populated. You can configure up to a maximum of 220 GB total disk space for each Simulate ONTAP node.
The 48 GB disk that comes with the simulate ONTAP VM is far too small for practical use and should be expanded if you wish to store real data on the simulator. You need to increase the size of the disk and then extend the partitions/slices within the simulator disk to take advantage of the new increased disk space available to the VM. Because the simulator runs on FreeBSD, you will have to download a live copy of FreeBSD and boot from it to modify the disk partitions/slices. See here for more information.
Here is my Data ONTAP 7-Mode VM configuration:
and here is the output of sysconfig -v:
ontap*> sysconfig -v NetApp Release 8.1RC2X13 7-Mode: Thu Oct 27 19:26:21 PDT 2011 System ID: 4061491118 (ontap) System Serial Number: 4061491-11-8 (ontap) System Storage Configuration: Multi-Path System ACP Connectivity: NA slot 0: System Board 2.4 GHz (NetApp VSim) Model Name: SIMBOX Serial Number: 999999 Loader version: 1.0 Processors: 2 Memory Size: 1599 MB Memory Attributes: None slot 0: 10/100/1000 Ethernet Controller V e0a MAC Address: 00:0c:29:c1:1d:f1 (auto-1000t-fd-up) e0b MAC Address: 00:0c:29:c1:1d:fb (auto-1000t-fd-up) e0c MAC Address: 00:0c:29:c1:1d:05 (auto-1000t-fd-up) e0d MAC Address: 00:0c:29:c1:1d:0f (auto-1000t-fd-up) Device Type: Rev 1 ontap*>
I assume that you are somewhat familiar with Data ONTAP and Unix commands if you are reading this blog post so I am not going to explain the various commands unless it is necessary.
To get root access, we need to unlock and set a password for the hidden user diaguser and access the systemshell as shown below:
For some reason, the hidden diagnostic user is named diaguser but invoked as diag!
When you login to the systemshell, you are actually placed into a C Shell (csh) with a user id of 1002 and a home directory of /var/home/diag. Some useful aliases are available to you.
ontap% alias h (history 25) j (jobs -l) la (ls -a) lf (ls -FA) ll (ls -lA) ontap%
Unfortunately logging into systemshell as user diag does not provide you with root privileges.
So how do you become root? Quite easily as it turns out. The Bash shell exists on the VM at /usr/bin/bash and is owned by root. So invoking sudo bash changes your id to 0, i.e. root, as shown above. Note that no man pages are available in either of these shells.
By the way, you could also have entered sudo /bin/sh to instead use a Bourne shell, but then you would not have command completion or command history.
Here is the contents of /etc/sudoers:
bash-3.2# cat /etc/sudoers # sudoers file. # # This file MUST be edited with the 'visudo' command as root. # Failure to use 'visudo' may result in syntax or file permission errors # that prevent sudo from running. # # See the sudoers man page for the details on how to write a sudoers file. # # Host alias specification # User alias specification # Cmnd alias specification # Defaults specification # Uncomment if needed to preserve environmental variables related to the # FreeBSD pkg_* utilities. #Defaults env_keep += "PKG_PATH PKG_DBDIR PKG_TMPDIR TMPDIR PACKAGEROOT PACKAGESITE PKGDIR" # Uncomment if needed to preserve environmental variables related to # portupgrade. (portupgrade uses some of the same variables as the pkg_* # tools so their Defaults above should be uncommented if needed too.) #Defaults env_keep += "PORTSDIR PORTS_INDEX PORTS_DBDIR PACKAGES PKGTOOLS_CONF" # Runas alias specification # User privilege specification root ALL=(ALL) ALL diag ALL=(ALL) NOPASSWD: ALL # Uncomment to allow people in group wheel to run all commands # %wheel ALL=(ALL) ALL # Same thing without a password # %wheel ALL=(ALL) NOPASSWD: ALL # Samples # %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom # %users localhost=/sbin/shutdown -h now bash-3.2#
Nothing exciting or interesting there except that the user diag can gain elevated privilege without entering a password whereas root has to enter a password.
So where is the real password file? Turns out that it is in /var/etc.
bash-3.2# cd /var/etc bash-3.2# ls bootargs localtime periodic.conf.local dhclient-enter-hooks master.passwd php.ini dhclient.conf mgmtlogspec pwd.db fstab motd rc.conf group ndmpd.conf resolv.conf host.conf newsyslog.conf spwd.db hosts nsmb.conf ssh httpd-custom.conf nsswitch.conf sysctl.conf httpd-custom.conf.old ntp.conf ttys httpd-vserver.conf opieaccess ttys.old inetd.conf passwd ipf.user.rules periodic.conf bash-3.2#
and here is the contents of the password file as obtained using vipw:
# $FreeBSD: src/etc/master.passwd,v 1.40 2005/06/06 20:19:56 brooks Exp $ # root:$1$9f58c0d6$NcokQbZbvosXgi2G/EQ2L.:0:0::0:0:Charlie &:/root:/usr/sbin/nologin toor:*:0:0::0:0:Bourne-again Superuser:/root: daemon:*:1:1::0:0:Owner of many system processes:/root:/usr/sbin/nologin operator:*:2:5::0:0:System &:/:/usr/sbin/nologin bin:*:3:7::0:0:Binaries Commands and Source:/:/usr/sbin/nologin tty:*:4:65533::0:0:Tty Sandbox:/:/usr/sbin/nologin kmem:*:5:65533::0:0:KMem Sandbox:/:/usr/sbin/nologin games:*:7:13::0:0:Games pseudo-user:/usr/games:/usr/sbin/nologin news:*:8:8::0:0:News Subsystem:/:/usr/sbin/nologin man:*:9:9::0:0:Mister Man Pages:/usr/share/man:/usr/sbin/nologin sshd:*:22:22::0:0:Secure Shell Daemon:/var/empty:/usr/sbin/nologin smmsp:*:25:25::0:0:Sendmail Submission User:/var/spool/clientmqueue:/usr/sbin/no login mailnull:*:26:26::0:0:Sendmail Default User:/var/spool/mqueue:/usr/sbin/nologin bind:*:53:53::0:0:Bind Sandbox:/:/usr/sbin/nologin proxy:*:62:62::0:0:Packet Filter pseudo-user:/nonexistent:/usr/sbin/nologin _pflogd:*:64:64::0:0:pflogd privsep user:/var/empty:/usr/sbin/nologin _dhcp:*:65:65::0:0:dhcp programs:/var/empty:/usr/sbin/nologin uucp:*:66:66::0:0:UUCP pseudo-user:/var/spool/uucppublic:/usr/local/libexec/uucp/uucico
You can change the root password using the passwd utility and it will persist across a reboot.
Here are the default kernel tuning details:
bash-3.2# cat sysctl.conf # $FreeBSD: src/etc/sysctl.conf,v 1.8 2003/03/13 18:43:50 mux Exp $ # # This file is read when going to multi-user and its contents piped thru # ``sysctl'' to adjust kernel values. ``man 5 sysctl.conf'' for details. # # Uncomment this to prevent users from seeing information about processes that # are being run under another UID. #security.bsd.see_other_uids=0 debug.kdb.current=gdb net.link.ether.inet.log_arp_movements=0 # Prevent ephemeral port assignments within "spinport" range of ontap-ng net.inet.ip.portrange.lowfirst=899 kern.ipc.maxsockbuf=2621440 net.inet.tcp.local_slowstart_flightsize=10 net.inet.tcp.nolocaltimewait=1
Here is a listing of the files and directories in the root filesystem:
bash-3.2# cd / bash-3.2# ls -al total 7367 drwxr-xr-x 24 root wheel 1024 Oct 31 2011 . drwxr-xr-x 24 root wheel 1024 Oct 31 2011 .. -rw-r--r-- 2 root wheel 786 Oct 28 2011 .cshrc -rw-r--r-- 2 root wheel 253 Oct 28 2011 .profile -rw-r--r-- 1 root wheel 146 Oct 28 2011 BUILD -r--r--r-- 1 root wheel 193 Oct 28 2011 COMPAT.TXT -r--r--r-- 1 root wheel 6134 Oct 28 2011 COPYRIGHT -r-xr-xr-x 1 root wheel 18480 Oct 28 2011 INSTALL -r--r--r-- 1 root wheel 1072 Oct 28 2011 README.TXT -r--r--r-- 1 root wheel 10 Oct 31 2011 VERSION drwxr-xr-x 2 root wheel 1024 Oct 28 2011 bin drwxr-xr-x 6 root wheel 512 Oct 28 2011 boot -r--r--r-- 1 root wheel 17458 Oct 28 2011 cap.xml dr-xr-xr-x 1 root wheel 16384 Jan 1 1980 cfcard dr-xr-xr-x 2 root wheel 512 Mar 29 19:36 clus dr-xr-xr-x 5 root wheel 512 Mar 29 19:36 dev drwxr-xr-x 26 root wheel 3584 Oct 28 2011 etc drwxr-xr-x 2 root wheel 1024 Oct 28 2011 fw drwxr-xr-x 3 root wheel 1024 Oct 28 2011 lib drwxr-xr-x 2 root wheel 512 Oct 28 2011 libexec drwxr-xr-x 2 root wheel 512 Oct 28 2011 media drwxr-xr-x 2 root wheel 512 Oct 28 2011 mnt drwxrwxrwx 6 root wheel 4096 Mar 26 15:14 mroot -rw-r--r-- 1 root wheel 3564799 Oct 28 2011 mroot.tgz -rw-r--r-- 1 root wheel 20 Oct 28 2011 mroot_late.tgz drwxr-xr-x 2 root wheel 512 Oct 28 2011 nfsroot drwxr-xr-x 3 root wheel 512 Oct 28 2011 ontap drwxr-xr-x 2 root wheel 512 Oct 28 2011 partner drwxr-xr-x 7 root wheel 512 Oct 28 2011 platform dr-xr-xr-x 1 root wheel 0 Mar 29 19:39 proc drwxr-xr-x 2 root wheel 512 Oct 28 2011 rescue drwxr-xr-x 3 root wheel 512 Oct 28 2011 root drwxr-xr-x 2 root wheel 2560 Oct 28 2011 sbin drwxr-xr-x 9 root wheel 512 Jan 12 2011 sim drwxr-xr-x 8 root wheel 512 Oct 28 2011 sldiag drwxrwxrwt 8 root wheel 512 Mar 29 19:37 tmp drwxr-xr-x 2 root wheel 512 Oct 28 2011 u drwxr-xr-x 13 root wheel 512 Oct 28 2011 usr drwxr-xr-x 23 root wheel 1024 Mar 29 19:38 var -rw-r--r-- 1 root wheel 20529 Oct 31 2011 varfs.tgz -r--r--r-- 1 root wheel 38674 Oct 28 2011 vs_conf_files.tgz
and here are the mounted filesystems:
bash-3.2# mount /dev/md0 on / (ufs, local, read-only) devfs on /dev (devfs, local) /dev/ad1 on /cfcard (msdosfs, local) /dev/md1 on / (ufs, local, read-only, union) /dev/md2 on /platform (ufs, local, read-only) /dev/ad0s4b on /sim (ufs, local, noclusterr, noclusterw) /dev/ad0s2 on /var (ufs, local, synchronous) procfs on /proc (procfs, local) /dev/md3 on /tmp (ufs, local, soft-updates) localhost:0x80000000,0x433dc5f2 on /mroot (spin) clusfs on /clus (clusfs, local) /mroot/etc/cluster_config/vserver on /mroot/vserver_fs (vserverfs, union)
The /mroot directory is of particular interest:
bash-3.2# cd /mroot/etc bash-3.2# ls .avail group registry .mroot.cksum hosts registry.0 .mroot_late.cksum hosts.bak registry.1 .pmroot.cksum hosts.equiv registry.bck .pmroot_late.cksum hosts.equiv.bak registry.default .zapi http registry.lastgood acpp_fw initial_varfs.tgz registry.local asup_content.conf issue registry.local.0 backups keymgr registry.local.1 cifs_homedir.cfg lang registry.local.bck cifs_nbalias.cfg lclgroups.bak serialnum cifsconfig_setup.cfg lclgroups.cfg services cifsconfig_share.cfg log shelf_fw cifssec.cfg man snmppersist.conf clihelp messages sshd cluster_config mib stats configs mlnx sysconfigtab crash mlog syslog.conf dgateways netapp_filer.dtd syslog.conf.sample dgateways.bak nsswitch.conf tape_config disk_fw nsswitch.conf.bak usermap.cfg exports oldvarfs.tgz varfs.tgz exports.bak ontapAuditE.dll vfiler filersid.cfg passwd www firmware quotas zoneinfo fpm rc bash-3.2#
Simulated disks are stored in userspace under /sim:
bash-3.2# pwd /sim/dev/,disks bash-3.2# ls -al total 6430400 -rwxr-xr-x 1 root wheel 912 Mar 26 14:55 ,reservations drwxr-xr-x 2 root wheel 2048 Mar 26 14:55 . drwxr-xr-x 4 root wheel 512 Jan 12 2011 .. -rw-r--r-- 1 root wheel 1372 Jan 12 2011 Shelf:DiskShelf14 -rw-r--r-- 1 root wheel 1094312960 Mar 29 19:56 v0.16:NETAPP__:VD-1000MB-FZ-520:12082500:2104448 -rw-r--r-- 1 root wheel 1094312960 Mar 29 19:56 v0.17:NETAPP__:VD-1000MB-FZ-520:12082501:2104448 -rw-r--r-- 1 root wheel 1094312960 Mar 29 19:56 v0.18:NETAPP__:VD-1000MB-FZ-520:12082502:2104448 -rw-r--r-- 1 root wheel 1094312960 Mar 27 16:27 v0.19:NETAPP__:VD-1000MB-FZ-520:12082503:2104448 -rw-r--r-- 1 root wheel 1094312960 Mar 27 16:27 v0.20:NETAPP__:VD-1000MB-FZ-520:12082504:2104448 -rw-r--r-- 1 root wheel 1094312960 Mar 27 16:27 v0.21:NETAPP__:VD-1000MB-FZ-520:12082505:2104448 -rw-r--r-- 1 root wheel 1094312960 Mar 27 16:27 v0.22:NETAPP__:VD-1000MB-FZ-520:12082606:2104448 -rw-r--r-- 1 root wheel 1094312960 Mar 27 16:27 v0.24:NETAPP__:VD-1000MB-FZ-520:12082607:2104448 -rw-r--r-- 1 root wheel 1094312960 Mar 27 16:27 v0.25:NETAPP__:VD-1000MB-FZ-520:12082608:2104448 -rw-r--r-- 1 root wheel 1094312960 Mar 27 16:27 v0.26:NETAPP__:VD-1000MB-FZ-520:12082609:2104448 -rw-r--r-- 1 root wheel 1094312960 Mar 27 16:27 v0.27:NETAPP__:VD-1000MB-FZ-520:12082610:2104448 -rw-r--r-- 1 root wheel 1094312960 Mar 27 16:27 v0.28:NETAPP__:VD-1000MB-FZ-520:12082611:2104448 -rw-r--r-- 1 root wheel 1094312960 Mar 27 16:27 v0.29:NETAPP__:VD-1000MB-FZ-520:12082612:2104448 -rw-r--r-- 1 root wheel 1094312960 Mar 27 16:27 v0.32:NETAPP__:VD-1000MB-FZ-520:12082613:2104448 -rw-r--r-- 1 root wheel 1094312960 Mar 29 20:00 v1.16:NETAPP__:VD-1000MB-FZ-520:14323800:2104448 -rw-r--r-- 1 root wheel 1094312960 Mar 29 20:00 v1.17:NETAPP__:VD-1000MB-FZ-520:14323801:2104448 -rw-r--r-- 1 root wheel 1094312960 Mar 29 20:00 v1.18:NETAPP__:VD-1000MB-FZ-520:14323802:2104448 -rw-r--r-- 1 root wheel 1094312960 Mar 26 21:29 v1.19:NETAPP__:VD-1000MB-FZ-520:14323803:2104448 -rw-r--r-- 1 root wheel 1094312960 Mar 26 21:29 v1.20:NETAPP__:VD-1000MB-FZ-520:14323804:2104448 -rw-r--r-- 1 root wheel 1094312960 Mar 26 21:29 v1.21:NETAPP__:VD-1000MB-FZ-520:14323805:2104448 -rw-r--r-- 1 root wheel 1094312960 Mar 26 21:29 v1.22:NETAPP__:VD-1000MB-FZ-520:14323806:2104448 -rw-r--r-- 1 root wheel 1094312960 Mar 26 21:29 v1.24:NETAPP__:VD-1000MB-FZ-520:14323907:2104448 -rw-r--r-- 1 root wheel 1094312960 Mar 26 21:29 v1.25:NETAPP__:VD-1000MB-FZ-520:14323908:2104448 -rw-r--r-- 1 root wheel 1094312960 Mar 26 21:29 v1.26:NETAPP__:VD-1000MB-FZ-520:14323909:2104448 -rw-r--r-- 1 root wheel 1094312960 Mar 26 21:29 v1.27:NETAPP__:VD-1000MB-FZ-520:14323910:2104448 -rw-r--r-- 1 root wheel 1094312960 Mar 26 21:29 v1.28:NETAPP__:VD-1000MB-FZ-520:14323911:2104448 -rw-r--r-- 1 root wheel 1094312960 Mar 26 21:29 v1.29:NETAPP__:VD-1000MB-FZ-520:14323912:2104448 -rw-r--r-- 1 root wheel 1094312960 Mar 26 21:29 v1.32:NETAPP__:VD-1000MB-FZ-520:14323913:2104448 bash-3.2#
Here we see 2 shelves (0 and 1) with 14 disks apiece. Note there is no v0.23, v0.30, v0.31 or v1.23, v1.30, v1.31 disks. Can you figure out why?
See Netapp Support DOC-9579 for detailed information about how to add more disks to Simulate ONTAP.
Here is how to add another shelf (2) with 14 x VD-4000MB-FZ-520 (4 Gb) disks:
bash3-2# cd /sim/dev bash3-2# vsim_makedisks -n 14 -t 31 -a 2 Creating ,disks/v2.16:NETAPP__:VD-4000MB-FZ-520:20645500:8248448 Creating ,disks/v2.17:NETAPP__:VD-4000MB-FZ-520:20645501:8248448 Creating ,disks/v2.18:NETAPP__:VD-4000MB-FZ-520:20645502:8248448 Creating ,disks/v2.19:NETAPP__:VD-4000MB-FZ-520:20645503:8248448 Creating ,disks/v2.20:NETAPP__:VD-4000MB-FZ-520:20645504:8248448 Creating ,disks/v2.21:NETAPP__:VD-4000MB-FZ-520:20645505:8248448 Creating ,disks/v2.22:NETAPP__:VD-4000MB-FZ-520:20645506:8248448 Creating ,disks/v2.24:NETAPP__:VD-4000MB-FZ-520:20645507:8248448 Creating ,disks/v2.25:NETAPP__:VD-4000MB-FZ-520:20645508:8248448 Creating ,disks/v2.26:NETAPP__:VD-4000MB-FZ-520:20645509:8248448 Creating ,disks/v2.27:NETAPP__:VD-4000MB-FZ-520:20645510:8248448 Creating ,disks/v2.28:NETAPP__:VD-4000MB-FZ-520:20645511:8248448 Creating ,disks/v2.29:NETAPP__:VD-4000MB-FZ-520:20645512:8248448 Creating ,disks/v2.32:NETAPP__:VD-4000MB-FZ-520:20645513:8248448 Shelf file Shelf:DiskShelf14 updated
Here is the only useful documentation on the vsim_makedisks utility that I can find:
bash-3.2# vsim_makedisks -h Usage: /usr/sbin/vsim_makedisks [ -n <additional number of disks to create> ] [ -t <disk type ID> ] [ -e <additional sectors> ] [ -a <adapter on which to start populating disks> ] [ -h ] By default 5 disks will be added. The >disk type ID>> can be one of the following: (NOTE, 0 is the default) Fast Type Vendor ID Product ID Usable Size[B] Actual Size[B] Zero BPS RPM 0 NETAPP__ VD-16MB_________ 16,777,216 38,273,024 No 512 10000 1 NETAPP__ VD-35MB_________ 35,913,728 57,409,536 No 512 10000 2 NETAPP__ VD-50MB_________ 52,428,800 73,924,608 No 512 10000 3 NETAPP__ VD-100MB________ 104,857,600 126,353,408 No 512 10000 4 NETAPP__ VD-500MB________ 524,288,000 545,783,808 No 512 10000 5 NETAPP__ VD-1000MB_______ 1,048,576,000 1,070,071,808 No 512 10000 6 NETAPP__ VD-16MB-FZ______ 16,777,216 38,273,024 Yes 512 15000 7 NETAPP__ VD-35MB-FZ______ 35,913,728 57,409,536 Yes 512 15000 8 NETAPP__ VD-50MB-FZ______ 52,428,800 73,924,608 Yes 512 15000 9 NETAPP__ VD-100MB-FZ_____ 104,857,600 126,353,408 Yes 512 15000 10 NETAPP__ VD-500MB-FZ_____ 524,288,000 545,783,808 Yes 512 15000 11 NETAPP__ VD-1000MB-FZ____ 1,048,576,000 1,070,071,808 Yes 512 15000 12 NETAPP__ VD-16MB-520_____ 16,777,216 38,273,024 No 520 10000 13 NETAPP__ VD-35MB-520_____ 35,913,728 57,409,536 No 520 10000 14 NETAPP__ VD-50MB-520_____ 52,428,800 73,924,608 No 520 10000 15 NETAPP__ VD-100MB-520____ 104,857,600 126,353,408 No 520 10000 16 NETAPP__ VD-500MB-520____ 524,288,000 545,783,808 No 520 10000 17 NETAPP__ VD-1000MB-520___ 1,048,576,000 1,070,071,808 No 520 10000 18 NETAPP__ VD-16MB-FZ-520__ 16,777,216 38,273,024 Yes 520 15000 19 NETAPP__ VD-35MB-FZ-520__ 35,913,728 57,409,536 Yes 520 15000 20 NETAPP__ VD-50MB-FZ-520__ 52,428,800 73,924,608 Yes 520 15000 21 NETAPP__ VD-100MB-FZ-520_ 104,857,600 126,353,408 Yes 520 15000 22 NETAPP__ VD-500MB-FZ-520_ 524,288,000 545,783,808 Yes 520 15000 23 NETAPP__ VD-1000MB-FZ-520 1,048,576,000 1,070,071,808 Yes 520 15000 24 NETAPP__ VD-16MB-FZ-ATA__ 16,777,216 51,388,416 Yes 512 7200 25 NETAPP__ VD-35MB-FZ-ATA__ 36,700,160 73,801,728 Yes 512 7200 26 NETAPP__ VD-50MB-FZ-ATA__ 52,428,800 91,496,448 Yes 512 7200 27 NETAPP__ VD-100MB-FZ-ATA_ 104,857,600 150,478,848 Yes 512 7200 28 NETAPP__ VD-500MB-FZ-ATA_ 524,288,000 622,338,048 Yes 512 7200 29 NETAPP__ VD-1000MB-FZ-ATA 1,048,576,000 1,212,162,048 Yes 512 7200 30 NETAPP__ VD-2000MB-FZ-520 2,097,512,000 2,159,272,960 Yes 520 15000 31 NETAPP__ VD-4000MB-FZ-520 4,194,304,000 4,289,192,960 Yes 520 15000 32 NETAPP__ VD-2000MB-FZ-ATA 2,097,512,000 2,391,810,048 Yes 512 7200 33 NETAPP__ VD-4000MB-FZ-ATA 4,194,304,000 4,751,106,048 Yes 512 7200 34 NETAPP__ VD-100MB-SS-512_ 104,857,600 126,353,408 Yes 512 15000 35 NETAPP__ VD-500MB-SS-520_ 524,288,000 545,783,808 Yes 520 15000 bash3-2#
Switching topics now to how you can display a banner before the login prompt and display another banner after successful login. Displaying a banner after a successful login is not a problem as anything in /etc/motd will be displayed.
Looking at /etc/gettytab, the default termcap capability if is set to /etc/issue. This means that anything in /etc/issue will be displayed on the console before the login prompt. See FreeBSD gettytab(5) man page for more information.
default:\ :cb:ce:ck:lc:fd#1000:im=\r\n%s/%m (%h) (%t)\r\n\r\n:sp#1200:\ :if=/etc/issue:
You also need to modify the ssh daemon (sshd) configuration file to display a banner page before an ssh login prompt. The settings for sshd are located in /var/etc/ssh
bash3.2# cd /var/etc/ssh bash3.2# ls -l -rw-r--r-- 1 root wheel 88039 Oct 28 2011 moduli -rw-r--r-- 1 root wheel 1283 Mar 30 02:07 ssh_config -rw------- 1 root wheel 668 Mar 26 14:55 ssh_host_dsa_key -rw-r--r-- 1 root wheel 595 Mar 26 14:55 ssh_host_dsa_key.pub -rw------- 1 root wheel 520 Mar 26 14:55 ssh_host_key -rw-r--r-- 1 root wheel 324 Mar 26 14:55 ssh_host_key.pub -rw------- 1 root wheel 1675 Mar 26 14:55 ssh_host_rsa_key -rw-r--r-- 1 root wheel 387 Mar 26 14:55 ssh_host_rsa_key.pub -rw-r--r-- 1 root wheel 2454 Oct 28 2011 sshd_config
To display a banner before the ssh login, modify sshd_config, uncomment the Banner directive and set it to /etc/issue. Also set the hidden registry option ssh2.banner.enable to on using the options command in ONTAP shell advanced mode.
This is what is displayed after the above modifications were made and the ssh daemon restarted.
=================================== BEFORE LOGIN NOTICE =================================== login as: root root@192.168.1.20's password: =================================== AFTER LOGIN NOTICE =================================== ontap>
Note that some versions of Putty only display /etc/issue after you enter your username. This is a known issue.
Option settings are persisted in /mroot/etc/registry*
bash-3.2# ls -l /mroot/etc/registry* -rwx------ 2 root wheel 46012 Mar 30 01:14 /mroot/etc/registry -rwx------ 1 root wheel 46012 Mar 30 01:13 /mroot/etc/registry.0 -rwx------ 2 root wheel 46012 Mar 30 01:14 /mroot/etc/registry.1 -rwx------ 1 root wheel 46012 Mar 30 01:14 /mroot/etc/registry.bck -rwx------ 1 root wheel 14849 Mar 26 15:11 /mroot/etc/registry.default -rwx------ 1 root wheel 46012 Mar 30 01:13 /mroot/etc/registry.lastgood -rwx------ 2 root wheel 33572 Mar 30 01:14 /mroot/etc/registry.local -rwx------ 2 root wheel 33572 Mar 30 01:14 /mroot/etc/registry.local.0 -rwx------ 1 root wheel 33572 Mar 30 01:13 /mroot/etc/registry.local.1 -rwx------ 1 root wheel 33572 Mar 30 01:14 /mroot/etc/registry.local.bck bash-3.2#
The registry contains over 1300 entries. Here are the hidden default. entries.
bash-3.2# grep "^default" /mroot/etc/registry default.options.autosupport.ems.enable=off default.options.autosupport.enable=on default.options.autosupport.local.nht_data.enable=off default.options.autosupport.nht_data.enable=off default.options.autosupport.nht_data.max=1 default.options.autosupport.support.transport=https default.options.cf.giveback.auto.attempts.count=3 default.options.cf.giveback.auto.attempts.minutes=10 default.options.cf.giveback.auto.cancel.on_network_failure=on default.options.cf.giveback.auto.cifs.terminate.minutes=5 default.options.cf.giveback.auto.enable=off default.options.cf.giveback.auto.terminate.bigjobs=on default.options.cf.nodestatus.enable=on default.options.cf.nodestatus.read.interval.seconds=5 default.options.cf.nodestatus.write.interval.seconds=5 default.options.cf.takeover.change_fsid=on default.options.cf.takeover.detection.seconds=15 default.options.cf.takeover.on_network_interface_failure.policy=all_nics default.options.cf.takeover.short_uptime=60 default.options.cf.transit_time.seconds = 10*60 default.options.cifs.audit.autosave.file.extension=timestamp default.options.cifs.audit.autosave.file.limit=4 default.options.cifs.audit.autosave.onsize.enable=off default.options.cifs.audit.autosave.onsize.threshold=75%25 default.options.cifs.audit.autosave.ontime.enable=off default.options.cifs.audit.autosave.ontime.interval=1d default.options.cifs.audit.membufsize=65536 default.options.cifs.max_mpx=50 default.options.cifs.neg_buf_size=33028 default.options.clone.exclude=file.contents.rc%2cfile.contents.hosts%2coptions.if%2coptions.hosts%2coptions.license%2coptions.system.hostname%2coptions.vfconfig default.options.coredump.dump.attempts=2 default.options.coredump.metadata_only=on default.options.ftpd.3way.enable=off default.options.if.default.flowcontrol=send default.options.if.default.mediatype=auto default.options.if.default.trusted=on default.options.if.default.wins=on default.options.interface.blocked.mgmt_data_traffic=off default.options.lun.partner_unreachable.linux.asc=0x4 default.options.lun.partner_unreachable.linux.ascq=0x1 default.options.lun.partner_unreachable.linux.behavior=error default.options.lun.partner_unreachable.linux.hold_time=5 default.options.lun.partner_unreachable.linux.skey=0x2 default.options.lun.partner_unreachable.vmware.asc=0x0 default.options.lun.partner_unreachable.vmware.ascq=0x0 default.options.lun.partner_unreachable.vmware.behavior=error default.options.lun.partner_unreachable.vmware.hold_time=1 default.options.lun.partner_unreachable.vmware.scsi_status=0x8 default.options.lun.partner_unreachable.vmware.skey=0x0 default.options.ndmpd.connectlog.enabled=off default.options.nfs.udp.xfersize=32768 default.options.sysconfig.boot_check=on default.options.sysconfig.periodic_check=on bash-3.2#
Here are the hidden state. entries.
bash-3.2# grep "^state" /mroot/etc/registry state.admin.security.upgrade=on state.backupops.group.upgrade=true state.config.audit_refresh.last=1396141487 state.config.etc_refresh.last=1396142034 state.config.etcfiles.lastupdate.cifs_homedir.cfg=1395942242 state.config.etcfiles.lastupdate.cifs_nbalias.cfg=1395942242 state.config.etcfiles.lastupdate.cifsconfig_setup.cfg=1395942242 state.config.etcfiles.lastupdate.cifsconfig_share.cfg=1395942242 state.config.etcfiles.lastupdate.cifssec.cfg=1395942242 state.config.etcfiles.lastupdate.dgateways=1395846669 state.config.etcfiles.lastupdate.exports=1395846669 state.config.etcfiles.lastupdate.group=1395942198 state.config.etcfiles.lastupdate.hosts=1395846669 state.config.etcfiles.lastupdate.hosts.equiv=1395846669 state.config.etcfiles.lastupdate.issue=1396141261 state.config.etcfiles.lastupdate.lclgroups.cfg=1396139272 state.config.etcfiles.lastupdate.motd=1396141284 state.config.etcfiles.lastupdate.nsswitch.conf=1395846669 state.config.etcfiles.lastupdate.passwd=1395942197 state.config.etcfiles.lastupdate.quotas=1395845921 state.config.etcfiles.lastupdate.rc=1395846669 state.config.etcfiles.lastupdate.serialnum=1395925552 state.config.etcfiles.lastupdate.syslog.conf=1395941909 state.config.etcfiles.lastupdate.usermap.cfg=1395942242 state.config.etcfiles.source.cifs_homedir.cfg=local state.config.etcfiles.source.cifs_nbalias.cfg=local state.config.etcfiles.source.cifsconfig.cfg=local state.config.etcfiles.source.cifsconfig.txt=local state.config.etcfiles.source.cifsconfig_setup.cfg=local state.config.etcfiles.source.cifsconfig_share.cfg=local state.config.etcfiles.source.cifssec.cfg=local state.config.etcfiles.source.dgateways=local state.config.etcfiles.source.dumpdates=local state.config.etcfiles.source.exports=local state.config.etcfiles.source.filessid.cfg=local state.config.etcfiles.source.gateways=local state.config.etcfiles.source.group=local state.config.etcfiles.source.home_dir=local state.config.etcfiles.source.hosts=local state.config.etcfiles.source.hosts.equiv=local state.config.etcfiles.source.httpd.access=local state.config.etcfiles.source.httpd.group=local state.config.etcfiles.source.httpd.hostprefixes=local state.config.etcfiles.source.httpd.mimetypes=local state.config.etcfiles.source.httpd.passwd=local state.config.etcfiles.source.httpd.translations=local state.config.etcfiles.source.issue=local state.config.etcfiles.source.krb5.keytab=local state.config.etcfiles.source.lclgroups.cfg=local state.config.etcfiles.source.motd=local state.config.etcfiles.source.netbios_aliases=local state.config.etcfiles.source.netgroup=local state.config.etcfiles.source.networks=local state.config.etcfiles.source.nsswitch.conf=local state.config.etcfiles.source.passwd=local state.config.etcfiles.source.quotas=local state.config.etcfiles.source.rc=local state.config.etcfiles.source.resolv.conf=local state.config.etcfiles.source.serialnum=local state.config.etcfiles.source.shadow=local state.config.etcfiles.source.snapmirror.allow=local state.config.etcfiles.source.snapmirror.conf=local state.config.etcfiles.source.symlink.translations=local state.config.etcfiles.source.syslog.conf=local state.config.etcfiles.source.usermap.cfg=local state.config.refresh.last=1396142034 state.licenseupgrade.packaging=true state.nfs.exports.internal.version=2 state.optionenable.raid.disk.timeout_bsas=true state.optionenable.raid.disk.timeout_fc_ario=true state.optionenable.raid.disk.timeout_fc_ario_sata_sas_fix.enable=true state.optionenable.raid.disk.timeout_fsas=true state.optionenable.raid.disk.timeout_sata_sas=true state.optionenable.raid.disk.timeout_ssd=true state.optionupgrade.autosupport.upgrade.date=0 state.optionupgrade.bdfu.enable=true state.optionupgrade.cf.takeover.detection.seconds=true state.optionupgrade.disk_pcycle.enable=true state.optionupgrade.ftpd.native=true state.optionupgrade.lun.clone_restore=true state.optionupgrade.lun.partner_unreachable.linux=true state.optionupgrade.lun.partner_unreachable.vmware=true state.optionupgrade.ndmpd.connectlog.enabled=true state.optionupgrade.nht.enabled=true state.optionupgrade.raid.aggr.undestroy.enable=true state.optionupgrade.raid.lost.write.threshold=true state.optionupgrade.reconstruct_speed=true state.optionupgrade.shelf.fw.ndu.enable=true state.optionupgrade.wafl.maxdirsize=true state.snapvault.version=1 state.timed.converted=complete state.usage.nsm2.aggregates=1 state.usage.nsm2.network.configchecker.launch=1 state.usage.nsm2.version.2.1=1 state.useradminupgrade.rename=true state.wafltop.init=true state.wafltop.init.rr=true bash-3.2#
Turning now to an examination of what processes are running in Simulate ONTAP, we can see some interesting ouput from the ps command.
bash-3.2# ps auxw USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND root 988 99.1 0.0 0 16 ?? RL 3:06AM 47:18.32 [ontap: cpu0] root 1370 97.3 0.0 0 16 ?? RL 3:06AM 46:00.91 [ontap: cpu1] root 4 0.1 0.0 0 16 ?? DL 3:05AM 0:18.11 [g_up] root 20 0.0 0.0 0 16 ?? WL 3:05AM 0:19.53 [irq14: ata0] root 0 0.0 0.0 0 0 ?? DLs 3:05AM 0:00.02 [swapper] root 1 0.0 0.1 2180 396 ?? ILs 3:05AM 0:00.01 /sbin/init -- root 2 0.0 0.0 0 16 ?? DL 3:05AM 0:00.01 [mbfree] root 3 0.0 0.0 0 16 ?? DL 3:05AM 0:00.15 [g_event] root 5 0.0 0.0 0 16 ?? DL 3:05AM 0:17.42 [g_down] root 6 0.0 0.0 0 16 ?? DL 3:05AM 0:00.00 [kqueue taskq] root 7 0.0 0.0 0 16 ?? DL 3:05AM 0:00.00 [xpt_thrd] root 8 0.0 0.0 0 16 ?? DL 3:05AM 0:00.00 [thread taskq] root 9 0.0 0.0 0 16 ?? SL 3:05AM 0:00.04 [ECC scrubber] root 10 0.0 0.0 0 16 ?? RL 3:05AM 0:41.90 [idle: cpu1] root 11 0.0 0.0 0 16 ?? RL 3:05AM 0:22.25 [idle: cpu0] root 12 0.0 0.0 0 16 ?? WL 3:05AM 0:00.13 [swi1: net] root 13 0.0 0.0 0 16 ?? WL 3:05AM 0:02.40 [swi4: clock] root 14 0.0 0.0 0 16 ?? WL 3:05AM 0:00.00 [swi3: vm] root 15 0.0 0.0 0 16 ?? DL 3:05AM 0:00.32 [yarrow] root 16 0.0 0.0 0 16 ?? WL 3:05AM 0:00.00 [swi2: cambio] root 17 0.0 0.0 0 16 ?? WL 3:05AM 0:00.00 [swi5: +] root 18 0.0 0.0 0 16 ?? WL 3:05AM 0:00.00 [swi6: Giant taskq] root 19 0.0 0.0 0 16 ?? WL 3:05AM 0:00.00 [swi6: task queue] root 21 0.0 0.0 0 16 ?? WL 3:05AM 0:00.00 [irq15: ata1] root 22 0.0 0.0 0 16 ?? WL 3:05AM 0:00.00 [irq1: atkbd0] root 23 0.0 0.0 0 16 ?? WL 3:05AM 0:00.00 [swi0: uart uart] root 24 0.0 0.0 0 16 ?? DL 3:05AM 0:00.00 [md0] root 25 0.0 0.0 0 16 ?? DL 3:05AM 0:00.00 [cecc_logger] root 26 0.0 0.0 0 16 ?? SL 3:05AM 0:00.02 [cecc_poll] root 27 0.0 0.0 0 16 ?? DL 3:05AM 0:00.10 [pagedaemon] root 28 0.0 0.0 0 16 ?? DL 3:05AM 0:00.00 [vmdaemon] root 29 0.0 0.0 0 16 ?? DL 3:05AM 0:00.00 [pagezero] root 30 0.0 0.0 0 16 ?? DL 3:05AM 0:00.06 [bufdaemon] root 31 0.0 0.0 0 16 ?? DL 3:05AM 0:00.01 [vnlru] root 32 0.0 0.0 0 16 ?? DL 3:05AM 0:00.22 [syncer] root 33 0.0 0.0 0 16 ?? DL 3:05AM 0:00.03 [softdepflush] root 34 0.0 0.0 0 16 ?? DL 3:05AM 0:00.00 [SLQ Daemon] root 35 0.0 0.0 0 16 ?? DL 3:05AM 0:00.33 [schedcpu] root 37 0.0 0.0 0 16 ?? DL 3:05AM 0:02.62 [md1] root 46 0.0 0.0 0 16 ?? DL 3:05AM 0:00.02 [md2] root 273 0.0 0.0 0 16 ?? DL 3:06AM 0:00.00 [md3] root 373 0.0 0.0 0 16 ?? DL 3:06AM 0:00.00 [md4] root 532 0.0 0.1 2180 460 ?? Is 3:06AM 0:00.01 /sbin/devd root 619 0.0 0.4 18044 1920 ?? Is 3:06AM 0:00.00 mlogd root 620 0.0 0.5 19324 2464 ?? S 3:06AM 0:00.18 mlogd root 660 0.0 0.2 9844 1248 ?? Ss 3:06AM 0:00.10 /usr/sbin/rpcbind -L root 683 0.0 0.2 5652 1028 ?? Is 3:06AM 0:00.00 /usr/sbin/ypbind -ypsetme root 768 0.0 9.1 115328 45824 ?? Ss 3:06AM 0:04.31 notifyd root 781 0.0 0.3 15232 1408 ?? Is 3:06AM 0:00.00 sldiag_tcd root 829 0.0 0.7 25520 3476 ?? Is 3:06AM 0:00.00 /sbin/spmd root 831 0.0 0.9 27696 4516 ?? I 3:06AM 0:00.04 /sbin/spmd -z root 839 0.0 0.5 18172 2624 ?? Is 3:06AM 0:00.25 /usr/sbin/time_state -l root 843 0.0 0.4 20264 2176 ?? Is 3:06AM 0:00.01 /usr/sbin/ucoreman --log root 877 0.0 19.4 283692 97640 ?? Is 3:06AM 0:13.13 mgwd -z root 970 0.0 0.0 0 16 ?? SL 3:06AM 0:00.02 [csm small refill zo] root 971 0.0 0.0 0 16 ?? SL 3:06AM 0:00.02 [csm large refill zo] root 972 0.0 0.0 0 16 ?? DL 3:06AM 0:00.01 [BsdThreadPoolThread] root 973 0.0 0.0 0 16 ?? DL 3:06AM 0:00.01 [BsdThreadPoolThread] root 974 0.0 0.0 0 16 ?? DL 3:06AM 0:00.06 [BsdThreadPoolThread] root 975 0.0 0.0 0 16 ?? DL 3:06AM 0:00.02 [release sockets] root 989 0.0 0.0 0 16 ?? IL 3:06AM 0:00.00 [DconsoleRelay] root 990 0.0 0.0 0 16 ?? DL 3:06AM 0:00.00 [valet0] root 991 0.0 0.0 0 16 ?? DL 3:06AM 0:00.00 [valet1] root 992 0.0 0.0 0 16 ?? DL 3:06AM 0:00.01 [valet2] root 993 0.0 0.0 0 16 ?? DL 3:06AM 0:00.00 [valet3] root 994 0.0 0.0 0 16 ?? DL 3:06AM 0:00.01 [valet4] root 995 0.0 0.0 0 16 ?? DL 3:06AM 0:00.73 [valet_fio0] root 996 0.0 0.0 0 16 ?? DL 3:06AM 0:00.46 [valet_fio1] root 997 0.0 0.0 0 16 ?? DL 3:06AM 0:00.78 [valet_fio2] root 998 0.0 0.0 0 16 ?? DL 3:06AM 0:00.57 [valet_fio3] root 999 0.0 0.0 0 16 ?? DL 3:06AM 0:00.88 [valet_fio4] root 1000 0.0 0.0 0 16 ?? DL 3:06AM 0:00.83 [valet_fio5] root 1001 0.0 0.0 0 16 ?? DL 3:06AM 0:00.42 [valet_fio6] root 1002 0.0 0.0 0 16 ?? DL 3:06AM 0:01.02 [valet_fio7] root 1003 0.0 0.0 0 16 ?? DL 3:06AM 0:00.90 [valet_fio8] root 1004 0.0 0.0 0 16 ?? DL 3:06AM 0:00.68 [valet_fio9] root 1005 0.0 0.0 0 16 ?? DL 3:06AM 0:00.90 [valet_fio10] root 1006 0.0 0.0 0 16 ?? DL 3:06AM 0:00.68 [valet_fio11] root 1007 0.0 0.0 0 16 ?? DL 3:06AM 0:00.91 [valet_fio12] root 1008 0.0 0.0 0 16 ?? DL 3:06AM 0:01.54 [valet_fio13] root 1010 0.0 0.0 0 16 ?? DL 3:06AM 0:00.39 [valet_fio14] root 1011 0.0 0.0 0 16 ?? DL 3:06AM 0:00.68 [valet_fio15] root 1012 0.0 0.0 0 16 ?? DL 3:06AM 0:00.45 [valet_fio16] root 1013 0.0 0.0 0 16 ?? DL 3:06AM 0:00.69 [valet_fio17] root 1014 0.0 0.0 0 16 ?? DL 3:06AM 0:00.82 [valet_fio18] root 1015 0.0 0.0 0 16 ?? DL 3:06AM 0:00.25 [valet_fio19] root 1018 0.0 0.0 0 16 ?? SL 3:06AM 0:00.10 [spiniod 0] root 1019 0.0 0.0 0 16 ?? IL 3:06AM 0:00.00 [spiniod 1] root 1020 0.0 0.0 0 16 ?? IL 3:06AM 0:00.00 [spiniod 2] root 1021 0.0 0.0 0 16 ?? IL 3:06AM 0:00.00 [spiniod 3] root 1038 0.0 0.0 0 16 ?? SL 3:06AM 0:00.04 [nbladeReaderNoBlock] root 1046 0.0 0.5 15232 2504 ?? Ss 3:06AM 0:00.75 bip_nitro /dev/nblade root 1067 0.0 0.0 0 16 ?? DL 3:06AM 0:00.02 [ksocket worker] root 1068 0.0 0.0 0 16 ?? DL 3:06AM 0:00.03 [bsd liaison thread] root 1158 0.0 0.4 18044 2224 ?? Is 3:06AM 0:00.02 /usr/sbin/mhostexecd -D root 1255 0.0 0.3 9956 1400 ?? Is 3:06AM 0:00.01 /sbin/xinetd root 1268 0.0 0.4 15228 1824 ?? Ss 3:06AM 0:02.01 /usr/bin/vmtools --background /var/run/vmtools.pid root 1293 0.0 0.2 9840 1144 ?? Ss 3:06AM 0:00.02 /usr/sbin/cron -s www 1563 0.0 2.8 94972 14040 ?? Is 3:07AM 0:00.24 /sbin/httpd -X -DHTTPEnabled -k start root 1588 0.0 0.7 20344 3444 ?? Is 3:07AM 0:00.09 /sbin/ndmpd root 1592 0.0 7.5 101052 37728 ?? Ss 3:07AM 0:00.40 /sbin/shmd root 1596 0.0 8.2 104140 41432 ?? Ss 3:07AM 0:01.92 /sbin/nchmd nobody 1600 0.0 0.4 15228 2004 ?? Is 3:07AM 0:00.01 /sbin/mdnsd -z root 1629 0.0 0.0 0 0 ?? Z 3:07AM 0:00.00root 1673 0.0 0.2 10168 1184 ?? I 3:07AM 0:00.00 /bin/sh -c /usr/sbin/apachelog /tmp/.apache_error.lck /mroot/etc/mlo root 1674 0.0 0.3 15228 1652 ?? I 3:07AM 0:00.01 /usr/sbin/apachelog /tmp/.apache_error.lck /mroot/etc/mlog/apache_er root 1675 0.0 0.2 10168 1184 ?? I 3:07AM 0:00.01 /bin/sh -c /usr/sbin/apachelog /tmp/.apache_access.lck /mroot/etc/ml root 1676 0.0 0.3 15228 1628 ?? I 3:07AM 0:00.01 /usr/sbin/apachelog /tmp/.apache_access.lck /mroot/etc/mlog/apache_a root 1788 0.0 0.4 18044 2228 ?? Is 3:49AM 0:00.00 /usr/sbin/mhostexecd -D root 1789 0.0 0.2 10168 1200 ?? Is 3:49AM 0:00.01 /bin/sh /etc/netapp_systemshell root 1793 0.0 0.5 20056 2360 ?? S 3:49AM 0:00.03 telnet -K -Q localhost root 1794 0.0 0.5 20088 2424 ?? Ss 3:49AM 0:00.04 telnetd -a off -X sra root 1366 0.0 0.4 18044 2112 con Is+ 3:06AM 0:00.01 login /dev/cuacons.auth (ontaplogin) root 1367 0.0 0.4 18044 2112 sp. Is+ 3:06AM 0:00.01 login /dev/cuasp.auth (ontaplogin) root 1368 0.0 0.4 19324 2188 con Is+ 3:06AM 0:00.01 login /dev/console (ontaplogin) root 1795 0.0 0.3 34752 1616 p0 Is 3:49AM 0:00.02 login [pam] (login) diag 1796 0.0 0.5 13084 2424 p0 I 3:49AM 0:00.03 -csh (csh) root 1801 0.0 0.4 8012 2228 p0 S 3:49AM 0:00.03 bash root 1815 0.0 0.2 9880 1140 p0 R+ 3:54AM 0:00.00 ps auxw bash-3.2#
Why, for example, is ypbind running when NFS is not licensed? Why are telnet-related processes running when telnet is disabled?
It turns out that the telnet process is being used as a hack to enable diag to login to systemshell. See below:
bash3-2# cat /etc/netapp_systemshell #! /bin/sh # Script to verify that the diag user is not locked when running # 'systemshell' from the dbaldecli in 7mode. # This is to ensure that when presented with a login prompt, the user # is able to log in, since there is no way to exit from the login prompt # unless you log in. Ctrl-D is ignored by the console. # See Burt 355606 for details. RSLT=`ngsh -c "security login diaguser show diag" 2>&1` echo $RSLT | grep -q 'Locked: no' 2>&1 if [ $? -ne 0 ]; then echo "Unable to launch systemshell because the 'diag' user is locked." return 1 fi export TERM=xterm telnet -K -Q localhost return $? bash-3.2#
There appears to be built-in support for the power on and off features of VMware tools. See /etc/vmservices-backup-config, /etc/vmservices-poweroff-vm and /etc/vmware/tools/tools.conf.
The telnet, ssh, login and rsh daemons are controlled by the extended internet daemon (/sbin/xinetd) and the configuration file for each service is located in /etc/xinetd.d.
bash3-2# ls -l /etc/xinetd.d -rw-r--r-- 1 root wheel 993 Oct 28 2011 7_ssh -rw-r--r-- 1 root wheel 456 Oct 28 2011 7_telnet -rw-r--r-- 1 root wheel 957 Oct 28 2011 c_ssh -rw-r--r-- 1 root wheel 420 Oct 28 2011 c_telnet -rw-r--r-- 1 root wheel 373 Oct 28 2011 login -rw-r--r-- 1 root wheel 364 Oct 28 2011 shell # cat /etc/xinetd.d/7_ssh service ssh { disable = no server_args = -i -4 # server_args = -R /mroot/vserver_fs /usr/sbin/sshd sshd -i -4 socket_type = stream wait = no protocol = tcp user = root server = /usr/sbin/sshd # server = /sbin/vcontext log_on_failure += USERID instances = 50 cps = 10 60 only_from = 127.0.0.1 127.0.20.1 } # Sample for Vserver entry #service VS1 #{ # type = UNLISTED # disable = no # server_args = -i # socket_type = stream # wait = no # protocol = tcp # user = root # server = /usr/sbin/sshd # bind = 10.72.33.191 # port = 6006 # log_on_failure += USERID #}
Well, this blog post is getting way too big – so it is time to stop writing now. You should now be able to explore and modify Simulate ONTAP for yourself. I will continue posting any useful information that I discover about Simulate ONTAP as time permits.
By the way, SSH’ing into this version of Simulate ONTAP frequently fails. Apparently, it has been fixed in later versions but the only fix in the current version seems to be to either reboot the simulator or wait about 10 minutes and try again. See NetApp bug ID 608206.
Enjoy!