Sunday, October 23, 2011

Thoughts on a beta release of EON ZFS Storage

It's been a while since the last EON release but we are almost there. It's been a road of many trials with IPS and patience from the EON community but we are almost at a polished new release. I'm planning a beta release based on Openindiana/Illumos 151 bits. The beta will give the community a chance to provide feedback, input and possibly changes (bugs what bugs) for the actual release.
There are numerous improvements and binary additions with 151 (dladm, ipadm, smbstat, dtrace 1.7, etc). With these changes, come additional dependencies and an increase in package size, which goes against EON's goals.

Here's a current list of changes. Of course I'd like to hear your input, feedback and comments.
Perl has been moved to the binary kit. For memory size considerations, better performance and a user modifiable perl, it was shifted from the EON (embedded) to a wget install. The version of perl has changed from 5.8.4 to 5.10.0.
Pros: Lower memory footprint, better performance, user modifiable perl, full version.
Cons: The binary kit is no longer optional, it's now a requirement.
Options: Stick with the minimal perl bits required for (kstat, lgrpinfo, psrinfo, etc to work)

The Samba version of EON has grown considerably in size (approx 100Mb). This has me thinking to go with a pure storage OS model which means pushing Apache to the binary kit. So, Apache web server, would be a wget added choice along with nginx and lighttpd.
Pros: Lower memory footprint, better performance, two less image to release.
Cons: Future web admin (any takers) would require some kind of CLI kickstart.
Options: Leave apache embedded and Samba users basically eat the memory footprint.

Update 11.21.11: Compile-a-thon this past weekend new Binary Kit 75% complete, included goodies so far, Transmission bit torrent, Netatalk AFP(LION compatible), FFMPEG, RTMP server ...

Update 12.02.11: Re-compile-a-thon on again. Found some lib linking errors that requires a massive redo of most of the binary kit. Updated/Added APCupsd, SABnzbd and Sickbeard ...
Thanks to all EON users who have sent in feedback on how EON Storage is working for you. EON will continue allowing to, store it your way.

23 comments:

Max said...

Excellent!

The size increase might not be ideal, but it shouldn't be much of a problem.

You're a Storage Champion. Thank you!

JamesDB said...

This is excellent news. I favour minimal size of perl (isn't openindiana moving all perl dependency out of minimal install?) and no default httpd. Key aspects are reliability and recent version of netatalk.

Andre Lue said...

Hi JamesDB,

It's funny you mention netatalk as another user asked me about the LION DHX2 issue this weekend. I compiled a new package but it needs re-working with binary kit and more testing. Good news it shouldn't be a problem.

Are you for moving perl to binary kit or keeping perl minimal and in EON?

Max,

Are you for keeping perl and apache embedded or ?
CIFS ~290MB (no Perl, yes Apache)
Samba ~430MB (no Perl, yes Apache)

meastp said...

Andre,

You're doing such a great job! Thanks! :)

I'm using EON ZFS purely as shared storage over ssh/sftp. I would guess many users are after a simple storage solution such as myself, albeit perhaps with SMB or CIFS.

If perl and/or apache isn't needed for this/these simple use case(s), I'd move them to the binary kit.

Max said...

I think having them in the binary kit is the way to go.

On the other hand.. would it be possible to embed a minimal perl but switch to using a full version if the binary kit is present?

Jim Doyle said...

Superb. I can smoke test your release candidates if you wish. Between gigs right now and have the time. I use SNV130 with CIFS on Vista x86 and Win 7 clients with no problems.

Have two requests for the base OS:

1. Include SUNWaudiohd as it will permit some of us who use the EON box to not only store large Audio collections, but send the bits to various USB music players. I think there'd be a huge userbase for Eon if we could also permit the double use of the storage box to also drive the music players.

2. I would gladly contribute UI and tooling if we could do it with Java. Like many professional engineers, I havent touched PHP or Perl in a decade. The Java universe is just something I am more productive and proficient with ; and further unlike Perl developers, I always cleanly separate UI from the "business" logic. To support Java turnkey, requires installing additional /usr/lib components. In your snv130 - they werent included in packaging, and I had to steal them from Illumos and park them on the flash root image.

-- Jim

Jim Doyle said...

One more item: Smartmontools. In the past the bundled version was both out of date (lacking current drive database), not started at boot (no svcadm profile) and lastly had no ability to send email somewhere when a drive test failed (no mail client on eon!)

For myself, it has been a remarkably valuable tool - it detected SMART failures TWICE in a year that preceeded total drive failure. We should fix the first two issues in the next release. As far as the last issue (its desire to send email) - one may tell smartd to use an alternate forked executable to send its message.. We might be able to find a lightweight alternative mail client rather than polluting the small size of the EON image with a monstrously large sendmail package install.

Andre Lue said...

Hi Meastp,

The time to include a minimal structure and detect binary kit version puts it low on the list because of time resources.

Hi Jim,

1. I believe SUNWaudiohd drivers are already in the beta release. I'll have to double check. Can you share how you utilize audio port in your setup.

2. Java bits are pretty huge and maybe easily integrated into binary kit add. Would you mind sharing what you add where and how it's used (email or here if not too large)?

3 I have been unable to get 5.40-41 to compile with standard C lib. I've only been able to compile the new version with gcc which is included in the binary kit because of it's size. If you know how to get the new version built with standard lib C (ldd 5.38 version you have now to see) feel free to drop me an email.

4. I only provide a mail client (postfix) for licensed users. I've got to add a separation of value somewhere.

Jim Doyle said...

The audio use-case scenario would be a user with an extensive ripped
CD/Vinyl collection on eon with their D/A Converter box directly attached to the eon server via USB 2.0. Such a user would choose the high-reliability of ZFS over other fileserver solutions to protect their large collection from disk failures and data corruption as well as manage storage growth.

The USB attached D/A Converter is a mature market. Audiophile types now buy include the M-Audio Transit, the Apogee Rosetta, the Cambridge Audio DAC Magic,
the Benchmark DAC-1and many other competing solutions convert their FLAC/mp3/PCM files back to analog audio for feed directly into their stereo preamps.

The USB DACs are considered a "step up" from consumer grade products such as PCI sound cards, the Logitech Squeezebox and Touch, the Sony media center solution etc.

The solution to bridging the gap in Eon for this application is simple:

1. Provide the SUNWhdaudio kernel modules so that a USB ASIO compatible pseudo-device on Solaris will appear as /dev/audio.
This pseudo-device is the point of contact to the external DAC, which all use the ASIO protocol.

2. Port and Compile any of the uPNP compatible Media Renderer clients on Solaris.
This will permit a running Winamp or Songbird front end, or, for that matter, a compatible playback GUI on an Android phone, to remotely stream audio out the USB port - into the DAC - and to the stereo.

The advantage of this solution is that for those of us with USB DACs (either consumer, or high-end), we can playback music directly without having to introduce
yet another computer in the house (to run the renderer client). The
media renderer could either be GMediaRender, or something custom built on GuPNP for Solaris.

Let me know!

Jim Doyle said...

As far as Java on EON snv130, what
was missing in /usr/lib that the
JDK needs is libCrun.so.1

Other than that, if you just unpack the Solaris JDK in /usr/local and
set JAVA_HOME, JDK_HOME - it works
wonderfully as it should on any Solaris platform.

Andre Lue said...

Hi Jim,

libCrun added to binary kit should work fine.

I figured java should work as you described. May be able to skip the JAVA_HOME step by sym linking original destination in EON to /usr/local/java etc. Thanks for the info on the audio setup. Sounds like you got a beast of a setup :)

