Archive for August, 2009

SX:CE EOL; or, The Great Mistake

Thursday, August 27th, 2009

I’ve been exceedingly slow, despite prodding, to respond to the announcement of Solaris Express Community Edition’s (SX:CE) end-of life. I have been largely because I’ve warned against it many times before, and I shall explain my thoughts on the matter again…

The death of SX:CE represents the end of an era. The cornerstone of any distribution is its installer(s) and packaging. Consider Debian or Red Hat or SuSE. Fundamentally they are all the same; with all the “default” tweeks and installation preferences you can perfectly replicate the experience of one with another, the core difference lay in their packaging (RPM, apt-get, etc) and their installers (Anaconda, YaST, etc.). SX:CE has served a very special purpose of giving us the latest Solaris bits while maintaining the old tried and true distribution. Chucking SX:CE is closing the door on the ways and means we’ve used to manage systems for over a decade.

Now, you may argue that the Solaris PKG format, Jumpstart, and the legacy installer are terrible, horrible, ghastly things that deserve to die the death… and you may just have a point. But they have one thing that their successors, IPS, Caiman, AI, etc, don’t have…. maturity. I don’t bash Solaris often, so gather round, these opinions are well known by the authors of these technologies.

Caiman is a pretty installer, but its terribly immature and certainly not production ready. Come on, there isn’t even a text driven version of it! It’s GUI only! Ridiculous!

IPS is a novel packaging format, but its very young and very fragile. Implementing it in Python has been a constant thorn in the developers sides (that is to say, users give them an exceedingly hard time about it). It makes Sparse Zones impossible and installation of Zones on an IPS system involves re-pulling packages from the network repository, meaning that if the network or the packaging server is down, you can’t install zones. Plus, its a very painful system to create packages for, very unintuitive… novel, but unintuitive and frustrating to new packagers.

The Automated Installer (AI) will replace Jumpstart. Jumpstart itself is frock with problems. Its complicated and difficult to understand because its not integrated (meaning, with Jumpstart you manage NFS, TFTP, DHCP/PXE, plus the Media and various pre,post,finish scripts separately but to work in harmony, which takes a long time to get good at). Never the less, AI has so far shown to be immature and fragile. Conceptually I love the architecture of AI, because unlike Jumpstart it is a very integrated system which makes it simple and more straight forward to manage. Never the less, enterprise environments have done the hard work, trained their people, and know and trust Jumpstart despite its failings. AI isn’t nearly there.

What am I saying? OpenSolaris (meaning, Indiana) is a fabulous desktop/laptop distribution, but it is a horrific excuse for a server OS. I’ve warned against this for years. Sun has really focused on the laptop experience in order to whoo Linux users over to OpenSolaris, but all the while Linux users have been abandoning their PC/Linux laptops for Mac’s. We fought the wrong fight.

Untill the EOL announcement all this has been academic. We had both options available to us. Want Nevada with the old distribution? SX:CE. Want Nevada with the new distribution? OpenSolaris. Everyone is happy. There is balance in the universe…. no longer. So now the choice is less friendly, embrace OpenSolaris lock, stock and barrel or abandon it for the comfort and safety of Solaris 10.

My long held opinion is that SX:CE shouldn’t be killed, but instead it should become Solaris 11. OpenSolaris can continue to do its thing for desktop users, but give enterprise environments what they need to continue using the platform. One day, I hope, all the kinks and immaturity will be worked out of the new distribution, but it hasn’t happened yet, not by a long shot. I’ve held to a delusion that it wasn’t a big concern, really, because Oracle would come in and slap some sense into the roadmap, but no signs have yet suggested that to be the case. We can only hope that by year end something pans out.

My message to the powers that be at Sun… I love ya, I love Solaris, but don’t take this from us. Please, please just don’t.

The “Science” of Motivation

Tuesday, August 25th, 2009

If your interested in motivation and management, this TED talk is really interesting. Interesting primarily because it says what most of us already know.

What would you prefer? To get paid $80,000 a year in a supportive and fullfilling environment or get paid $100,000 in a dull one where you feel alone?

