apt.zpool.org Nexenta repository returns

August 2, 2010

I have re-established my local Nexenta repository and am making it available to the public. If you are interested in newer versions of Apache, PHP, and Samba compatible with NCP 2.x or 3.x then you’ll want to peruse apt.zpool.org. Some other tidbits include the latest stable BCFG2, a patched gamin package that supports Solaris FEN, and a working php5-imap package.

These packages are pulled in from a variety of sources but most of them come from Debian (unstable). Note that I make no guarantees of any kind so use these packages at your own risk. I use them in production for machines at work and elsewhere but it doesn’t mean you should. Feel free to leave feedback though if you run into any problems.

To add the repository, edit /etc/apt/sources.list and include:

deb http://apt.zpool.org/ hard-unstable main

Supercharge your X4500 Thumper with SSDs

May 13, 2009

Hybrid storage pools are the new coolest thing in ZFS land and are being pushed commercially with the recent release of Sun’s 7000 series open storage. For various reasons, Sun has only added a supported SSD option to the X4540 Thor systems. This unfortunately doesn’t help those of us wanting to extend our X4500 Thumper investments and get in on the SSD performance action. I’m fairly certain you could buy Sun’s Thor solution and use it in your Thumper, but I for one wasn’t impressed with the price.

Fortunately there is a simple, relatively inexpensive way to use SSD drives with your Thumper. Here’s what you need:

You’ll also want a spare X4500 drive bracket unless you’re willing to use a bracket from the drive(s) you have to pull out. Insert your Intel X25-E SSD into the Icy Dock, attach the Icy Dock to the X4500 bracket like any 3.5″ drive, and insert the result into your Thumper. Voila. The Icy Dock bay is well constructed despite being plastic (I would prefer it was made out of aluminum). Also, $20 for a hunk of plastic and a converter isn’t ideal, but those of you that would suggest duct tape have no sense of aesthetics.

In my case, I swapped out two 1TB drives for two 32GB Intel X25-E SSDs. I then partitioned the SSDs into two slices, one for mirrored system disks and the other for ZIL. They show up and work just fine:

platform = Sun Fire X4500

