D&C GLug - Home Page

[ Date Index ] [ Thread Index ] [ <= Previous by date / thread ] [ Next by date / thread => ]

Re: [LUG] First plunge into ZFS/FreeNAS

 

On 17/04/17 21:32, Daniel Robinson via list wrote:
> Hello folks,
> 
> Just wondering if somebody would be so kind as to tell me my RAID
> options for my current hardware setup.
> 
> I have  2x identical 1TB and 2x identical 500GB stuffed inside a newly
> acquired HP N40L microserver.
> 
> In am looking for redundancy and don't require more than 1TB of total
> storage at this present time.
> 
> I will be using FreeNAS unless anyone wants to point me back in the
> direction of Linux/Debian.
> 
> My guess is I'll need two RAID 1. 2x1tb=1tb 2x500gb=500gb total storage
> of 1.5TB. However, I am very new to ZFS and I might be looking at this
> as though it was the year 2004. (not played with RAID since around that
> time).
> 
> Any pointers please?

Hi Daniel - I was just going to take a break from answering DCGLUG
questions for a bit and then you had to pop up and mention the "Z"
thing, which unfortunately I just can't resist... ZFS is my favourite
thing in computing since Linux probably.

MJE's already given you some great pointers on FreeNAS and he's pretty
spot on, especially regarding the GUI. It nearly completely spoils an
otherwise turnkey appliance unfortunately as I inevitably find myself
configuring things more efficiently and a lot faster at the prompt in
BSD style, only to find out it's completely out-of-sync with all the GUI
stuff. At which point I usually wish I'd just rolled my own with actual
BSD which is what I usually end up doing. FreeNAS is flawed in my
opinion, although if you don't stray outside the GUI much or try and do
anything relatively complicated, it's still not a bad product.

You should first check this out though:

https://www.servethehome.com/freenas-corral-canned-development-essentially-halted-now/

