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. 

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.

Tuesday Jul 21, 2009

When your 'pkg install' is slow on Virtualbox

I like VirtualBox. It does what I need -- often times it does many different things via multiple clients on the same server.

Recently, I've been creating OpenSolaris VirtualBox clients, and, again, they do what I need. Except when it comes to accessing OpenSolaris repositories. With default NAT networking, an OpenSolaris client tends to have slower networking, and at times when I'm installing several packages from,  I'll get:

 # pkg install amp
 pkg: Maximum number of network retries exceeded during download. Details follow:

Frustrating, to be sure, but there is a way to put up with all the waiting:

  # export PKG_CLIENT_TIMEOUT=300   # Seconds (default=30)
  # export PKG_TIMEOUT_MAX=10       # Attempts (default=4)

Now, although your pkg commands won't be any faster without tweaking the VirtualBox networking stack, they will eventually finish. This works outside of VirtualBox as well.

Tuesday May 26, 2009

Freshly Squeezed Packages!

I work with Open Source Communities. Part of that involves the quest to make Community offerings more accessible, easier to install, and easier to integrate with our platforms.

OpenSolaris comes with the notion of software repositories (much like its Linux cousins) which facilitate easy install of Sun, Community and other software. While popular F/OSS software is available straight from the Communities themselves, often times having it also available (even if we don't add anything appreciable to it) in an OpenSolaris Repository can make for an easier install experience.

That's what I hope to do very soon with Drupal, Joomla!, and several other F/OSS offerings. To that end, the OpenSolaris Community recently announced the availability of Source Juicer, a web-based, automated mechanism to build and deploy IPS packages into the /pending, and ultimately, the /contrib Repositories.

At this moment, and thanks to helping with the Beta testing,  I've gotten the following packages into the temporary /pending repository (eventually, Source Juicer will send things directly into the 'real' /pending, but this gets us on our way to /contrib):

  • Drupal 5
  • Drupal 6
  • Acquia Drupal

So, I say to you, and to the OpenSolaris Community, and the Drupal Community - do you run OpenSolaris? Wanna try these out? If so:

  • Make sure you're running OpenSolaris 2008.11 or a later /dev snapshot
  • Point 'pkg' or Package Manager at the temporary /pending repository as follows:
% pfexec pkg authority -O  JuicerPending
  • Install the package of your choice (in this case, the Apache Web Server requirement will pull in the Apache Web Server if not already installed0:
% pfexec pkg install drupal6
  • In this case, Drupal 6.x will be installed in /var/apache2/2.2/htdocs/drupal6
Try these and other packages that will appear in /pending. This will help us vet the packages, and get them promoted to /contrib sooner.

Tuesday Sep 23, 2008

Today's coolness: ZFS Snapshots and Reproducible test states

I had a lovely 'aha' moment today. This 'aha' is nothing new, except to me.  Today, I tried ZFS snapshots for the first time, and it made my life SO much easier! My thanks to colleague Tom Daly for the suggestion!

We're testing Drupal on Webstack on OpenSolaris. The MySQL database we're using totals about 20GB on disk - not big, but heretofore it was created via a script of MySQL commands, including lots of inserts. To populate the database to a 'fresh' state took about 50 minutes on a Sun SPARC Enterprise T5120.

"Why not try ZFS rollback," asks Tom, nonchalantly. Ding! Aha!

OpenSolaris uses ZFS for everything, even booting. It's the default filesystem type. Our database resides on a ZFS mount (in a Zone, no less, back-mounted from the global zone!). This is a perfect use of the ZFS 'snapshot' and 'rollback' commands. To wit:

First, we need re-instantiate the database only once, and get it to just the place we want as our 'unsullied starting-point' database. 

Time: 1 hour.

Snapshot the ZFS mount in the global zone (before the '@' is the ZFS volume, after is the snapshot name):

bash# zfs snapshot /tank2/db0/data@freshdb      
bash# zfs list -t snapshot
NAME                             USED  AVAIL  REFER  MOUNTPOINT
tank2/db0/data@freshdb              0      -  13.5G  

Time: 10 seconds

Test to your heart's content, mess up the database all your want. Ready for a fresh, unspoiled MySQL database? Well, just roll it back!

bash# zfs list -t snapshot
NAME                             USED  AVAIL  REFER  MOUNTPOINT
tank2/db0/data@freshdb           166M      -  13.5G  -

bash# zfs rollback /tank2/db0/data@freshdb

bash# zfs list -t snapshot
NAME                             USED  AVAIL  REFER  MOUNTPOINT
tank2/db0/data@freshdb              0      -  13.5G  -
Time: 8 seconds

Do this as many times as you need. Fresh databases in seconds, not upwards of an hour.

Just wanted to share...

Tuesday Dec 18, 2007

Real Solaris inroads against Linux?

 [Read More]

Wednesday Dec 05, 2007

OpenSolaris on a new Shuttle SFF

A new week, a new OpenSolaris install experience...

Picked up a new replacement 'everything' server last week, a Shuttle SN68SG2. The intent is to upgrade my main work server, and take advantage of some latest technologies:

  • Multi-core lower-power AMD CPU
  • OpenSolaris xVM technology for virtualization right on top of hardware hypervisor
  • Gigabit Ethernet (I tend to schlep a lot of big .iso images from box to box here)

So I tricked this box out (under $500!) as follows:

  • AMD Athlon 64 X2 4800+ (2.5GHz, dual-core, 65W) CPU
  • 2 x 2GB DDR2 400 memory
  • 250GB SATA disk

Installing the latest Nevada (nv78), went fairly well, except for the NIC. The rundown:

  • CPU/memory: works (frkit isn't happy with dual-core, but that's a known issue)
  • SATA: works!
  • Audio: not yet tested [update: it works]
  • USB 2.0: works
  • Firewire: not yet tested
  • Onboard graphics: works great with bundled nVidia driver, driving 1680x1050 Benq monitor
  • Onboard NIC (nVidia 630a chipset): 'nge' driver did not recognize this chipset, but Murayama-san's 'nfo' 2.X driver does (once again, Arigato Gozaimashita, Murayama-san!)
Next step: playing with xVM (which this CPU allows via AMD-V). Stay tuned.

Wednesday Nov 14, 2007

Booting Indiana from USB Flash while in Michigan...

Finally got around to trying the OpenSolaris Developer Preview (aka Project Indiana) this morning... it's cool, it's partial, it's a step in the Right Direction... what really caught my eye was that I could place this CD-sizes image on USB Flash Drives and Boot Live... and it Just Worked in seconds... although on my Toshiba Satellite A205:

  1) Sound doesn't work
  2) Time of day wasn't correct (or asked for initially)

But, really, it's not disappointing at all for Preview 1... I like it!


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


« August 2015