Device    Serial        Vendor   Model             Rev  Temperature
------    ------        ------   -----             ---- -----------
c0t0d0p0  E002PAJTBX4E  ATA      HITACHI HUA7210S  A90A 28 C (82 F)
c0t1d0p0  E002PAJTBWTE  ATA      HITACHI HUA7210S  A90A 30 C (86 F)
c0t2d0p0  F002PAJSY2AF  ATA      HITACHI HUA7210S  A90A 33 C (91 F)
c0t3d0p0  F002PAJSV5BF  ATA      HITACHI HUA7210S  A90A 35 C (95 F)
c0t4d0p0  E002PAJTBX1E  ATA      HITACHI HUA7210S  A90A 28 C (82 F)
c0t5d0p0  E002PAJTBWME  ATA      HITACHI HUA7210S  A90A 32 C (89 F)
c0t6d0p0  F002PAJS156F  ATA      HITACHI HUA7210S  A90A 34 C (93 F)
c0t7d0p0  F002PAJSW14F  ATA      HITACHI HUA7210S  A90A 35 C (95 F)
c1t0d0p0  E002PAJT4VLE  ATA      HITACHI HUA7210S  A90A 29 C (84 F)
c1t1d0p0  E002PAJTBWWE  ATA      HITACHI HUA7210S  A90A 32 C (89 F)
c1t2d0p0  F002PAJSZP2F  ATA      HITACHI HUA7210S  A90A 33 C (91 F)
c1t3d0p0  E002PAJT5BUE  ATA      HITACHI HUA7210S  A90A 35 C (95 F)
c1t4d0p0  E002PAJTBX7E  ATA      HITACHI HUA7210S  A90A 28 C (82 F)
c1t5d0p0  E002PAJTBX3E  ATA      HITACHI HUA7210S  A90A 31 C (87 F)
c1t6d0p0  F002PAJS1DEF  ATA      HITACHI HUA7210S  A90A 33 C (91 F)
c1t7d0p0  E002PAJT541E  ATA      HITACHI HUA7210S  A90A 35 C (95 F)
c5t0d0p0  E002PAJTA8WE  ATA      HITACHI HUA7210S  A90A 28 C (82 F)
c5t1d0p0  E002PAJTAJ0E  ATA      HITACHI HUA7210S  A90A 31 C (87 F)
c5t2d0p0  E002PAJT50KE  ATA      HITACHI HUA7210S  A90A 33 C (91 F)
c5t3d0p0  E002PAJTB9LE  ATA      HITACHI HUA7210S  A90A 35 C (95 F)
c5t4d0p0  E002PAJTAGME  ATA      HITACHI HUA7210S  A90A 28 C (82 F)
c5t5d0p0  E002PAJT58JE  ATA      HITACHI HUA7210S  A90A 31 C (87 F)
c5t6d0p0  E002PAJT52TE  ATA      HITACHI HUA7210S  A90A 34 C (93 F)
c5t7d0p0  E002PAJT4UNE  ATA      HITACHI HUA7210S  A90A 35 C (95 F)
c6t0d0p0  140067032HGN  ATA      SSDSA2SH032G1GN   8850 255 C (491 F)
c6t1d0p0  E002PAJTAJ6E  ATA      HITACHI HUA7210S  A90A 30 C (86 F)
c6t2d0p0  F002PAJSZNEF  ATA      HITACHI HUA7210S  A90A 33 C (91 F)
c6t3d0p0  E002PAJTBH7E  ATA      HITACHI HUA7210S  A90A 35 C (95 F)
c6t4d0p0  1400CB032HGN  ATA      SSDSA2SH032G1GN   8850 255 C (491 F)
c6t5d0p0  E002PAJT120E  ATA      HITACHI HUA7210S  A90A 30 C (86 F)
c6t6d0p0  F002PAJS79AF  ATA      HITACHI HUA7210S  A90A 32 C (89 F)
c6t7d0p0  E002PAJT5UZE  ATA      HITACHI HUA7210S  A90A 34 C (93 F)
c7t0d0p0  E002PAJTBVJE  ATA      HITACHI HUA7210S  A90A 29 C (84 F)
c7t1d0p0  E002PAJTAJ3E  ATA      HITACHI HUA7210S  A90A 31 C (87 F)
c7t2d0p0  E002PAJT53ME  ATA      HITACHI HUA7210S  A90A 33 C (91 F)
c7t3d0p0  F002PAJSZNDF  ATA      HITACHI HUA7210S  A90A 34 C (93 F)
c7t4d0p0  E002PAJTBL8E  ATA      HITACHI HUA7210S  A90A 27 C (80 F)
c7t5d0p0  E002PAJTAK4E  ATA      HITACHI HUA7210S  A90A 31 C (87 F)
c7t6d0p0  F002PAJS56AF  ATA      HITACHI HUA7210S  A90A 32 C (89 F)
c7t7d0p0  F002PAJSAW1F  ATA      HITACHI HUA7210S  A90A 35 C (95 F)
c8t0d0p0  E002PAJTAHTE  ATA      HITACHI HUA7210S  A90A 28 C (82 F)
c8t1d0p0  E002PAJSRR8E  ATA      HITACHI HUA7210S  A90A 31 C (87 F)
c8t2d0p0  F002PAJT7YAF  ATA      HITACHI HUA7210S  A90A 33 C (91 F)
c8t3d0p0  E002PAJT4W9E  ATA      HITACHI HUA7210S  A90A 35 C (95 F)
c8t4d0p0  E002PAJT583E  ATA      HITACHI HUA7210S  A90A 28 C (82 F)
c8t5d0p0  E002PAJTAG8E  ATA      HITACHI HUA7210S  A90A 31 C (87 F)
c8t6d0p0  E002PAJTBATE  ATA      HITACHI HUA7210S  A90A 33 C (91 F)
c8t7d0p0  E002PAJT52UE  ATA      HITACHI HUA7210S  A90A 34 C (93 F)

Updated: 2010/04/02

