Wednesday, July 3, 2013

OmniOS + Napp-it

I've read a lot about virtualization, and while I did originally download ECXI 5.1 hypervisor to try to run a couple of virtual machines (I was thinking linux as a server + winXP or OS X to run an iTunes instance), the microserver does not support PCI passthrough. This means that I could not use extra drives on a RAID card, or even see USB devices. It is a failure of the hardware, and I'll have to leave playing with virtualization for my next go-round of hardware.

Because this is more than just a NAS, but also a backup of my data, I wanted to ensure data integrity. I feel that although hard drive manufacturers are building bigger disks these days, they aren't terribly reliable. I've had more than my fair share of Maxtor, Western Digital, and Samsung drives die on me. The worst is when they aren't backed up and there is data loss. I'm terrible about manually doing backups, it has to be completely automatic and transparent to me. That's one of the reasons why I bought an Apple Time Capsule. But the time capsule suffers from excessive heat in its fanless environment. I did a small mod to reverse the fan and keep it turned on, but it still feels too warm for my taste. I've got a WD RE4 GP drive in there, which is supposedly a SATA enterprise-rated 5M hours mtbf drive, but I've heard that SATA, and SATA-NL (near line) are not as enterprise reliable as SAS drives. So, I wouldn't be surprised if the time capsule drive eventually failed... and while the backups wouldn't be the end of the world (hopefully the original data still exists on my laptop), it would be a case where there was no backup of the time-capsule data.

The first thing I decided on was to use a redundant backup system of drives on my microserver. I at first thought about RAID, but I've had some difficulty in the past with RAID, and apparently so have others. I've read about people having trouble rebuilding their arrays, and that if you did rebuild them they took forever. I became very intrigued with a ZFS-based storage solution, and decided this was the way I was going to roll. This ruled out Ubuntu (linux) as there is no real ZFS solution there, and led me to consider FreeNAS (BSD based), but when I learned that ZFS is native to Solaris, I decided to use that. Unfortunately, Sun Solaris is no more. After Oracle acquired Solaris, things changed. I had a couple options.
Option 1) use the old Sun Solaris 10. I ruled this out as there was no more development being done here.
Option 2) use OpenSolaris. I also ruled this out for a similar reason.
Option 3) use Oracle Solaris 11. I ruled this out as I wanted a free solution.
Option 4) use illumos. This was the way forward. There are a couple different flavors of illumos - nexenta is one, OpenIndiana is one, SmartOS, and OmniOS are others. I ruled out nexentastor because there is a hard limit on how much storage space you can use for free before you have to buy a beefier version. I tried OI, but as the lead developer recently quick and development there was going to be slow I ruled it out as well. I decided to go with OmniOS, mostly because I discovered Napp-it.

Of the various illumos iterations, most have web-based GUI interaction, and I liked this. Like FreeNAS, Nexentastor had a commercial web-GUI. Napp-it was written to provide a web GUI for OmniOS, and it was free.  I found a very recent version of Napp-it (gea, the lead maintainer, is continually doing nightly updates) and discovered that there was a flavor called Napp-it-to-go. It runs in RAM memory, loads off a USB stick, and doesn't require installing napp-it or OmniOS to a hard drive. COOL!

I loaded it onto a Patriot Rage XT 16GB USB 2 drive, and loaded it up. Configuring it was only slightly challenging. I discovered that creating a ZFS pool and a ZFS folder to share via AFP was not difficult, but that I could not actually write to the shared folder on the Mac. I discovered I had to adjust the recursive permissions for the folder, which I did via CLI, before I discovered that there was a way to do it in Napp-it.

I created a couple different ZFS folders:
Public - for general useless/temporary stuff that anyone can gain access to
Media - for Movies and iTunes library
Backup - for home movies and documents

We'll see how these work out, but creating and deleting these folders is pretty easy via the web interface. And there's even SSH for those of us with CLI skills.

No comments:

Post a Comment