A Solaris Administrator Looks at OpenSolaris

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 root

Once 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 SUNWgcc

The 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.

233 Comments

  1. 2008-06-04 6:11 am
    • 2008-06-04 7:04 pm
  2. 2008-06-04 8:25 am
    • 2008-06-04 9:57 am
    • 2008-06-04 1:12 pm
      • 2008-06-06 11:56 pm
        • 2008-06-07 2:44 am
          • 2008-06-07 4:35 pm
          • 2008-06-07 4:57 pm
        • 2008-06-07 11:17 pm
          • 2008-06-08 3:45 am
          • 2008-06-08 7:51 am
  3. 2008-06-04 10:00 am
    • 2008-06-04 1:25 pm
      • 2008-06-04 2:33 pm
        • 2008-06-04 2:43 pm
        • 2008-06-04 3:28 pm
          • 2008-06-06 2:49 pm
        • 2008-06-04 5:27 pm
      • 2008-06-06 6:58 am
  4. 2008-06-04 1:20 pm
    • 2008-06-04 5:03 pm
    • 2008-06-06 6:35 am
      • 2008-06-07 11:20 pm
        • 2008-06-08 12:46 am
        • 2008-06-08 4:31 am
    • 2008-06-06 7:03 am
      • 2008-06-06 7:23 am
  5. 2008-06-04 1:25 pm
    • 2008-06-04 4:00 pm
      • 2008-06-04 4:18 pm
      • 2008-06-04 4:27 pm
      • 2008-06-04 11:06 pm
    • 2008-06-04 6:49 pm
  6. 2008-06-04 1:58 pm
    • 2008-06-04 4:58 pm
    • 2008-06-04 5:04 pm
      • 2008-06-04 6:50 pm
        • 2008-06-04 6:58 pm
    • 2008-06-04 5:40 pm
      • 2008-06-04 11:51 pm
  7. 2008-06-04 5:00 pm
    • 2008-06-04 5:37 pm
      • 2008-06-05 7:23 pm
        • 2008-06-05 8:50 pm
    • 2008-06-05 1:56 am
      • 2008-06-05 3:43 pm
      • 2008-06-06 7:47 am
  8. 2008-06-04 5:58 pm
  9. 2008-06-04 10:37 pm
    • 2008-06-04 11:44 pm
      • 2008-06-05 5:49 am
        • 2008-06-05 7:23 am
          • 2008-06-05 5:35 pm
          • 2008-06-05 7:44 pm
          • 2008-06-06 8:09 am
          • 2008-06-06 8:40 am
          • 2008-06-06 9:00 am
          • 2008-06-06 9:12 am
          • 2008-06-06 9:17 am
          • 2008-06-06 9:22 am
          • 2008-06-06 9:33 am
          • 2008-06-06 1:34 pm
          • 2008-06-06 9:22 am
          • 2008-06-06 1:44 pm
          • 2008-06-06 4:00 pm
          • 2008-06-06 4:03 pm
          • 2008-06-07 12:08 am
          • 2008-06-06 2:24 pm
          • 2008-06-06 2:33 pm
          • 2008-06-07 12:27 am
          • 2008-06-05 8:20 pm
          • 2008-06-05 8:36 pm
          • 2008-06-06 7:22 am
          • 2008-06-06 8:18 am
          • 2008-06-06 8:25 am
          • 2008-06-06 8:52 am
          • 2008-06-06 1:53 pm
          • 2008-06-06 8:35 am
          • 2008-06-06 8:38 am
          • 2008-06-06 8:49 am
          • 2008-06-06 8:44 am
          • 2008-06-06 1:49 pm
          • 2008-06-06 6:36 am
        • 2008-06-05 3:11 pm
          • 2008-06-05 8:08 pm
          • 2008-06-05 8:20 pm
          • 2008-06-06 2:22 pm
          • 2008-06-06 6:32 am
          • 2008-06-06 8:09 am
          • 2008-06-06 8:23 am
          • 2008-06-06 8:41 am
          • 2008-06-06 8:50 am
          • 2008-06-06 2:28 pm
      • 2008-06-06 7:14 am
        • 2008-06-06 8:15 am
          • 2008-06-06 8:18 am
          • 2008-06-06 8:29 am
          • 2008-06-06 8:48 am
      • 2008-06-06 8:13 am
  10. 2008-06-05 7:10 pm
    • 2008-06-05 8:02 pm
      • 2008-06-05 9:13 pm
        • 2008-06-05 10:06 pm
          • 2008-06-06 7:30 am
  11. 2008-06-06 8:49 am
    • 2008-06-06 8:56 am
      • 2008-06-06 9:02 am
        • 2008-06-06 9:05 am
          • 2008-06-09 11:24 pm
    • 2008-06-06 9:53 am
      • 2008-06-06 10:07 am
        • 2008-06-06 10:26 am
          • 2008-06-06 10:35 am
          • 2008-06-06 10:43 am
          • 2008-06-06 10:53 am
          • 2008-06-06 11:02 am
          • 2008-06-06 11:22 am
          • 2008-06-06 11:37 am
          • 2008-06-06 11:56 am
          • 2008-06-06 12:07 pm
          • 2008-06-06 12:22 pm
          • 2008-06-06 12:37 pm
          • 2008-06-06 1:21 pm
          • 2008-06-06 1:00 pm
          • 2008-06-06 1:10 pm
          • 2008-06-06 1:36 pm
          • 2008-06-06 3:45 pm
          • 2008-06-06 3:58 pm
          • 2008-06-06 3:59 pm
          • 2008-06-06 4:01 pm
          • 2008-06-06 4:02 pm
          • 2008-06-06 4:03 pm
          • 2008-06-06 4:05 pm
          • 2008-06-06 4:07 pm
          • 2008-06-06 4:08 pm
          • 2008-06-06 4:04 pm
          • 2008-06-06 4:01 pm
          • 2008-06-06 4:11 pm
          • 2008-06-06 4:15 pm
          • 2008-06-06 4:21 pm
          • 2008-06-06 4:24 pm
          • 2008-06-06 4:28 pm
          • 2008-06-06 4:31 pm
          • 2008-06-06 4:36 pm
          • 2008-06-06 4:43 pm
          • 2008-06-06 4:48 pm
          • 2008-06-06 4:19 pm
          • 2008-06-06 4:27 pm
          • 2008-06-06 4:33 pm
          • 2008-06-06 4:44 pm
          • 2008-06-06 4:23 pm
          • 2008-06-09 11:24 pm
          • 2008-06-06 12:13 pm
          • 2008-06-06 12:23 pm
          • 2008-06-06 12:39 pm
          • 2008-06-06 1:35 pm
          • 2008-06-06 11:54 am
          • 2008-06-06 11:57 am
          • 2008-06-06 12:07 pm
          • 2008-06-06 12:19 pm
          • 2008-06-06 12:23 pm
          • 2008-06-06 12:25 pm
          • 2008-06-06 12:38 pm
          • 2008-06-06 12:40 pm
          • 2008-06-06 1:32 pm
          • 2008-06-06 1:38 pm
          • 2008-06-06 1:39 pm
        • 2008-06-06 1:04 pm
      • 2008-06-06 2:49 pm
        • 2008-06-06 2:53 pm
          • 2008-06-06 3:48 pm
          • 2008-06-06 3:52 pm
          • 2008-06-06 3:53 pm
  12. 2008-06-06 5:09 pm
    • 2008-06-06 5:27 pm
      • 2008-06-06 5:58 pm
        • 2008-06-06 10:53 pm
        • 2008-06-06 11:21 pm
        • 2008-06-07 1:24 am
          • 2008-06-07 4:24 am
          • 2008-06-07 4:44 pm
          • 2008-06-07 10:47 pm
          • 2008-06-07 11:07 pm
          • 2008-06-07 11:13 pm
          • 2008-06-08 2:58 am
          • 2008-06-08 3:35 pm
          • 2008-06-08 4:37 pm
          • 2008-06-08 4:42 pm
          • 2008-06-08 4:51 pm
          • 2008-06-08 6:00 pm
          • 2008-06-08 6:49 pm
          • 2008-06-08 9:48 pm
          • 2008-06-08 10:32 pm
          • 2008-06-08 10:35 pm
          • 2008-06-09 4:47 pm
          • 2008-06-09 4:52 pm
          • 2008-06-08 9:45 pm
          • 2008-06-09 4:16 am
          • 2008-06-09 4:48 pm
          • 2008-06-08 9:43 pm
          • 2008-06-08 4:48 pm
          • 2008-06-09 11:25 pm
          • 2008-06-09 11:49 pm
          • 2008-06-09 11:51 pm
          • 2008-06-09 11:53 pm
          • 2008-06-09 11:55 pm
          • 2008-06-09 11:59 pm
          • 2008-06-09 11:51 pm
          • 2008-06-09 11:53 pm
          • 2008-06-09 11:53 pm
          • 2008-06-09 11:55 pm
          • 2008-06-09 11:56 pm
          • 2008-06-09 11:57 pm
          • 2008-06-09 11:58 pm
          • 2008-06-09 11:59 pm
          • 2008-06-08 3:48 am
          • 2008-06-08 6:58 am
          • 2008-06-08 7:00 am
          • 2008-06-08 7:01 am
          • 2008-06-08 7:14 am
          • 2008-06-08 7:53 am
          • 2008-06-08 8:00 am
          • 2008-06-08 8:03 am
          • 2008-06-08 8:07 am
          • 2008-06-07 4:47 pm
          • 2008-06-08 8:02 am
    • 2008-06-06 5:29 pm
    • 2008-06-06 5:32 pm
    • 2008-06-07 1:33 am