The high temperature shown for the SSDs is simply due to Sun’s hd utility not comprehending the return values properly. This is probably due to non-Sun firmware or lack of SSD specific awareness but it does not affect operation. There have been other reports of problems with FMA marking the drives as faulty (which may or may not bother you), but the most recent Intel firmware seems to have resolved this. I have been running these SSDs in two X4500s for nearly a year with no problems.

How to fix a failed apt-clone dist-upgrade on Nexenta unstable

February 24, 2009

The current Nexenta NCP 2.0 hardy-unstable repository has some broken bits that prevent a clean apt-clone dist-upgrade from working. A common question on the IRC channel is how to work around this, and I’ve answered it enough times that I thought it best to write up some basic instructions.

Here’s an example of what happens:


# apt-clone -v dist-upgrade
This operation will upgrade your system using ZFS capabilities. Proceed ? (y/n) y

Updating APT sources ...
apt-get -V update
Hit http://apt.nexenta.org hardy-unstable Release.gpg
Hit http://apt.nexenta.org hardy-unstable Release
Hit http://apt.nexenta.org hardy-unstable/main Packages
Hit http://apt.nexenta.org hardy-unstable/contrib Packages
Hit http://apt.nexenta.org hardy-unstable/non-free Packages
Hit http://apt.nexenta.org hardy-unstable/main Sources
Hit http://apt.nexenta.org hardy-unstable/contrib Sources
Hit http://apt.nexenta.org hardy-unstable/non-free Sources
Reading package lists... Done
Initiating Nexenta upgrade procedure. Please wait...
Success. This upgrade will download approximately 38.90MB
This upgrade will require REBOOT. Proceed? (y/n) y

Upgrade is in progress. Please DO NOT interrupt...
Creating Upgrade Checkpoint...
syspool/rootfs-nmu-002: entry not found in menu.lst

Upgrade Checkpoint has been created: rootfs-nmu-002

Use 'zfs list -r syspool' command to list all available
upgrade/rollback checkpoints

apt-get -V -y install dpkg apt
Reading package lists... Done
Building dependency tree
Reading state information... Done
dpkg is already the newest version.
apt is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 16 not upgraded.
rmdir /tmp/upgrade-attempt.21883 2>/dev/null
mkdir /tmp/upgrade-attempt.21883
mount -F zfs syspool/rootfs-nmu-002 /tmp/upgrade-attempt.21883 2>/dev/null
chroot /tmp/upgrade-attempt.21883 mount /proc 2>/dev/null
mount -F lofs -O /etc/mnttab /tmp/upgrade-attempt.21883/etc/mnttab 2>/dev/null
mount -F lofs -O /devices /tmp/upgrade-attempt.21883/devices 2>/dev/null
APT_CLONE_ENV=1 chroot /tmp/upgrade-attempt.21883 apt-get -V -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
man-db (2.5.2-2nexenta1 => 2.5.2-2nexenta2)
sunwcakr (5.11.104-2 => 5.11.104-3)
sunwckr (5.11.104-4 => 5.11.104-5)
sunwcsl (5.11.104-5 => 5.11.104-6)
sunwemlxs (5.11.104-1 => 5.11.104-2)
sunwiscsidmr (5.11.104-1 => 5.11.104-2)
sunwiscsidmu (5.11.104-1 => 5.11.104-2)
sunwiscsir (5.11.104-5 => 5.11.104-6)
sunwiscsitr (5.11.104-1 => 5.11.104-2)
sunwiscsitu (5.11.104-1 => 5.11.104-2)
sunwkrbu (5.11.104-1 => 5.11.104-2)
sunwstmf (5.11.104-1 => 5.11.104-2)
sunwstmfu (5.11.104-1 => 5.11.104-2)
sunwzfskr (5.11.104-5 => 5.11.104-7)
sunwzfsr (5.11.104-4 => 5.11.104-6)
sunwzfsu (5.11.104-4 => 5.11.104-6)
16 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 20.8MB/38.9MB of archives.
After this operation, 3048kB disk space will be freed.
Do you want to continue [Y/n]? y
Get:1 http://apt.nexenta.org hardy-unstable/main sunwcakr 5.11.104-3 [2462kB]
Get:2 http://apt.nexenta.org hardy-unstable/main sunwckr 5.11.104-5 [14.5MB]
Get:3 http://apt.nexenta.org hardy-unstable/main sunwzfsr 5.11.104-6 [453kB]
Get:4 http://apt.nexenta.org hardy-unstable/main man-db 2.5.2-2nexenta2 [1050kB]
Get:5 http://apt.nexenta.org hardy-unstable/main sunwiscsir 5.11.104-6 [236kB]
Get:6 http://apt.nexenta.org hardy-unstable/main sunwzfskr 5.11.104-7 [851kB]
Get:7 http://apt.nexenta.org hardy-unstable/main sunwzfsu 5.11.104-6 [1253kB]
Fetched 20.8MB in 49s (420kB/s)
nl.1: sh: fatal: relocation error: file /lib/libncurses.so.5: symbol main: referenced symbol not found
E: Sub-process /usr/bin/apt-clone -c exited unexpectedly
E: Failure running script /usr/bin/apt-clone -c
chroot /tmp/upgrade-attempt.21883 umount /proc 2>/dev/null
umount /tmp/upgrade-attempt.21883/etc/mnttab 2>/dev/null
umount /tmp/upgrade-attempt.21883/devices 2>/dev/null
rm -rf /tmp/nl*
umount /tmp/upgrade-attempt.21883 2>/dev/null
rmdir /tmp/upgrade-attempt.21883
Upgrade failed. Would you like to rollback changes now? (y/n)

