Sunday Aug 02, 2015

Solaris Home Fileserver - The Next Generation

Well, it's been five years since 1) Oracle acquired Sun, and 2) I last updated my home fileserver. At the behest of my manager, I wanted to write a little bit about the latest incarnation. Smaller, faster, with more storage and using less power. Of course. Moore's Law continues to be the Gift That Keeps on Giving.

I've been very happy with Solaris, ZFS and external USB disk drives to provide a cheap and reliable family fileserver, but the temptation of newer hardware eventually becomes impossible to resist. Earlier this year, I gave up and gave in.

My intent this time was to keep with the basic principles as before:

  • Green/low-power
  • Use Solaris
  • Increase storage capacity and performance

In the end, I moved off the Shuttle SFF line (there are so many more choices available in 2015), moved from USB2.0 to USB3.0, and changed out 3.5" powered external drives to larger 2.5" self-powered external drives. Performance is better, these disks spin down after a time (as did the previous disks), and power usage is lower. I'm using internal builds of Solaris, which seems to support every feature of the server except for the WiFi card (which I never intended to use).

Old Fileserver  New Fileserver

Shuttle X27D SFF
 Built-in dual-core Atom 330 CPU @ 1.6GHz
 2GB DDR2 memory
 2.5" 120GB internal SATA disk 

Gigabyte Brix GB-BXi3-4010
 Built-in Core i3-4010U @ 1.7GHz
 8GB DDR3L memory
 64GB mSATA flash drive
 Oracle Solaris

3 x Simpletech SimpleDrive 3.5"
500GB USB2.0 disk drives
3 x Western Digital My Passport Ultra 2.5"
1TB USB3.0 disk drives
26W idle
32W under load
15W idle
18W under load
Performance  ~14MB/s write (NFS)
 ~18MB/s read (NFS)

 ~ 6MB/s write (NFS)
(I am not yet sure why this is
so slow - stay tuned)

 ~ 83MB/s read (NFS)

 RAID-Z1 ZPool (1TB usable)  RAID-Z1 ZPool (2TB usable)
 5GB ZIL on mSATA flash drive
 SMB (builtin); AFP (freeware); NFS  SMB (builtin); AFP (freeware); NFS

Stay tuned as I try to figure out why NFS writes are so slow. 

Tuesday Sep 04, 2012

T5 -It's Coming

Here's the scoop about what we inside Oracle have known for a while, and which will be available to our customers and partners soon. Our new T-Series CPU is world-class, and it making people sit up and take notice. It's a beast, folks, trust me. 

Thursday Jul 26, 2012

New version of Oracle Solaris Pre-Flight Application Checker

Some very hard-working folks in my organization, Oracle Systems ISV Engineering, have just released a new version of the Solaris Pre-Flight App Checker. You can get it for free from the Solaris Download Page

As with the original release, this tool is the single easiest way to check your application for Solaris 11 compatibility issues while still running on Solaris 10. This latest release incorporates several improvements:

1. Fully globalized product, currently with support for English,  Simplified Chinese and Japanese 
2. Now detects issues due to static linking of system libraries
3. Now detects mutex alignment issues
4. Now checks usage of private kernel interfaces (binary as well source scanner) 
5. An improved script scanner to flag issues due to usage of removed, relocated commands as well as issues due to usage of new shell ksh93 (instead  of old ksh88 )

Friday Mar 23, 2012

Attention Developers: Announcing a New Solaris Webinar Series

We're launching a new bi-weekly free webinar series: Oracle Solaris 11 Developer Webinar Series. My ISVe colleagues and I will be presenting a variety of one-hour topics over the next few months.

I'm kicking off the series next Tuesday, March 27th at 0900PDT with a discussion of Solaris and Modern Packaging Technologies. Come check us out!

Webinar Series overview and schedule: here

Tuesday's packaging webinar page: here

Wednesday Dec 21, 2011

Oracle Solaris Binary Application Guarantee extended to Solaris 11

This is Good News.

The Oracle Solaris Binary Application Guarantee now covers both Oracle Solaris 10 and Oracle Soalris 11. Oracle has extended the program through 2013. The program covers a source code guarantee as well as a binary guarantee. Details can be found in the program description.

Saturday Mar 13, 2010

As he emerges into the bright red light of a new star, and a new day...

Life goes on. I'm still here. Eric Reid, Principal Software Technologist, Oracle Americas, Inc.

The good news is that my role and organization remain pretty much unchanged. I'll still be working to make Oracle and ISV software work best on Sun/Oracle products and technologies.

Stay tuned.

Thursday Jan 21, 2010

Song O' The Day

"Canary In A Coalmine"
The Police
from the album "Zenyatta Mondatta", 1980

Monday Jan 04, 2010

OpenSolaris, ZFS, USB 2.0 + 30 Watts = Home Fileserver


A little project I'd had in the back of my mind for some time was to replace the family fileserver over the Holidays. I'd been using a Linksys NSLU2 for several years, but we were about to outgrow our 500GB capacity, and response time was never all that great. I'd installed Unslung early on, which gave me SMB, NFS, FTP, etc., but the poor little Intel XScale chip inside struggled just to drive one server, let alone several simultaneous access methods.