Brings to mind the IBM Songbook. Keeping employees motivated and esprit de corpse high, while maintaining a balance of order and freedom seems a tough line to walk.

Coming Soon….

Monday, August 24th, 2009

Just came across two books set for release later this year:

and…

You can find them listed on Amazon already. Should make a good addition to the existing Solaris series of books.

US DoJ Approves Sun/Oracle Deal

Sunday, August 23rd, 2009

Oracle reported that U.S. Department of Justice Approves Oracle Acquisition of Sun. This leaves the final hurdle to be blessing from the European Commission.

Know Your Surroundings: SMBIOS

Saturday, August 22nd, 2009

Some time ago I discussed The Joy of IPMI. IPMI is a handy want of interacting with the Baseboard Management Controller (BMC) on enterprise class systems to retrieve information such as sensor data, event log, and even Serial over LAN (SoL, poor mans console). IPMI can also help you identify components in the system but isn’t the best means of doing so. This is where SMBIOS comes in and can complete the picture.

System Management BIOS (SMBIOS) is a DMTF specification that can give you extended information about a system. Here’s how its put by the DTMF:

The information is intended to allow generic instrumentation to deliver this information to management applications that use DMI, CIM or direct access, eliminating the need for error prone operations like probing system hardware for presence detection.

Put another way, it’s an easy way to get the lay of the land.

Using SMBIOS on Solaris is easy, using the cleverly named smbios command. If you simply run the command with no args you’ll get a flood of information which makes no sense at first glance. Here is an example:

$ smbios
ID    SIZE TYPE
0     68   SMB_TYPE_BIOS (BIOS information)

  Vendor: American Megatrends Inc.
  Version String: 0ABJX039
  Release Date: 04/11/2007
  Address Segment: 0xf000
  ROM Size: 1048576 bytes
  Image Size: 65536 bytes
  Characteristics: 0x17c0bda90
        SMB_BIOSFL_ISA (ISA is supported)
        SMB_BIOSFL_PCI (PCI is supported)
        SMB_BIOSFL_PLUGNPLAY (Plug and Play is supported)
        SMB_BIOSFL_FLASH (BIOS is Flash Upgradeable)
        SMB_BIOSFL_SHADOW (BIOS shadowing is allowed)
        SMB_BIOSFL_ESCD (ESCD support is available)
        SMB_BIOSFL_CDBOOT (Boot from CD is supported)
        SMB_BIOSFL_SELBOOT (Selectable Boot supported)
        SMB_BIOSFL_ROMSOCK (BIOS ROM is socketed)
        SMB_BIOSFL_EDD (EDD Spec is supported)
        SMB_BIOSFL_I5_PRINT (int 0x5 print screen svcs)
        SMB_BIOSFL_I9_KBD (int 0x9 8042 keyboard svcs)
        SMB_BIOSFL_I14_SER (int 0x14 serial svcs)
        SMB_BIOSFL_I17_PRINTER (int 0x17 printer svcs)
...

If you just dump the whole output to a file and start grepping around you’ll find interesting information within…

$ smbios | grep DIMM
  Location Tag: DIMM0
  Form Factor: 9 (DIMM)
  Device Locator: DIMM0
  Location Tag: DIMM1
...
$ smbios | grep Sun
  Manufacturer: Sun Microsystems
  Product: Sun Fire X4100 M2
  Manufacturer: Sun Microsystems
  Product: Sun Fire X4100 M2
  Manufacturer: Sun Microsystems
...

So you can see that there is interesting data in there… but how do we get it in some more palatable form?

The DMTF standard breaks down the data available from SMBIOS into “types”. If you download the System Management BIOS Reference Specification you can get all sort of details on data available based on type. Each type is assigned an integer. Some are required and some are optional. Here are the required types:

  • BIOS Information (Type 0)
  • System Information (Type 1)
  • System Enclosure (Type 3)
  • Processor Information (Type 4)
  • Cache Information (Type 7)
  • System Slots (Type 9)
  • Physical Memory Array (Type 16)
  • Memory Device (Type 17)
  • Memory Array Mapped Address (Type 19)
  • Memory Device Mapped Address (Type 20)
  • System Boot Information (Type 32)