In order to fix this, you would answer no to the rollback and then execute something like this:


# mount -F zfs syspool/rootfs-nmu-002 /mnt
# chroot /mnt mount /proc
# mount -F lofs -O /etc/mnttab /mnt/etc/mnttab
# mount -F lofs -O /devices /mnt/devices
# chroot /mnt

Now from within the chroot, execute:


# rm -r /tmp/nl*
# APT_CLONE_ENV=1 apt-get -V -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade
# bootadm update-archive
# exit

This should get all the packages within the clone upgraded properly, update the boot archive, and back you out of the clone. Now you need to install a new grub, unmount the clone, and reboot:


# installgrub /mnt/boot/grub/stage1 /mnt/boot/grub/stage2 /dev/rdsk/
# installgrub /mnt/boot/grub/stage1 /mnt/boot/grub/stage2 /dev/rdsk/ (if you have one)
# chroot /mnt umount /proc
# umount /mnt/devices
# umount /mnt/etc/mnttab
# umount /mnt

Obviously you’ll need to replace with the correct device(s), such as c0d0s0 and c1d0s0. If you don’t know which devices to use, run zpool status syspool and it should tell you. Note above that we did not activate the new clone as the default bootfs. It is best now to reboot, select the new entry from the grub menu, and verify that the clone is working properly. Once you’re booted into the clone, you can run apt-clone -a rootfs-nmu-002 to make it the default.

Hopefully this helps some of you out there having problems. Feel free to drop by ##nexenta on irc.freenode.net if you require more assistance.

My ZFS media server

December 16, 2008

Every self-respecting geek has a home media server to store their CD and DVD rips, downloaded TV shows, photos, etc. and I’m no exception. I’ve always found it interesting to see what others put together to fill this void, so I’m returning the favor by showing off my current setup:

my zfs media server

The full components list includes:

platinum.alloy.net serves up audio/video/photos/etc. to two hacked AppleTV boxes, my wife’s iMac, and my Mac Pro via Samba. It also serves up home directories for the Sun Ray thin-client in the kitchen and acts as a backup server for our Macbook Pro laptops.

It has been through a number of incarnations over the years. I picked up the Chenbro case off eBay a year or so ago for around $350 which was a steal, considering they run upwards of $800 new. The motherboard, CPU, memory, and 1TB drives are new as of December 2008 (early Christmas present, yay!). Everything else I’ve had for a couple of years and it’s been the usual organic upgrade process. The Supermicro MBD-X8SAX-O motherboard is so new that I must have been the first one to buy it off Newegg. The price for the new motherboard/cpu/memory dropped about $100 less than a week after I ordered, and I hadn’t even received the parts yet. Typical! I tend not to be so bleeding edge and only upgrade every three years or so, but the timing was right and Nehalem was calling me in my sleep.