As ever, nothing is simple as it first seems :[

FreeNAS is developed by a company called "iX" and they don't have a
stellar reputation: like the "Electric Fence" company that develops
pfsense, another famous BSD-derived turnkey appliance that functions as
an all-in-one network system they make some questionable calls sometimes
- people have said considerably less charitable things about them
elsewhere too, which I'll leave as an exercise for you to google. BSD of
course is very permissively licensed as compared to the famous GPL which
kind of opens the doors for various abuses. Both iX and Electric Fence
have been panned mercilessly for playing fast and loose with licensing,
copyright assignments and stiffing user communities over the years -
ultimately they are for-profit companies that want you to upgrade from
their free versions to paid flagship products. Make of that what you
will: neither pfsense or FreeNAS are useless by any means but all that
glitters is not gold. I personally keep retesting both again and again
over the years, only to remember why I either roll my own, pay
considerably more for enterprise products from different vendors when
appropriate or look for other free equivalents that aren't run by scumbags.

This probably isn't the kind of information you wanted to be fair, but I
feel it would be a bit remiss not to warn you. I know I'm an annoying as
hell know-it-all sometimes but I really have a *lot* of painful
experience in this specific area. On that note, I'm going to annoy you
even more by saying that I really, *really* don't like HP Microservers
one little bit either and I've dealt with god knows how many of them. I
used to work for a couple of companies that actually resold them
packaged with amongst other things FreeNAS and pfsense so I really do
have the scars to show for it. But now I feel really bad so time to be a
bit more positive.

There's no reason why your Microserver N40L can't and won't be a really
fun little toy to play with and even a perfectly functional little NAS
box for actual fileserving duties - don't let my sour grapes put you off!

Things to bear in mind: they aren't strong systems (there are newer ones
with full UEFIs, multicore Xeons and add-in proper RAID cards that are
surprisingly potent but unfortunately you don't have one of those) so
will never manage much in the way of throughput. The built in RAID
system sucks and you'll be much, much better off disabling it completely
and using either softraid or ZFS functionality to handle the whole
storage stack. The lack of expansion slots isn't helpful either, as is
their tendency to disable or degrade some SATA ports if you fully load
the box and/or use the internal headers to connect devices up - this
varies by model unfortunately so I recommend really reading around to
get the full info. There is a TON of info online about these things
luckily, so read as much as you can on your specific unit.

What you want to do with it is the most important factor - if you just
want to experiment with it and try loads of different options it's
actually a great little test box but be wary of the common mistake. You
start off with a test instance, it goes well and so you start using it
and then before you know it, suddenly the machine has accidentally been
promoted from testing to production and you can't really tweak or muck
about with it much 'cos it's now your main backup target and fileserver.
Keep all your important stuff elsewhere until you've really, really
settled on your final system for it and then to be fair, you can
probably shove it in a closet and forget about it for a few years and it
will Just Work(TM). The Microservers are genuinely good for that, I
won't knock 'em too hard.

As to your actual original question, you mostly know what you're doing
and I prefer your approach to MJE's advice to be honest! It's currently
a spare box after all so screw reading the manual (sorry Michael) and
just install whatever you want and play with it until it breaks. Then
wipe it and reinstall again.

Bearing in mind the limitations I mentioned of degrading SATA
connections with a fully populated box, if you rip out the optical drive
as well as use the internal header you can actually cram two more SATA
disks in there (not full size obviously). The N40L is frankly just too
weak for serious ZFS use - forget 8Gb RAM if you want to use anything
above the most basic features. Flicking on native ZFS compression will
batter performance and the killer feature - dedupe - will instantly
cripple it completely. For more gentle use like a home fileserver if you
do want to use ZFS and I definitely recommend playing with it, it'll be
much, much more usable if you grab one of the spare internal SATAs,
attach a SSD and configure it as a ZIL/L2ARC cache for the zpools. That
unfortunately is somewhat of a dark art that will require a lot benching
and tuning to really bring it to life. This is exactly the sort of thing
your N40L might be pretty fun to muck about with I guess - but I
categorically would NOT use FreeNAS for this. You'd be better off with
straight FreeBSD or even Linux. Most of the better Linux distros have
quite robust ZFS systems available now, including Debian and CentOS. And
Arch, Ubuntu, SuSE...

Initially you would indeed want to configure 2 x zpools, one out of the
500Gb disks and one out of the 1Tb disks. You have multiple options even
there, and many, many gotchas to watch out for: ZFS intensely dislikes
the lazy setups that you tend to get "out of the box". You need to watch
for partition sector alignments, ashift values, stride size and types...
all of which can be relentlessly tuned. You can go RAIDZ across two of
the disks to create a RAID1 style mirror, or just make one non-fault
tolerant JBOD style array out of both disks, and then tell ZFS
specifically to keep multiple redundant copies on both platter sets.
Again, all can be mercilessly tweaked and tuned and even slight
misconfigurations can cripple performance instantly. ZFS will also eat
any and all RAM it can get its hands on, and then some.

Ermm, I'm not exactly selling ZFS here am I? :|

On that specific hardware I think I'd be tempted to play with everything
and just muck about if I were you. A lot of this stuff is overthinking
it and way too "enterprisey" to care about for a dinky little home
server box. An actual, solid recommendation? I'd stick with Linux to be
honest if I wanted it to be an actual working system rather than just a
test box.

Specifically, I'd go with Arch (or Debian stable, or CentOS - the
boring, ultra-stable ones) and mdraid, the Linux software
implementation. Don't do the predictable nasty RAID 0 or 1 default
options though, they suck. What you probably want is a RAID10 far2
layout type across each of your 2x2 disk sets and run the OS from USB
(ugh) or an internal SATA port. Follow Michael's advice to add a second,
bonded network card and whilst you still won't saturate a gigabit link
from non-SSD SATA drives, RAID10-FAR2 will give you normal array write
speeds and very nearly double the usual read speeds of a traditional
RAID setup. That'll happily serve multiple large HD films or similar
workloads which considering the hardware platform it's running on, is
the highest utilisation you're realistically going to get out of it.
Unfortunately that will still be *considerably* slower than a half
decent modern laptop with m2 SSD storage and USB3.1 Gen2/Thunderbolt
connectivity but hey, your N40L is also cheaper than a MacBook Pro or
Dell XPS 13 anyway. Plus you probably don't have a 10G switch to hand
anyway to carry that sort of throughput so whatever.

Damn it, I really got carried away this time. This was the proverbial
red flag to the bull question I guess, lots of my favourite subjects all
crammed into one! Sorry Daniel, hope some of that will be of some use
and not too... negative in places. Don't get me wrong, a fun toy is a
fun toy and I've got some original RPis still running as production
fileservers here and there off of SD cards for god's sake, and they work
perfectly. It's in my nature to overthink things and type much too long
emails apparently.

Cheers


-- 
The Mailing List for the Devon & Cornwall LUG
https://mailman.dclug.org.uk/listinfo/list
FAQ: http://www.dcglug.org.uk/listfaq