The smbios command accepts the type number as an argument, so we can thus hone down the output to what we really want, for instance to get just the “System Information” we nab type 1:

$ smbios -t 1
ID    SIZE TYPE
1     173  SMB_TYPE_SYSTEM (system information)

  Manufacturer: Sun Microsystems
  Product: Sun Fire X4100 M2
  Version: To Be Filled By O.E.M.
  Serial Number: XXXXXXXXXXXX                      

  UUID: 00000000-0000-0000-0000-00144fXXXXXXXX
  Wake-Up Event: 0x6 (power switch)
  SKU Number: To Be Filled By O.E.M.
  Family: To Be Filled By O.E.M.

Let me note that the information above is correct, and the X’ed out Serial Number is in fact the correct one that Sun Support would want. In the case of Dell PowerEdge servers that I’ve tested the “Serial Number” was the Dell Service Tag. This alone is handy dandy, but lets try the System Slots, Type 9. This time I’ll run the command on my home white-box workstation:

$ smbios -t 9
ID    SIZE TYPE
32    17   SMB_TYPE_SLOT (upgradeable system slot)

  Location Tag: J6B2

  Reference Designator: J6B2
  Slot ID: 0x0
  Type: 0xa5 (PCI Express)
  Width: 0xd (16x or x16)
  Usage: 0x4 (in use)
  Length: 0x4 (long length)
  Slot Characteristics 1: 0xc
        SMB_SLCH1_33V (provides 3.3V)
        SMB_SLCH1_SHARED (opening shared with other slot)
  Slot Characteristics 2: 0x1
        SMB_SLCH2_PME (slot supports PME# signal)

ID    SIZE TYPE
33    17   SMB_TYPE_SLOT (upgradeable system slot)

  Location Tag: J6B1

  Reference Designator: J6B1
  Slot ID: 0x1
  Type: 0xa5 (PCI Express)
  Width: 0x8 (1x or x1)
  Usage: 0x3 (available)
  Length: 0x3 (short length)
  Slot Characteristics 1: 0xc
        SMB_SLCH1_33V (provides 3.3V)
        SMB_SLCH1_SHARED (opening shared with other slot)
  Slot Characteristics 2: 0x1
        SMB_SLCH2_PME (slot supports PME# signal)
...

Direct your eyes to “Usage”, you can see the fist 16x PCI Express slot is “in use” (my NVidia Graphics Card), the second PCI Express 1x is “available”.

If you haven’t figured it out already, the prtdiag command gets its data largely from SMBIOS:

$ prtdiag
System Configuration: Sun Microsystems Sun Fire X4100 M2
BIOS Configuration: American Megatrends Inc. XXXXXXXXX 04/11/2007
BMC Configuration: IPMI 1.5 (KCS: Keyboard Controller Style)

==== Processor Sockets ====================================

Version                          Location Tag
-------------------------------- --------------------------
Dual-Core AMD Opteron(tm) Processor 2216 CPU 1
....

SMBIOS, when use in conjunction with IPMI and Solaris KStats, can provide a lot of very fine grained data about your systems that can really make your monitoring applications shine. Play around and have fun.

SX:CE Build 121 Released

Saturday, August 22nd, 2009

I’ve gotten out of the habit of posting on each Build release, but snv_121 is a pretty important one. Several good things have converged, such as Crossbow fixes, ZFS improvements and bug fixes, some more COMSTAR goodness and now xVM 3.3 integration. I’m excited and would love to see lots of testing on this release from the community. Check it out! This is, in my mind, a milestone release.

What do you want to read?

Sunday, August 16th, 2009

Technical posts have flat lined in this blog and I’ve prided myself on staying more technically focused than other Solaris/UNIX blogs…. but I admit, I’m running out of ideas! So I’m reaching out to you, my readers…. what do you want me to write about?