Sun

Larry Ellison about the ex-Sun management

Topics

In this Reuters.com article, Larry Ellison openhearted speaks about his view on the ex-Sun management decisions of the last years. It's quite a critical view :

"Their management made some very bad decisions that damaged their business and allowed us to buy them for a bargain price"

"The underlying engineering teams are so good, but the direction they got was so astonishingly bad that even they couldn't succeed"

Ellison shut down one of Schwartz's pet projects -- development of the "Rock" microprocessor for Sun's high-end SPARC server line, a semiconductor that had struggled in development for five years as engineers sought to overcome a string of technical problems. "This processor had two incredible virtues: It was incredibly slow and it consumed vast amounts of energy."

Ellison says he learned that Sun's pony-tailed chief executive, Jonathan Schwartz, ignored problems as they escalated, made poor strategic decisions and spent too much time working on his blog, which Sun translated into 11 languages.

At least you can't accuse Ellison of not being clear. Much is off course corporate chatter; IBMs Power7 chip runs pretty hot, and is equipped with impressive heat sinks too. The article continues to say that investment is boosting again in Sparc and OpenSolaris, but I'm afraid this will not be enough to restore faith in Solaris for many customers.

Sunset

Topics
 $ wget http://www.sun.com
--2010-02-07 19:06:09--  http://www.sun.com/
Resolving www.sun.com... 72.5.124.61
Connecting to www.sun.com|72.5.124.61|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://www.oracle.com [following]

After the official news of the approval by the EU, things changed fast. Since then, the sun.com website officially points to oracle.com. Lights out for Sun, the same for Solaris ?

Sun for sale

Topics

It's not the first time that the web is buzzing with rumours, but when it's about IBM shopping around to buy Sun, then I'm all ears. I still have a hard time believing this; both companies offer almost the same hardware product line :

  • Servers : in the high-end range, Sun has almost killed its Sparc line with their Fujitsu mockup. In the low-end, Sun is pushing customers towards their AMD Solaris-x86 line. IBM has competing products with both Power and x86.
  • OS : Sun has its Solaris Unix version, still worthy of 30% of the Unix market. Solaris-x86 is a strong competitor for Linux on Intel and AMD hardware.
  • Tape : With the STK tape libraries, Sun owns the largest competitor in this branche.
  • Storage : Sun offers mostly low-end to midrange (The Toro line looks *very* interesting) storage, so this could be an addition towards IBM storage line.
  • Software : Sun owns Java (including GlassFish and Netbeans), so this is interesting for IBM, which has a good selling WebSphere product. MySQL might be interesting too.

As you can see, Sun and IBM have many products that are up to par, and are direct rivals. Buying Sun would only be interesting if IBM is planning to kill Suns product line. I don't know the height of the pile of money IBM is sitting on, but 6.5 billion dollar is a lot of money just to gain some more foot in the Unix market, which IBM is virtually reigning already.

Would this move be good for Linux ? I think so, the demise of Solaris on x86 could drive lots of people towards Linux. On the other hand, Scott McNealy declares that he rather would sell Sun to Microsoft than to see it fall under the feet of IBM...

Multi-terabyte filesystems on Solaris

Topics

At our shop, we still use UFS as the Solaris' filesystem standard. I was puzzled when a colleague came to ask if he could use ZFS on his Solaris 10 server, because he needed a multi-terabyte filesystem, and UFS supported this, but in an awkward manner. Now, personally, I don't favor filesystems this big, because the backup alone needs special care, but sometimes some applications force you to do weird things. But I had a hard time believing that Solaris 10 couldn't support this. Seems my colleague is right :

In Solaris 10, yo need to add the -T option to newfs when trying to format a +1TB filesystem :

newfs -T /dev/rdsk/c0t1d0s1

This also will imply a hardcoded inode density, whereas each inode is 1MB big (nbpi reset to default 1048576). Which means your UFS filesystem will also only support 1 million files on your TB filesystem, which is *low*. The reason for this parameter is because a higher inode density on +TB filesystems could imply fsck times up to days. A corrupt filesystem is now a reason to invoke full disaster recovery.

