Solaris 10 blooms into the open.
Solaris on x86 has traditionally been the butt of a lot of bad jokes and criticism, and rightfully so. It was sluggish and unresponsive– earning it the nickname “Slowlaris” in the mid-to-late ‘90s; its support by Sun and third-parties paled in comparison to its sibling, Solaris for SPARC; and to add insult to injury, Sun eventually pulled Solaris on x86 off the shelf entirely, abandoning its die-hard user community in the process. With Solaris x86 out to pasture, the only providers of a commercial-grade Unix for Intel-based systems were SCO or any number of small commercial BSD vendors (such as BSDI), none of which exist today.
As Linux gained momentum in the last five years or so, displacing many Unix installations in its wake, including costly SPARC systems, Sun realized its colossal mistake relegating Solaris x86 to a second class citizen and decided to bring it back from the dead, in the form of Solaris 9 x86.
Now the release of Solaris 10 represents a major sea change for Sun, because it’s first version that has parity with the SPARC version in technical support and development effort and is first release to be sold and certified on Sun’s latest Intel-compatible hardware on a large scale, as Sun has a technology partnership with AMD to develop 64-bit servers based on the Opteron platform. Solaris 10 supports all the 64-bit features of that CPU. And last but not least, all of Solaris 10 has been released under a new Open Source license, the CDDL, hopefully bringing about an entirely new prosperous age in community software development.
During the course of the last six months, I’ve looked at various beta builds of Solaris 10 as part of the Solaris Express program. For my tests, Sun provided me with an Opteron-based, dual-processor Sun W2100z workstation.
The installation process is fairly strightforward: boot with the installation CD, choose either a graphical or text-based installer, answer some key questions about the hardware using a menu-driven guide, choose from a number of default installation sets or customize your software selection, and start feeding in all 4 CDs. While the interactive GUI installer is straightforward and easy to use, I felt it clearly lagged behind in development and stability from the text-based version and lacked the level of control in device configuration found in the text-based installer. Moreover, compared to other GUI-based installers I’ve seen in various commercial versions of Linux, the Sun GUI installer was somewhat sluggish side. Solaris die-hards tell me that the text installer is still the way to go.
Once Solaris 10 was installed, however, it was all smooth sailing, for the most part. The system was very responsive, particularly in filesystem and network performance. On the same hardware, I tested three different AMD64-based Linux distributions using recent 2.6.x kernels, and in various two-way file transfer tests of increasing size using FTP, Samba 3.x, and Apache 1.3 and 2.0 HTTP servers, I found Solaris 10 to be anywhere from 20 to 50 percent faster than Linux, and these speed improvements persisted even when we brought the system RAM down from 4 GB, to 2GB, and even to 1 GB.
I also found considerable client-side speed advantages to using Solaris 10 as a workstation as well, provided one actually installs some useful client software on it. Solaris 10 comes pretty much bare bones with an aging CDE GUI that was at its best ten years ago. (Solaris 10 comes with a modern desktop environment called the Java Desktop System, which each user can choose at login. However, CDE is still the default desktop.) Those looking for modern GNOME and KDE desktops and end-user applications and tools found on common Linux distributions should look at http://www.blastwave.org rather than Sun (see the March 2005 “On the Desktop” column, online at http://www.linux-mag.com/2005-03/desktop_01.html).
Be advised however that many of the video drivers in Solaris 10’s new Xorg-based X11 system are in a beta state, and don’t currenty support some of the more advanced features found in Linux’s Xorg/XFree86 drivers. My Sun W2100z’s nVidia Quadro 3000 card, while able to display in its highest native resolution, was not fully accelerated and also lacked the improved font rendering features of its Linux cousins. However, newer drivers with better support for the more advanced features of graphics cards are reportedly on their way, and may even be ready by the time you read this.
System administrators will surely enjoy the Solaris Management Console 2.x (SMC), which allows you to graphically and easily manage many aspects of the system, including the display of critical resource information, processes and performance, managing user accounts, system tasks, and configuring system devices and hardware. Dtrace, a powerful application performance monitoring command-line utility with its own awk- based scripting language, is able to isolate over 37,000 diffferent test points in the Solaris kernel, and is new with Solaris 10. Another new feature, Solaris Fault Management, which includes Dynamic Self Healing, is able to monitor and report system abnormalities and isolates failing system components to prevent a complete system failure and catastrophic data loss.
But perhaps the most compelling new feature is Solaris Containers, a tool that allows you to virtualize and isolate many iterations of the Solaris environment (it can be upped to thousands) within a single, centeralized server, a similar but more powerful implementation than User Mode Linux, and far less resource intensive than IBM’s LPAR in AIX 5L. A container can have its own IP address, its own filesystem space, its own users and system administrators, its own applications, and can interact with other containers and servers though their own network services. Solaris Containers alone may cause Internet and application service providers to think twice before casting Solaris aside in favor of Linux distributions for certain applications.
As of Solaris 10’s initial release, however, the tool for container creation and administration was command-line based. I’d like to see something more graphical and easier to use, perhaps something along the lines of the web-based tools provided with VMware ESX server for virtual machine creation and management. (Sun says that a web-based tool is in the works.)
Other new features planned for Solaris 10 but not in the initial release include the Zetabyte File System, or ZFS, and the Linux Application Environment (LAE, formerly called JANUS).
ZFS is a completely new network file system internally developed at Sun that allows Solaris to pool storage resources among many distributed systems and dynamically provide file system services to the user. Need more disk space? Just ask ZFS to pull more space off a drive on another Solaris box. ZFS will likely be included in the first Solaris update in the second half of 2005.
LAE is technology that will allow Solaris to execute (as opposed to emulate) native Linux ELF binaries at native speeds with kernel-level ABI support, thus providing true Linux application compatibility. LAE will likely come with a suite of libraries that allow applications written for selected Linux distributions to run out of the box. If the feature works as promoted, it could mean a whole new life and user base for Solaris, and could give some of the Linux distributions a run for their money. The technology is nothing new– SCO provided a similar feature, the Linux Kernel Personality with OpenUNIX 8 way back in 2000, but it never really took off, although it worked perfectly. With Solaris now becoming open source, I hope the Linux community and Solaris users take to this feature like flies on you-know-what.
Bottom Line: Buy
All in all, after putting Solaris 10 through its paces these last few months, I’m happy to say that Solaris is no longer a second class citizen anymore at Sun. And with its compelling feature set, the operating system is well worthy of further attention by the Open Source community and the Linux faithful.
Solaris 10 for x86 has tremendous potential, but it’s up to Sun to continue to support it to shake its legitimately-gained poor reputation and foster a thriving developer and end-user community.