# ZFS - striped on two, mirrored on third; possible?



## JamesElstone (Jan 16, 2016)

Hi all,

I have two quick (~80MB/s) 32GB disks, and a third slower 64GB (15MB/s) disk on an i386 system which has 1G of ram.

What would be the best strategy in ZFS?  I was thinking something like striping the quick pair, mirrored to the slower drive, but unsure of the best way to configure this for read performance to achieve this?

All advice most welcomed!

73,
James


----------



## chrbr (Jan 16, 2016)

I would first think about if ZFS would work as expected on an i386 system. Then it depends on what you want to achieve. Now I assume there is no additional storage which holds the system. How about installing the system on the slow disk and use the fast drives for the data if speed is of highest importance? It might be worth to consider geom(8) which should need less resources than ZFS.

55 and 73,
Christoph


----------



## JamesElstone (Jan 16, 2016)

Hi Christoph,

At your promoting, I have just read the Errata Notice for FreeBSD 10.2 and noticed the issue with ZFS on the GENERIC i386 kernel and decided better of it for now.

geom(8) was already in the back of my mind!

13 / 73,
James


----------



## JamesElstone (Jan 17, 2016)

Just as an update, I have decided against software based geom(8) striping on this system:

`diskinfo -t ada0` and `diskinfo -t ada1` results in an average read throughput of about 89MB/s each.

When combined in a striped volume using gstripe(8) on ada0 and ada1 the performance drops to an average read throughput of about 48.9MB/s.

When `sysctl kern.geom.stripe.fast=1` is applied, the throughput goes up to about 62MB/s.  (Which is still less than the raw disk speed).
These are both on the same UDMA100 controller, (ada0 and ada1 on separate channels), so would have expected high 90's at least..

Am going to be better off using the disks flat at different mount points, unless there are any ideas about the bottleneck I am hitting?  Anyone any thoughts?

73,

James


----------



## tingo (Jan 18, 2016)

UDMA100? Is this a very old system? No SATA and ahci(4)?


----------



## phoenix (Jan 18, 2016)

So, ada0 is Primary Master, and ada1 is Secondary Master (using two separate IDE cables)?  Or are they Primary Master and Primary Slave (using a single IDE cable)?

It sounds like the latter, where they are both plugged into the same IDE controller, on the same IDE port (Primary), using the same IDE cable.  Only a single IDE device on a channel can be active at a time (so you can't write to the Master and Slave devices simultaneously).  So, if you use 2 IDE devices on a single channel, you get the same performance as a single device on that channel, as only a single device can be active at a time.  Which is what your benchmarking results are showing.

You'll need to move your disks to separate IDE controllers.  ada0 as the Primary Master, and ada1 as the Secondary Master.  With no other devices plugged into the IDE cables.  That's the only way to get "good" performance out of IDE devices.  To add a 3rd disk, you'll need to add another IDE controller, or else suffer with the performance degradation that using the Slave ports will cause.


----------