Any particular uPnP server you know of that compiles and works well on oi_151?

Jim Doyle said...

Downloading oi_dev_151a ISO right now. It's time for me to answer your question on uPNP now that we have a chance to get the USB ASIO audio driver in the next build.

So far, EON has lived up to its job. 2 Seagate disk failures with RMA since 2009. At least 5 times when "zpool scrub" detected and corrected checksum errors. Triple mirror pool.

1053 Albums worth of music. 2200 hand-scanned family photos from the year 1910 onward and growing. Scanned school records. Scanned copies of last 7 years worth of tax return data... Source code for every major project I've worked on since 2003....

The mirror scheme has more than payed off by already saving me from smart failures and bit rot..
God bless those with unmirrored 1TB drives. :)

Somerandom said...

Hi Andre,

Glad to see that EON lives on!
I am in favor of lower memory overhead. An increase in size doesn't really worry me - a 2GB usb key is really no big deal these days...

I personally use the 32bit+non-samba, binary kit, hand compiled transmission bittorrent client (which would be great to see in the binary kit).

Cheers,
John

Eric_DL said...

Wow, all this just opens an ocean of possibilities with eon ... literally stunning !

Cedric Tineo said...

Reliability and good version of netatalk for fast transfers to/from macs + time machine compatibility are paramount for me!

Thank you so much for all the incredible work you're doing Andre!

Andre Lue said...

Hi Cedric,

An updated version of netatalk 2.2.1 that works with OS X LION and Snow Leopard has been beta tested by Shahbaz (TimeMachine HowTo) and confirmed working. Transmission also added.

durian said...

Hi Andre,

Any idea when you will release the beta to the public. Eagerly waiting to test it out. I have a new hardware built just for this.

Thanks for all the work.

Andre Lue said...

Hi Durian,

I originally planned the beta release for 11.11.11 but because of time resources that was missed. I'm targeting before years end as my gift but currently been hit with another time sink, called jury duty :(

Thanks for your patience. I think the release will be well received and don't think it will disappoint. :)

Max said...

The EON teaser trailer has indeed teased me! I'm excited :-)

Andre Lue said...

Hi Max,

Keep checking back as I'm working hard to deliver it soooon!

Somerandom said...

Hi Andre,

Would it be a good idea to add the collectd package to the binary kit as well?

Regards,
John

Andre Lue said...

Hi John,

Collectd is definitely interesting and would/will add great value, but it will require some compile cycles. My cycles are currently focused on 32 bit EON and the binary kit. Any takers for a /usr/local/collectd compile?

Patrick R. said...

A little off topic but I was curious if you could give me some advice on this. I bought a Seagate External Drive to which I want to backup my data. I started thru my windows box but it was slow and i didn't want all the extra I/O on my new SSD. Is the last build (not the latest) able to mount ntfs? Or should i just format it to fat32 (LBA) so i can get files from a windows system if needed? Also is rsync the best option to move all the files from my pool to the external drive or are there any better options installed?
Thanks!