joshua0: (Default)
[personal profile] joshua0
Solaris has had an obvious joke about it for years. Well, the joke changes by the year, but the message is always the same. "The best kernel 2010 has to offer -- the best userland 1980 has to offer." But, you know, I've been working with it over the past week setting up a system for a few friends to share in colocation, and for all the times I find that joke to ring true, there are just as many times I've been finding myself saying, "Man, I'm glad I'm not doing this on Linux".

So, in brief, here are a few of my observations running an OpenSolaris 2009.6 system. The machine has a 60GB mirrored root ZFS pool named rpool, and a ~4.2TB RAID-Z1 (that's RAID-5 to the rest of you) user data ZFS pool named storage. And, because no review, no matter how silly!, is complete without a wankerous listing of hardware specifications, I'll also note that the machine that I'm playing with has 8GB of ECC DDR2 and a Core2 Quad Q6600.

I suspect that the first true joy of OpenSolaris to be mentioned is ZFS. Not just the filesystem on disk, although I am a firm believer in the layout of the filesystem, but what I find most enjoyable about ZFS is the mechanisms by which one manages it. This is an overarching theme that I've found in the system; in particular, "say what you mean!". Let me give an example:

$ zfs set compression=on storage/storage/backups/joshua

I want to set a property (namely, transparent data compression to on) of a zfs filesystem, and I want the property to be inherited all the way down. Say what you mean. Some contrasting mechanisms for this sort of thing might be (fictitious):

$ mount -o remount,compression=on -t something storage/storage/backups/joshua /storage/backups/joshua

or maybe:

$ echo on > /sys/fs/something/storage/storage/backups/joshua/properties/compression

Really, I don't want to do anything files or echoing to files, and I certainly don't want anything to do with how the filesystem is mounted! What I want to do is do something to a zfs filesystem; and that's exactly what the first command is telling me.

A stranger thing that happens with ZFS is that it can also manage various other parts of the system. For example,

$ zfs set sharenfs="sec=sys,root=@208.100.30.93,rw=@208.100.30.93" storage/storage

exports the storage/storage volume -- and all subvolumes -- so that the bloomy VM can get at them. I'm not sure I aesthetically like this being part of the ZFS command, but it has made my job as an administrator much easier!

Speaking of NFS, OpenSolaris's NFSv4 interoperated pretty much out of the box with the Linux VM on the machine (far and away unlike what happened when I tried this with FreeBSD). I needed to set the NFSv4 ID mapping domain, though; the command for that had a very familiar syntax:

$ sharectl set -p nfsmapid_domain=emarhavil.com nfs

Just like that -- and without touching anything further, my Linux VM instantly got the user IDs mapped properly. I was relieved not to have to touch configuration files, or guess at which services to restart (is it /etc/rc.d/nfs? /etc/rc.d/nfsshare? what are the dependencies?). On the other hand, this does make me a little uneasy -- if something went wrong, I could not tell you where that value is stored, and I have absolutely no idea how I'd fix it.

There are other things that I really like about Solaris, like the way services are run (no /etc/init.d or /etc/rc.d; service status is accessed with svcs, and service administration is done with svcadm, which automatically brings everything up in order, etc...), and boot environments (ZFS snapshots of a root filesystem that are done automatically before beginning an upgrade; this has saved my ass at least once!). In general, it's a joy to administrate. But, to be fair, I should at least point my laser pointer at the elephant standing in the room... namely, the package manager.

root@moroso:~# time pkg install bogus_package
Creating Plan /
pkg: The following pattern(s) did not match any packages in the current catalog.
Try relaxing the pattern, refreshing and/or examining the catalogs:
        bogus_package


real    0m10.174s
user    0m2.748s
sys     0m0.416s
root@moroso:~#

What the fuck. The package manager really is slow as dirt. It appears to have been built as Yet Another Package Manager for absolutely no good reason. Seriously, guys, why not use... apt? Or... ports? Or... I don't know, fucking anything except for IPS? Here's the other horror story about the packaging system: you can only get security updates if you pay Sun some ($130 or so, I think) fee per year to get access to the /support repository. If you don't want to do that, you're stuck with /dev (it's like Debian unstable, except it's actually unstable -- half the releases break your machine) or whatever was shipped at release.

But I'm such a huge fan of the rest of the modern features in OpenSolaris -- well, as long as I put /usr/gnu/bin in my path -- that I'm willing to put up with the Image Packaging Shithole. Maybe I shouldn't be so willing, but getting day to day administrivia done is so easy that it almost outweighs the remaining bits of 1980.

Almost.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting
Page generated Mar. 30th, 2026 07:56 am
Powered by Dreamwidth Studios