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.)

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

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.

<xmp>
dhcp-usca14-132-38:> shell
Executing shell commands may invalidate your service contract. Continue? (Y/N)
Executing raw shell; "exit" to return to appliance shell ...

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

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
/usr/lib/ak/htdocs/appliance
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,<a href="http://en.wikipedia.org/wiki/Ankimo">ankimo</a>
drwxr-xr-x   3 root     root           6 Nov  7 15:42 SUNW,<a href="http://en.wikipedia.org/wiki/Fugu">fugu</a>
drwxr-xr-x   3 root     root           6 Nov  7 15:42 SUNW,<a href="http://en.wikipedia.org/wiki/Sardine">iwashi</a>
drwxrwxr-x   2 root     root           5 Nov  7 15:42 SUNW,jds
drwxr-xr-x   3 root     root           6 Nov  7 15:42 SUNW,<a href="http://ja.wikipedia.org/wiki/%E5%A4%A7%E3%83%88%E3%83%AD">otoro</a>
drwxr-xr-x   3 root     root           6 Nov  7 15:42 SUNW,<a href="http://en.wikipedia.org/wiki/Octopus">tako</a>
drwxr-xr-x   3 root     root           6 Nov  7 15:42 SUNW,<a href="http://ja.wikipedia.org/wiki/%E3%83%88%E3%83%AD">toro</a>
drwxr-xr-x   4 root     root           8 Nov  7 15:42 SUNW,<a href="http://ja.wikipedia.org/wiki/%E3%82%A6%E3%83%8B">uni</a>
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 >>