The NSLU2 was most recently running with two 500GB USB 2.0 drives attached. The only redundancy provided is the ability to backup from the disk to an identical disk once a day - not very robust. I'd been thinking about it ever since I saw Zhong's really good writeup of creating an OpenSolaris fileserver about a year ago. The factors driving my decision were as follows:

  1. Green: be as energy-efficient as possible; reuse existing pieces if possible
  2. Robust and Redundant: Provide more storage and more robust storage (RAID Z or better)
  3. Compatible: Provide the SMB/CIFS (for family) and NFS (for me) access we were accustomed to at home
  4. Familiar: Leverage technologies I know:

Well, when I saw the rollout for Shuttle's X27D dual-core Atom-based SFF, I knew that was what I wanted. I waited, I planned. Last month the stars aligned, the prices came down, and I acted.

Old Setup 

Best Current Price
Linksys NSLU2
US$43 refurbished; US$86 new
USB2 disk I/F; 100Mbps net I/F; running Unslung 6.8
2 x Simpletech SimpleDrive External Disk drives
US$88 refurbished; US$51 used (EBay)

3.5" form; USB2 disk I/F; 524GB raw storage each

This setup provides:

  • 490GB formatted storage
  • Nightly automatic backup onto clone disk
  • SMB/CIFS access via LAN
  • Boots in around 15 minutes
  • NFS access via LAN (only via reflashing with Unslung)
  • ~4.5MB/s write (NFS), ~3MB/s write (SMB)
  • ~5MB/s read (NFS), ~4MB/s read (SMB), ~150KB/s (scp, sftp or rsync) - note: any encrypted transfers will be CPU-limited by that poor XScale processor)

New Setup

I decided to reuse my existing external disk drives, as well as an existing laptop drive. This meant I only needed to purchase the X27D itself, plus memory. No DVD/CD - I use the network and bootable USB devices instead. To allow for larger, more robust, and more robust storage, I was able to find a used Simpletech drive (same access times, same total raw storage capacity) on EBay.

Price Paid
Shuttle X27D SFF
US$139 refurbished
Builtin dual-core Atom 330 CPU @ 1.6GHz; GigE networking

US$33 new
2GB DDR2 memory

Existing disk
2.5" 120GB SATA disk
3 x Simpletech SimpleDrive External Disk drives
Two existing USB disks plus a third from EBay - US$51

3.5" form; USB2 disk I/F; 524GB raw storage each

This setup provides:

  • 957GB formatted storage via 3-disk RAID-Z pool
  • SMB/CIFS, SSH, NFS protocols supported
  • Boots in around 75 seconds
  • Server consumes 26W idle, 32W under load; disks consume power only when accessed, and spin down after 20 minutes
  • ~14MB/s write (NFS)
  • ~18MB/s read (NFS)
  • Same disk latency (due to disk spin-up) as original solution
  • More onboard processing 'headroom' for future services

Configuring OpenSolaris and ZFS

I downloaded the USB Boot Image of Build 129 of OpenSolaris from here, placing the image on a 1GB USB Flash drive using the usbcopy command. After assembling the server, I set the BIOS to boot from USB first, then booted from the 'Live USB'. Installation just worked, and everything seems to be properly supported (haven't tried audio, as this is a headless system).

I'd rsync'ed the contents of the old fileserver to another server the day before (slooowwwww from an NSLU2 - when one of your systems is CPU-limited, make sure you rsync with the lightest-weight encryption possible [I used arcfour]). Setting up the powerful, performant, redundant ZFS filesystem required only a few steps:

# zpool create fs raidz c4t0d0 c6t0d0 c7t0d0   # RAIDZ pool (2+1)
# zfs set sharenfs=on fs # NFS share
# zfs set sharesmb=on fs # Samba share

Still to do:

  • Investigate adding cache to the zpool via part of the internal SATA disk (or possibly eventually an SSD, when prices come down)
  • More rigorous and apples-to-apples performance comparisions
  • Optimizing the OpenSolaris settings and services

Saturday Oct 17, 2009

Drupal-on-a-Stick: now in easy-to-take download form!

At Bay Area DrupalCamp today, Sun is handing out USB Flash sticks that boot any USB-bootable X86/X64 box into OpenSolaris with a running Drupal 6 instance. For those of you not at BADCamp this weekend, we've also made the USB image available for download here. It's a little less than 1GB, and fits on 1GB flash drives.

To burn the image to your own USB flash drive:

  • From a Windows box: see here
  • From an OpenSolaris box: install and use /usr/bin/usbcopy from SUNWdistro-const package

For those who'd rather try this from a "Live DVD", the .iso image is here.

Update 19 October: thanks to alert readers who spotted my ill-formed DVD link above. It's fixed now.druplicon


Main Sequence: 1) an astronomy term denoting the lifecycle of a majority of known stars. 2) err @ Sun/Oracle: long-time (since 1988) Sun/Oracle veteran, still shining in an ever-changing high-tech universe


« October 2015