FreeBSD ZFS file server with SSD HDD

Paul Pathiakis pathiaki2 at yahoo.com
Wed Oct 11 14:56:38 UTC 2017


Hi,
This is sort of a complementary answer. Seems like a cool setup.  

One thing as an SA is to do detailed operational awareness with history for things.  (aka a solid SNMP monitoring tool with graphing so that you can see what is happening at exactly that time regarding network status, I/O status, CPU + resources as well as other detail. )  There's a good amount like Zabbix, Nagios, Munin, Ganglia, etc in ports/pkgs.  - My favorite is OpenNMS which I was going to do the port for but ran out of time.  

They support point-in-time graphing.  Once you resolve this issue, get some tool up and running so you can 'see' status on everything at that time. (an you can give read-only access to management so they can ooo and ahhh at it.)  It is very useful to see where the bottleneck is... if there is one...  otherwise, tuning parameters for everything (ZFS, NFS, NIC, etc) will have to tried as you can't easily narrow down where the problem is. 

Just trying to help in the long term.

P.

      From: Adam Vande More <amvandemore at gmail.com>
 To: Kate Dawson <k4t at 3msg.es> 
Cc: FreeBSD Questions <freebsd-questions at freebsd.org>
 Sent: Wednesday, October 11, 2017 10:41 AM
 Subject: Re: FreeBSD ZFS file server with SSD HDD
   
On Wed, Oct 11, 2017 at 8:05 AM, Kate Dawson <k4t at 3msg.es> wrote:

> Hi,
>
> Currently running a FreeBSD NFS server with a zpool comprising
>
> 12 x 1TB hard disk drives are arranged as pairs of mirrors in a strip set
> ( RAID 10 )
>
> An additional 2x 960GB SSD added. These two SSD are partitioned with a
> small partition begin used for a ZIL log, and larger partion arranged for
> L2ARC cache.
>
> Additionally the host has 64GB RAM and 16 CPU cores (AMD Opteron 2Ghz)
>
> A dataset from the pool is exported via NFS to a number of Debian
> Gnu/Linux hosts running a xen hypervisor. These run several disk image
> based virtual machines
>
> In general use, the FreeBSD NFS host sees very little read IO, which is to
> expected
> as the RAM cache  and L2ARC are designed to minimise the amount of read
> load
> on the disks.
>
> However we're starting to see high load ( mostly IO WAIT ) on the Linux
> virtualisation hosts, and virtual machines - with kernel timeouts
> occurring resulting in crashes and instability.
>
> I believe this may be due to the limited number of random write IOPS
> available
> on the zpool NFS export.
>
> I can get sequential writes and reads to and from the NFS server at
> speeds that approach the maximum the network provides ( currently 1Gb/s
> + Jumbo Frames, and I could increase this by bonding multiple interfaces
> together. )
>
> However day to day usage does not show network utilisation anywhere near
> this maximum.
>
> If I look at the output of `zpool iostat -v tank 1 ` I see that every
> five seconds or so, the numner of write operation go to > 2k
>
> I think this shows that the I'm hitting the limit that the spinning disk
> can provide in this workload.
>

I doubt that is the cause.  It is more likely you have

vfs.zfs.txg.timeout

set to the default.  Have you tried any other zfs or nfs tuning?  If so,
please share those details.

Does gstat reveal anything useful?


-- 
Adam
_______________________________________________
freebsd-questions at freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"


   


More information about the freebsd-questions mailing list