I was previously using a Tyan S2865G2NR board with a 2.2GHz AMD Athlon X2 and 4GB of Crucial memory. There was nothing wrong with this other than it didn’t have enough PCI-X or PCI-E slots, and socket 939 is getting a bit long in the tooth. The upshot is that I can get ~$200 out of the old parts on eBay and recoup some of the bleeding edge cost.

Upgrading to the new motherboard was mostly straightforward, although I had to do a manual dist-upgrade to the latest NexentaCP unstable since the OpenSolaris b85 kernel had problems booting. I burned NexentaCore 2.0 Alpha1 and used the recovery grub option to login, mount my syspool, and fix things. I’m in the process of migrating all the data off the six Seagate 250GB drives which are attached to the AOC-SAT-MV8. This card has had a lot of problems with ZFS and has been discontinued by Supermicro in favor of the AOC-SAT2-MV8. Whenever I expand beyond six disks, I’m going to skip straight to the AOC-USAS-L8i using mini-SAS to SATA cables.

So far the new board/cpu/memory appear stable, and it’s been serving up WALL-E repeatedly to our three year old for a few days now. It’s nice to see Hyperthreading giving us what appears as 8 core bling:


# psrinfo -v
Status of virtual processor 0 as of: 12/15/2008 22:56:39
on-line since 12/14/2008 18:22:47.
The i386 processor operates at 2660 MHz,
and has an i387 compatible floating point processor.
Status of virtual processor 1 as of: 12/15/2008 22:56:39
on-line since 12/14/2008 18:22:51.
The i386 processor operates at 2660 MHz,
and has an i387 compatible floating point processor.
Status of virtual processor 2 as of: 12/15/2008 22:56:39
on-line since 12/14/2008 18:22:51.
The i386 processor operates at 2660 MHz,
and has an i387 compatible floating point processor.
Status of virtual processor 3 as of: 12/15/2008 22:56:39
on-line since 12/14/2008 18:22:51.
The i386 processor operates at 2660 MHz,
and has an i387 compatible floating point processor.
Status of virtual processor 4 as of: 12/15/2008 22:56:39
on-line since 12/14/2008 18:22:51.
The i386 processor operates at 2660 MHz,
and has an i387 compatible floating point processor.
Status of virtual processor 5 as of: 12/15/2008 22:56:39
on-line since 12/14/2008 18:22:51.
The i386 processor operates at 2660 MHz,
and has an i387 compatible floating point processor.
Status of virtual processor 6 as of: 12/15/2008 22:56:39
on-line since 12/14/2008 18:22:51.
The i386 processor operates at 2660 MHz,
and has an i387 compatible floating point processor.
Status of virtual processor 7 as of: 12/15/2008 22:56:39
on-line since 12/14/2008 18:22:51.
The i386 processor operates at 2660 MHz,
and has an i387 compatible floating point processor.

I’ll work on benchmarking this home-grown thumper after the New Year. The next upgrade is to install four Intel X25-M SSDs for the ZIL and L2ARC caches. Given the cost I think I’ll wait awhile this time.

Flash 10 on Sun Ray

December 12, 2008

Once again I’m revisiting the state of Flash support running under Sun Ray software. My previous post showed there had been improvements made on this front. How are things doing over a year later?

My Sun Ray environment today is using Ubuntu Hardy and Flash 10 from the included flashplugin-nonfree package. I’m still using PulseAudio with a workaround by Sebastian Hesselbarth that nicely configures pulseaudio for each user and redirects sound through the appropriate $UTAUDIODEV device. No more libflashsupport dependency. With this in place, users launch the Sound configuration in GNOME and set all options to “PulseAudio Sound Server”, and it just works.

Unfortunately the smurfing effect has returned in Flash 10, having been temporarily fixed at one point in a Flash 9 beta. Someone filed a bug with Adobe recently about this, and it appears it is being investigated. Hopefully Adobe can fix this soon!

Nexenta and third-party APT repositories

April 10, 2008

