I’ve got my Nexenta Core box in the basement which I love. It’s fast, has plenty of storage, and “just works.”

I’d had it on my list to get around to using CrashPlan, but that was back when I was using unRAID and that’s based on Linux. However, CrashPlan is largely Java, and they even have a Solaris deploy of it. It’s designed for OpenSolaris, however. I found a reference on the web, and combined with my own experience, am writing this up. Partially so that others might be able to benefit, and partially in case I have to recreate it in the future.

First, I elected to create a new ZFS filesystem specifically for crashplan to store its data:

zfs create zfs1/crashplan
mkdir /volumes/zfs1/crashplan/backupArchives

Second, I installed the required bits from apt, and download the CrashPlan packages:

apt-get install sun-java6-jdk sunwlib
wget http://download.crashplan.com/installs/solaris/install/CrashPlan/CrashPlan_3.0.3_Solaris.tar.gz
wget http://download.crashplan.com/installs/linux/install/CrashPlan/CrashPlan_3.0.3_Linux.tgz

Third, I untar the two packages, both Linux and Solaris. We’ll use the installer from Linux, and some bits from the Solaris package that don’t cooperate out of the box on the Linux installation. Thankfully, these two install into different directories, but in the future that might change, so be careful you don’t mix them up.

tar zxvf CrashPlan_3.0.3_Solaris.tar.gz
tar zxvf CrashPlan_3.0.3_Linux.tgz

Alright, finally time to install the software.

cd CrashPlan-install

At this point, it’ll ask you lots of questions. You can accept the defaults, all except for the following:

What directory do you wish to store backups in? [/usr/local/var/crashplan]

I, of course, used the previous ZFS filesystem, that I created: /volumes/zfs1/crashplan. And then the next question, which is important:

What directory contains your runlevel init links? [/etc/rc.d]

You need to tell it “/etc/rc3.d” as the Linux installer gets this wrong when running on Solaris. After the install completes, it’ll spew out some ugliness which I neglected to copy down prior to closing my shell. But basically, the CrashPlan daemon didn’t get started, because the Linux installer doesn’t expect Sun’s version of ps. So to put the various bits in that are needed from the Solaris installer, I did the following:

cd ../CrashPlan
cp root/opt/sfw/crashplan/bin/CrashPlanEngine /usr/local/crashplan/bin/CrashPlanEngine
cp root/opt/sfw/crashplan/libjtux.so /usr/local/crashplan/libjtux.so
/etc/init.d/crashplan start

That copies in the necessary binaries and now the installer is started up. Because Nexenta is headless, you have to do a remote configuration of it. CrashPlan has a web page that describes the process here.

After that, it’s as simple as logging into the CrashPlan application and setting up the box no different than any other CrashPlan-equipped computer.