Skip to main content

Under the hood of SunStorage 7000

Posted by kohsuke on January 20, 2009 at 10:55 AM PST

Playing with SunStorage Simulator

I'm a total outsider to SunStorage, even though I work for Sun. Information here shouldn't be taken as official, but rather, a perspective from just one user.

I was playing with SunStorage Simulator over the weekend. AFAIK, this is just a VMWare image of the same software that runs in real Sun Storage 7000.

Initially I found it bit odd that they provide VMWare image and not VirtualBox image (which is another Sun product), but later I realized that this is because of the lack of SCSI emulation in VirtualBox — the VMWare appliance comes with some 16 SCSI disk images to emulate the storage.

The next thing I noticed is that this appliance doesn't give you a shell access. It does run ssh, so you can remotely login, but instead of a real shell, you get aksh, which looks and feels like zoneadm (except with a different command set.)

<br />% ssh root@<br />Password: <br />Last login: Tue Jan 20 18:20:25 2009<br />dhcp-usca14-132-38:> <br />

This makes sense as an appliance, but what I wanted was to rip this apart and see how it works, so I wanted a a real shell.

The developers of SunStorage seem to be suggesting that there is indeed a shell acess, so I looked around, and after a while I eventually discovered that there's the "shell" command in this aksh to give you bash.

<br />dhcp-usca14-132-38:> shell<br />Executing shell commands may invalidate your service contract. Continue? (Y/N) <br />Executing raw shell; "exit" to return to appliance shell ...<br /><br />+-----------------------------------------------------------------------------+<br />|  You are entering the operating system shell.  By confirming this action in |<br />|  the appliance shell you have agreed that THIS ACTION MAY VOID ANY SUPPORT  |<br />|  AGREEMENT.  If you do not agree to this -- or do not otherwise understand  |<br />|  what you are doing -- you should type "exit" at the shell prompt.  EVERY   |<br />|  COMMAND THAT YOU EXECUTE HERE IS AUDITED, and support personnel may use    |<br />|  this audit trail to substantiate invalidating your support contract.  The  |<br />|  operating system shell is NOT a supported mechanism for managing this      |<br />|  appliance, and COMMANDS EXECUTED HERE MAY DO IRREPARABLE HARM.             |<br />|                                                                             |<br />|  NOTHING SHOULD BE ATTEMPTED HERE BY UNTRAINED SUPPORT PERSONNEL UNDER ANY  |<br />|  CIRCUMSTANCES.  This appliance is a non-traditional operating system       |<br />|  environment, and expertise in a traditional operating system environment   |<br />|  in NO WAY constitutes training for supporting this appliance.  THOSE WITH  |<br />|  EXPERTISE IN OTHER SYSTEMS -- HOWEVER SUPERFICIALLY SIMILAR -- ARE MORE    |<br />|  LIKELY TO MISTAKENLY EXECUTE OPERATIONS HERE THAT WILL DO IRREPARABLE      |<br />|  HARM.  Unless you have been explicitly trained on supporting this          |<br />|  appliance via the operating system shell, you should immediately return    |<br />|  to the appliance shell.                                                    |<br />|                                                                             |<br />|  Type "exit" now to return to the appliance shell.                          |<br />+-----------------------------------------------------------------------------+<br />dhcp-usca14-132-38# <br />

A few other discoveries to note:

  • There's no Java in this appliance. Ouch.
  • The browser-based UI is built on top ofa custom framework, including the widgets (see them in "https://IP-OF-THE-APPLIANCE:215/demo/"), AJAX RPCs, and judging by URLs of things, controllers too. Ouch.
  • Judging from "ls /usr/lib/ak/htdocs/appliance", whoever did this seriously like raw fish in the Japanese style :-) For those of you who don't understand Japanese, I added links to Wikipedia for what they mean (and yes! they are all edible!)
dhcp-usca14-132-38# pwd
dhcp-usca14-132-38# ls -la
total 40
drwxr-xr-x  12 root     root          12 Nov  7 15:42 .
drwxr-xr-x  10 root     root          11 Nov  7 15:42 ..
drwxr-xr-x   4 root     root           8 Nov  7 15:42 SUNW,ankimo
drwxr-xr-x   3 root     root           6 Nov  7 15:42 SUNW,fugu
drwxr-xr-x   3 root     root           6 Nov  7 15:42 SUNW,iwashi
drwxrwxr-x   2 root     root           5 Nov  7 15:42 SUNW,jds
drwxr-xr-x   3 root     root           6 Nov  7 15:42 SUNW,otoro
drwxr-xr-x   3 root     root           6 Nov  7 15:42 SUNW,tako
drwxr-xr-x   3 root     root           6 Nov  7 15:42 SUNW,toro
drwxr-xr-x   4 root     root           8 Nov  7 15:42 SUNW,uni
drwxr-xr-x   6 root     root          34 Nov  7 15:42 generic
drwxr-xr-x   8 root     root          36 Nov  7 15:42 nas
Related Topics >>