AFAIK, the only possibility to change your inode settings on UFS filesystems this big, is to take the mkfs source code from OpenSolaris, change the nbpi parameter and compile it yourself.
Or change to ZFS or Veritas filesystems.

Solaris' format coredumps on EFI-labelled disks

Topics

I tracked a nasty problem on a Solaris 10 host, which refused to start up format after adding extra disks :

# format
Segmentation fault.  Core dumped.  

Tracing the format command revealed that it barfed while reading a specific disk. Using format with specific disks worked flawlessly, but with that one disk, format kept segfaulting :

# format c2t1d42
Segmentation fault. Core dumped.

Digging further into the dump, it revealed the true reason why Solaris' format was crashing :

# pstack format.s0001620.6924.core
core 'format.s0001620.6924.core' of 6924:       format -d c2t1d42
 ff2542ec _malloc_unlocked (3c78, 5f188, 5f188, 5f188, 0, 0) + 22c
 ff2540a4 malloc   (3c78, 1, 94224, 0, ff2e8284, ff2f09b0) + 4c
 ff240e68 calloc   (1, 1, 3c78, 0, 0, 0) + 58
 ff350aac efi_alloc_and_read (5, ffbfe64c, 3c00, 1356c, 0, ff364000) + 24
 0001f6c4 read_efi_label (5, ffbfe6b8, 0, 0, d, 543f0) + 8
 0002d8c0 ???????? (ff315a12, ffbfee68, ffbfe8ec, 5, 54360, 0)

Apparently, format was choking while trying to read an efi label. An octal dump of the disk also revealed the label :

# od -c /dev/rdsk/c2t1d42s2|more
0000000  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
*
3140000   I   A   6   4   _   E   F   I  \0  \0  \0  \b  \0  \0  \0  \0
3140020  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0

Fact is that Solaris cannot cope with (probably corrupt) EFI labels; there are some patches lying around for x86, but this is a sparc machine, with no patches apparently :
"It's a nasty series of bugs that apparently have been lingering around since 1993, and were never completely fixed. Nowadays they are obscure bugs, and if you look into bugs.opensolaris.org, for most of them there is no fix, on SunSolve there is no patch, etcetera, etcetera."

Metainit : no such file or directory

Topics

Solaris Disksuite is quite straightforward, but the error messages it spews are sometimes beyond comprehension. I was about to create a concat of 3 LUNs when I encountered this error :


# metainit d200 3 1 c0t1d97s0 1 c0t1d98s0 1 c0t1d99s0
metainit: eriador: d200: No such file or directory

It seems that the limit on metadevices is in the configuration file /kernel/drv/md.conf I had to change the "nmd" parameter from 128 to 200 to give me enough metadevices for my configuration, that is, if I wanted to keep the d200 naming (Changing kernel driver files requires a reboot, too).

The simplest solution here was to choose a lower number for the concat metadevice :


# metainit d70 3 1 c0t1d97s0 1 c0t1d98s0 1 c0t1d99s0
d70: Concat/Stripe is setup

LD_LIBRARY_PATH for setuid binaries

Topics

A colleague and I got a bit surprised when on a stripped Solaris, a program refused to work cause it couldn't find a shared library. But even after setting the LD_LIBRARY_PATH environment variable, the program behaved in the same way. In cases like that, one should try to modify the global ld path, which is /etc/ld.so.conf on Linux, but that file is not present on Solaris. Even greater frustration arose when it turned out that setud binaries cannot be trussed, so no list of syscalls to find out where the program is looking for its libraries.

Turns out that the use of LD_LIBRARY_PATH is restricted for setuid and setgid programs, as part of the Trusted Solaris environment. However, the list of shared library directories can be extended to the list of trusted directories in /var/ld/ld.config by use of the crle command.