[Q] zpool mirror; read from preferred vdev(s)

Hallo,

Using a zpool mirror; is there a way to set something like a primary storage / preferred vdevs / read-first devices like it was in disksuite using "metaparam -r [roundrobin | geometric | first]" or the "vxvol rdpol [prefer | round | select | siteread]" to define a preferred plex in VxVM? Will ZFS always use round-robin?

In our example we want to use a brand-new fast storage with hot-data tiering (ssd-caching) mirrored/combined to an older/slower one... with round-robin we could assume that every second read will be slower?

Will the write acknowledgement be commited after both writes so we will have no advantage from the faster storage?

Thanks in advance

  • pressy

There is no way I'm aware of to tune a ZFS pool for such a mirror.

The usual way to take advantage of SSD based storage with ZFS is to set up a L2ARC to improve read performance and a ZIL device for write one.

https://blogs.oracle.com/brendan/entry/test

Regarding storage tiering, in high performance environment with ZFS filesystems it is encouraged not to use it.
It also advised not to use data pools if you have any since storage will stripe across all the disks in pool.

Plain luns with only raid protection on storage level as vdevs for zfs pools.

Of course, you will have to take into account amount of spindles in such setup as well as RAID protection level.

Best would be to leave ZFS to do everything on JBOD, but that not feasable with high end storage :slight_smile:

For additional performance SAN tweaking with preferred paths (or some other algorithm, not round robin ) per disk can help in some situations.

Check out this document :

It is for oracle database, but explains alot of things ZFS related and can be used in other scenarios (SSD usage as mentioned).

1 Like

Thanks for your answers;
Also got a hint that there is an open feature request:
Bug 15466549 : SUNBT6678044 MIRROR CHILD SELECTION SHOULD BE SMARTER

gP