NexentaOS has come a long way over the last year, and has recently released Nexenta Core Platform 1.0 which is considered stable. In doing so, the developers are providing a minimal core set of well tested packages somewhat akin to Debian’s netinst that can be used for building up servers or entire distributions. In fact, they’re encouraging this by providing a distribution builder. This opens up many possibilities for extending what you can do with the OS, and I hope to start experimenting with it soon to produce an updated XFCE4 desktop.

In the meantime, I’m making my experimental APT repository available. This is just a collection of packages I’ve had to compile over the last year or so to support work related projects. Some of these packages require manually patching and other changes to get compiled properly and I am remiss in getting these submitted upstream. My next goal is to get as many of these as possible (within the repository guidelines) into the official Nexenta APT repository and actually start maintaining some of them. Anyway, I hope some of these packages prove useful to others.

Ultimate Home ZFS Storage Server?

October 31, 2007
es34069.jpg

Chenbro has announced a new mini-itx home server/NAS chassis that would make for a super small, super quiet OpenSolaris ZFS storage server. Couple this with an MSI Industrial 945GM1 Core 2 Duo Mainboard, 4GB of memory, a 2.5″ system disk, four 750GB or 1TB data drives, and a cheap four port PCI SATA card, maybe an SD card or two for the slog, and you’ll have yourself a mini-thumper. The only con for me is the single system disk, although there are creative solutions around that.

Flash 9 on Sun Ray followup

October 26, 2007

There have been some improvements on this front since my last post. Adobe’s pre-release flash player 9 update has the smurf effect color problem fixed, and Tobias Oetiker has made a libflashsupport patch that uses the $AUDIODEV environment variable. I have tested both of these on Ubuntu Feisty and Gibon and everything works as it should. My thanks to Adobe and Tobias for making the load averages on my Sun Ray servers increase.

Getting Flash 9 with sound on a Sun Ray

March 11, 2007

I have a deployment of approximately 40 Sun Rays at work that serve as the primary desktops for our scientists. Currently these Sun Rays are powered by Sun servers running Debian Linux, although I intend to migrate over to Nexenta once key pieces of the desktop catch up. One key piece of software is the Adobe Flash player, which sits at version 7 for Solaris, and has just been upgraded to 9 on Linux. This means that all the websites which now require the latest version of Flash are once again accessible to my users. Unfortunately, Adobe has seen fit to only support ALSA, something that the Sun Ray audio library doesn’t support. Flash without audio support is kind of pointless, so I went looking for a solution.

I stumbled across PulseAudio which provides a modified version of Adobe’s libflashsupport library, enabling you to use ESD or PulseAudio. I am using ESD as an audio “bridge” for all applications that don’t honor $AUDIODEV by default, which include those based on gstreamer. By setting FLASH_FORCE_ESD=1 before launching firefox, I am getting sound in Flash on my Sun Rays. Now that sound is working, the only remaining Flash issue is what we call the smurf effect. This is a bug in Flash that needs to be addressed directly by Adobe.

I look forward to the day when Adobe recognizes [Open]Solaris as a viable desktop OS and releases an up-to-date version of Flash.

Edit: It looks like they have released a beta!

Jumpstart Nexenta GNU/OpenSolaris

February 5, 2007

Nexenta currently lacks the ability to do automated network based installs via Jumpstart. The recent alpha6 version added KickStart ability, but it’s limited to CD based installs as far as I know. I am in the process of deploying multiple production machines at work and wanted to leverage my existing Jumpstart framework. I’ve managed to come up with a working solution that involves a Jumpstart begin script and debootstrap. All that’s really necessary for this is a standard SX:CR jumpstart miniroot, DHCP and TFTP server. My script extracts a tarball and does everything necessary to setup the debootstrap environment, all without modifying the miniroot. In addition to the jumpstart, I also use BCFG2 as a configuration management tool within the new chroot’ed environment so the system comes up pre-installed for its given purpose.

This is still quite hackish, but I intend to clean it up and hopefully make a .deb package that will ease the setup. It should be possible to do away with the SX:CR miniroot requirement and have a native Nexenta jumpstart miniroot instead.