When eWEEK Labs first reviewed Sun Microsystems Solaris 10 early last year, we were impressed by the new facilities the operating system offered for better serving up applications and making the most of the SPARC and x86 hardware on which it runs. With this summers Solaris 10 update, labeled 6/06, Sun has significantly improved on its already excellent operating system with the addition of the much-heralded Zettabyte File System.
While our most recent testing experience with Solaris was a good one, we would like to see Sun put more work into creating the sorts of graphical administration tools that can expose the value of Solaris to newcomers to the platform—a group whose potential size has grown enormously due to Suns aggressive entry into the commodity x86 system space.
Current Solaris shops will benefit from the ZFS bits that make their official debut in Solaris 10 6/06 and should take this release for a spin. Whats more, Solaris 10 6/06 is well worth considering—and certainly worth evaluating—at sites running Linux- and Unix-friendly applications, which the latest release should manage to serve with aplomb.
ZFS Adds Zip
ZFS is the next-generation, 128-bit file system that Sun has been talking about since before Solaris 10 first shipped. Based on our experience so far, ZFS was worth the wait. ZFS is designed to make storage management on Solaris more like memory management. For example, with ZFS, adding a new RAM chip to a system does not require partitioning or explicit allocation operations—you just add the RAM stick, and the operating system figures out how to use it.
With ZFS, administrators create storage pools out of physical disks and then create file systems that draw storage from these pools. Theres no need to preallocate sizes for ZFSes—the file systems draw from the pools as needed. We could, however, assign quotas within our ZFS pools to ensure that particular file systems had enough storage to meet their needs.
One of the most impressive things about ZFS is how easy it is to use.
Early in our testing, when we configured the base UFS (Unix file system) partitions on which we installed Solaris, we allocated too little space for the /opt directory, in which we ended up installing a large number of new software packages. When we hit an out-of-space error, we took the opportunity to convert one of the drives wed left unused during installation to create a ZFS pool and use the entire pool as a new storage location for our swollen /opt directory.
Later, when we wanted to shuffle the organization of the pool wed created, we made a snapshot of the pool and created a new file system within the pool based on the snapshot. We then mounted that new file system—also known in ZFS-speak as a dataset—as /opt and proceeded to create a handful of other datasets on our pool.
We were further pleased to find that we could carry out all these ZFS operations through a Web management interface that was easy to navigate and use. Whats more, the Web interface helpfully displayed the command-line command it was issuing. This let us get up and running right away while helping us to eventually leave the GUI behind in favor of faster and more flexible terminal-based access.
This initial iteration of ZFS certainly impressed us, but theres more work to be done. At this point, for example, ZFS cant serve as the root file system for a Solaris 10 installation. Also still in the works is support for ZFS encryption. (For more information on Solaris 10s ZFS, see www.opensolaris.org/os/community/zfs.)
One of Solaris 10s biggest competitive advantages is its built-in operating system virtualization feature, known as Containers.
Solaris Containers enable administrators to create virtual Solaris instances for security isolation or server consolidation, but to do so with a set of distinctive administration advantages. Chief among these advantages is the provision for managing resource allocations among guest instances (nonglobal zones, in Solaris parlance).
During tests, weve been pleased with the capabilities of Solaris Containers, and were looking forward to the inclusion of Linux-branded zones and CPU caps—both of which Sun has promised for an upcoming Solaris release.
However, wed like to see Sun make Containers easier to use, adding, for instance, support for supplying zones with DHCP (Dynamic Host Configuration Protocol) addresses through NAT (Network Address Translation), in the way that VMwares VMware Server and Workstation products now do. (In the meantime, weve come across a worthwhile blog that supplies information on how to provide Solaris zones with NAT addresses: www.blogs.sun.com/ford/entry/using_nat_in_the_global.)
Solaris 10 supports x86, x64 and SPARC platforms. We tested Solaris 10 6/06 on Suns Sun Fire x4200 server powered by an Advanced Micro Devices Opteron processor and 7GB of RAM.
In the 6/06 release of Solaris 10, Sun has added support for PCI Express devices on the x86 platform—an important addition for server- and workstation-class systems. This latest Solaris release also adds support for the Predictive Self-healing feature on x64 systems.
In the January 2006 Solaris 10 update, Sun began shipping GRUB (Grand Unified Bootloader) as the default bootloader for Solaris x86. We welcome this addition because GRUB is the standard bootloader for Linux distributions and one with which were familiar.
Sun maintains a hardware compatibility list at www.sun.com/bigadmin/hcl.
Pricing and Support
Solaris 10 6/06 is free to download and runs on any number of machines; security updates are freely available as well. Sun does charge for service agreements. This pricing setup contrasts with Microsofts Windows Server, Novells SLES (SUSE Linux Enterprise Server) and Red Hats RHEL (Red Hat Enterprise Linux), each of which has per-system fees.
Suns Solaris service plans (which are outlined in detail at www.sun.com/service/serviceplans/solaris/index.xml) are priced at $120, $240 and $360 per socket per year for basic, standard and premium plans, respectively.
In the most recent Solaris release, Sun has introduced PostgreSQL as an integrated database option. In the 6/06 release, PostgreSQL can be managed with Solaris 10s Service Management Framework, and Sun now offers support for running the software.
PostgreSQL used to come on the CD included with Solaris 10, and the companion CD remains a source of a good many software packages that fall outside the official Solaris release. These packages include KDE 3.1.1, which can replace the fairly long-in-the-tooth GNOME 2.6-based desktop thats installed by default on Solaris 10.
Other good sources of Solaris 10 software are the volunteer-run Blastwave.org and Sunfreeware.com Web sites. During tests, we installed several Blastwave packages, using that projects pkg-get utility (which is similar to the Debian APT (Advanced Packaging Tool) that we favor from the Linux world). Blastwave is a worthwhile resource and does not overwrite default Solaris applications, but its a bit tricky to configure initially.
Since we last reviewed Solaris, Sun has added a facility—called the Sun Update Manager—for fetching and installing updates over the Internet. Wed like to see this tool expanded to allow for installing Solaris packages such as those from the Solaris companion CD and Blastwave. The software installation frameworks featured in several Linux operating systems, chiefly Debian/Ubuntu, represent a real competitive advantage for those platforms, and wed like to see Sun offer something similar for Solaris.
Sun offers up voluminous, well-written Solaris documentation at docs.sun.com/app/docs/prod/solaris.10. So much documentation is available, in fact, that it can be difficult to navigate it all.
Advanced Technologies Analyst Jason Brooks can be reached at firstname.lastname@example.org.