Why am I writing this?
After reading reviews from ArsTechnica and phoronix.com about OpenSolaris, here is what I know about OpenSolaris based on those two reviews:
1.That OpenSolaris uses the LiveCD format similar to Ubuntu and Knoppix.2.That the OpenSolaris community has improved the installer to make a more "friendly" installation experience.
3.That the Gnome desktop environment is used and includes the standard assortment of desktop applications, except for office software (OpenOffice).
4.That OpenSolaris doesn't ship with the latest and greatest applications.
5.That hardware support is still a problem.
6.That Sun has a long way to go before the reviewers are happy with OpenSolaris.
What I did not find in either article:
1.Any significant attention paid to ZFS as the default filesystem other than the mention of it in the ArsTechnica piece.2.What network hardware was used by Ryan Paul in the ArsTechnica article that he had trouble with.
3.That bash replaced the Bourne shell as the shell for root and ksh was upgraded to ksh93.
4.What is included under /usr/gnu.
5.What did not ship with OpenSolaris that would normally be associated with Solaris or Solaris Express.
6.No mention of root as a role or how to change it.
While the phoronix review was conducted with a preview release of OpenSolaris, the ArsTechnica article was published a week after the release. Neither review goes into much depth beyond the GUI, installed applications and a list of wishes and complaints. While this might be acceptable to some, I was hoping for something more than a quick look to see if OpenSolaris is in parity with Ubuntu or Fedora as a desktop OS.
Starting OpenSolaris
Using the Live CD has one distinct benefit and that is the Device Driver Utility, running this tool identifies the hardware in your machine and shows you where you could have problems in terms of device support based on the drivers that ship with OpenSolaris. If your hardware is not supported than all you have wasted is the time to download OpenSolaris and burn it to a CD.
Installation
I had minor difficulties when attempting to install OpenSolaris on my Gateway 7405 GX laptop that had a NTFS partition where if I selected "Use whole disk" the installation would fail. Selecting partition the disk allowed me to proceed with the installation. The installation routine starts off with two selections about language that are text screens, once those selections are made the graphical installer runs and the rest of the installation is performed through the installer.
While some are happy with the progress that Sun has made with the installation routine, others still complain that the first part of the installation routine is text based. I do not see a problem with the installation routine at all. This is not just because I have used Sun products for years and have become used to the install routine. The install program is simple and straightforward, I don't see the need to improve something that works.
Bash as a root shell
One the major changes from Solaris and Solaris Express is using bash as the shell for the root user as opposed to the Bourne shell, which has been a part of Solaris since version 1. I do not spend that much time as root to justify a shell with an increased level of usability since the vast majority of the administration I perform is at the sysadmin group level (14). For those who want to change the shell back to /bin/sh, or whatever you like is a two step process, the first is to remove root as a role using the following command:
rolemod -K type=normal rootOnce that is done, using usermod -s, you can change the shell for root to the desired shell.
The /usr/gnu directory tree
Checking under the hood one finds /usr/gnu, where GNU specific utilities can be found. The complaints I mostly hear are for gtar (/usr/bin/gtar), autoconf which is not part of the distribution or available at pkg.opensolaris.org, and neither is automake, but that can be downloaded from pkg.opensolaris.org. For some software that is written specifically to be compiled under Linux or with the complete GNU tool chain, there is potential for problems since the tool chain might not be complete enough depending on what you are trying to compile.
Getting On the Net and configuring interfaces
One of the many things people complained about, including Ryan Paul of ArsTechnica is the difficulty in getting an OpenSolaris machine on the network and to access the Internet. For the purposes of writing this review I used two machines to compare and contrast setting up networking. The first one is a home built Pentium IV machine using an Asus motherboard with 1.5 GB of memory, 2 250 GB Western Digital IDE disks, an ATI Radeon 9100 AGP card, and a Intel Pro/1000 PCI NIC. The second machine is a Gateway laptop with an Athlon 64 CPU, 1.25 GB of memory, a 60 GB 7200 RPM hard disk, a ATI Mobility Radeon 9600 video card, a VIA Rhine II 10/100 NIC, a Broadcom internal wireless card and a Proxim Orinoco Gold PCMCIA wireless card.
Using the Pentium IV rig nwamd set up my Intel Pro/1000 NIC to an IP address of 192.168.1.180 using the DHCP server OpenSolaris runs (at the time I installed OpenSolaris on this machine I did not use DHCP on my router), the entries for DNS were wrong, and as a result I had only local network connectivity. I modified the /etc/resolv.conf to populate the file with good DNS servers and modified the hosts entry of /etc/nsswitch.conf and was immediately able to access the Internet.
The Gateway laptop's internal Broadcom wireless and the VIA Rhine II 10/100 interfaces had no drivers, but the Proxim Orinoco Gold PCMCIA card was recognized by OpenSolaris and ready for use, discovered my wireless access point and I was prompted for my WEP key. Once that was supplied the machine received an IP address from my router after starting the DHCP server and my laptop was on the network.
Using ips
When I wanted to compile iozone to run some benchmark tests against ZFS volumes, I discovered that gcc was not included as part of the OpenSolaris LiveCD. The standard answer for a Solaris user would be to use either Steve Christainsen's SunFreeware or Dennis Clarke's BlastWave to get gcc, with OpenSolaris there is the Image Packaging System which is new to OpenSolaris. Checking with the web site pkg.opensolaris.org I found gcc was available and to download and install the package took one command from a term window:
pkg install SUNWgccThe package was downloaded and installed successfully, and running which gcc produced the result of /usr/bin/gcc. For those who prefer a graphical tool, a package manager is included as part of the desktop. While there are some people who think a graphical package management tool is a necessity, Michael Larabel states "and expecting some users to use the command-line to install packages is not an option". I don't agree with that assessment at all, I see it as a nice to have since the command line version works from either a term window or the console if you have Gnome shut off. It simply comes down to a matter of personal preference and what you are trying to achieve.
While ips may appease Linux users for now, the bigger question is how long will it be before the standard complaint about Sun's repository not having the latest software comes up. That question was answered by both Ryan and Michael in their respective articles where they pointed out that Gnome was not as up to date as Ubuntu and Fedora. The real question is whether the difference between the versions provide so much increased functionality that it would be a show stopper for users, or is it just more complaining?
Sun tends to be a little conservative when it comes to adding software to Solaris, and I don't see the trend changing with OpenSolaris. I see this as good because I would rather have a stable platform that works than one that has all of the latest software that doesn't work.
ZFS as the default filesystem
The biggest, and, for many, the most anticipated change is using ZFS as the default filesystem over UFS, the current standard for Solaris. This is the feature I have been waiting for Sun to put into Solaris for some time. I recently had to replace a bad disk in a ZFS mirror on one of my production systems at work, and there is nothing I like more than detaching the bad disk with a single command, removing the bad disk from the system and replacing it with the new disk and attaching it with a single command. Anyone having experience with Solaris Volume Manager or Solstice Disk Suite will quickly appreciate what ZFS brings to the table in terms of ease of administration of volumes.
ZFS performance
A lot has been said about the performance of ZFS, in many cases people have said the performance of ZFS is poor, particularly on 32-bit hardware without much in the way of data to back it up. I decided to test for myself what the performance of ZFS was for the two systems I am using for the review using iozone by William Norcott and Don Capps. In both cases iozone was compiled as a 32-bit binary and the following options were used at runtime, -RAb machine name.wks -g 2G. I used the -A option for small file sizes as well as the larger ones normally tested by iozone. The 2G option specifies testing up to a 2 gigabyte file size, so that any disk caching is no longer effective, thus what is being measured at the point the cache is exhausted is the performance of the raw disk or disks.
The Pentium IV machine is configured with a ZFS rpool mirror using two Western Digital 250 GB disks across the same IDE adapter, while this is not going to provide the best performance, it is a realistic configuration for a user who does not have a SATA system or cannot separate the disks due to some issue with their system. Tests were conducted on this system with the mirror and single disk configurations to see if there was any loss of performance mirroring disks with ZFS.
The results of the tests are interesting to say the least. The 32-bit read test on cronus shows an odd dropoff at file sizes above 256 kb that I cannot explain.
The write test shows a similar dropoff but the dropoff occurs above 32 kb.
Creating a ZFS mirror of the root disk and running iozone produced similar results to the single disk performance, the only oddity being the peak and valley on the read test at 32 kb.
Based on my limited testing I did not see any significant performance degradation using a ZFS mirror.
The Gateway laptop has a single Hitachi 60 GB 7,200 RPM disk, so I expect the performance of the laptop to be at least on par with the desktop machine. The 64-bit tests ran on the Gateway laptop produced equally interesting results . The read test showed a peak for 64, 128 and 256 kb file sizes and then leveled off and stayed consistent until the 1 MB file size, where performance dropped off. Once the request size got above 128 kb there was another significant drop in performance.
![apophis ZFS read test.jpg](http://www.osnews.com/img/19823/apophis%20ZFS%20read%20test.jpg)
Examining the write performance, there is a buildup as the request size increases to 64 kb and the file size to 128 kb. And along with the 32-bit test there is the unexplained falloff at 128 kb. As the request size reached 4096 kb there is another signifcant drop.
![apophis ZFS write test.jpg](http://www.osnews.com/img/19823/apophis%20ZFS%20write%20test.jpg)
To compare and contrast the performance of ZFS to ext3 I used Fedora 9 and Ubuntu 8.04 x64 on my Gateway laptop. I partitioned the 60 GB disk with 59 GB for / and 1 GB for swap. In both cases I compiled iozone as a 32-bit binary and used the same options as the OpenSolaris ZFS runs (-RAb -g 2G). Ubuntu required the addition of the build-essential package before iozone could be compiled. Also, all appropriate updates were made to each OS and the machine rebooted prior to the test runs.
The Fedora 9 read test shows a series of peaks and valleys where ext3 favors particular file and request size combinations.
The behavior is mirrored in the write test.
![apophis fedora write test.jpg](http://www.osnews.com/img/19823/apophis%20fedora%20write%20test.jpg)
Ubuntu 8.04 also showed an interesting pattern of peaks and valleys in the read and write tests.
In particular the write test shows poor write performance with file sizes up to 512 kb. Then there is a peak at 2048 and 4096 kb, a second peak at 8192 kb with a file size of 1024 kb, a significant drop at 32 and 64 kb, a third peak at 256 and 512 kb then the final drop with files 512 kb and greater.
I also tested the performance of ZFS on a external hard disk (the original hard disk that shipped with the Gateway) an 80 GB 4,200 RPM Hitachi Travelstar with 2 MB of cache. The results look very similar to that of the root disk tests with the same peak for small file reads.
![apophis USB read.jpg](http://www.osnews.com/img/19823/apophis%20USB%20read.jpg)
![apophis USB write.jpg](http://www.osnews.com/img/19823/apophis%20USB%20write.jpg)
The point of the testing is not to say that ZFS is superior to ext3, but to illustrate differences between OpenSolaris and two popular Linux distributions in terms of disk I/O without tuning, "out-of-the-box" performance. Could the disk performance be improved, potentially yes. But tuning disk I/O is best done with care because the tuning could actually result in worse rather than better performance. There is no doubt that your mileage will vary based on any number of factors and these tests only demonstrate the performance potential of the two systems I tested.
What is missing
Examining the CD I found that the directories and files normally associated with creating Flash Archives and building a JumpStart server and clients were missing. For those of us who use JumpStart and Flash to build and clone machines, this is a major omission. I can only hope that subsequent releases include this functionality because it would be a shame not to have them. The graphical management tools found on Solaris and Solaris Express, the Solaris Management Console (SMC) and webconsole used for the graphic administration of ZFS volumes are also not part of OpenSolaris.
Ryan Paul pointed out that an office suite was not part of OpenSolaris, this is the only real problem area I had with OpenSolaris. My attempt to download OpenOffice from pkg.opensolaris.org resulted in me only getting the database product. Downloading OpenOffice and installing it failed with not being able to find Java despite it being present. While I was in the final phases of writing this I was able to successfully install OpenOffice 2.4 on the Gateway laptop.
Will these tools be added at some point in the future, I don't know. This will depend on whether Sun wants to go beyond a Live CD to install distribution to a full DVD install like Solaris and Solaris Express.
Conclusion and final comments
While Sun is making attempts to appease the Linux community, Sun also cannot ignore the Solaris community (which I am a member of) who feels that while there is always room for improvement, that Solaris should be left alone. As a person who has used Solaris over 10 years, I felt right at home with OpenSolaris and was able to immediately use the OS to do things without too many issues. Most of the major functionality that I have grown accustomed to in Solaris is present and works.
Whether the amount of Linux like functionality incorporated in OpenSolaris is enough to please Linux users it is hard to say, only time will tell.