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

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
 
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
 
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
 
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
 
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.
 
Back
Top