Mirror of Raidz for data reliability

Marcelo Araujo araujobsdport at gmail.com
Sun May 13 17:35:52 UTC 2012


Hi All,

Me and a co-work are working in a new feature for ZFS, we have 2 Machines
and 2 JBOD, every Machine are connected on those JBOD via SAS and we are
trying to make a fail-over server. Currently every each Machine has two SAS
cables, each one connected in both JBOD.

We have worked last week to figure out, how we could make the data be
always alive in case one JBOD dies, and let me show you my console output
;):

controllerA# zpool status -v araujo
  pool: araujo
 state: ONLINE
 scan: resilvered 57K in 0h0m with 0 errors on Sat May 12 14:32:29 2012
config:

        NAME          STATE     READ WRITE CKSUM
        araujo        ONLINE       0     0     0
          raidz1-0    ONLINE       0     0     0
            mirror-0  ONLINE       0     0     0
              da0     ONLINE       0     0     0
              da3     ONLINE       0     0     0
            mirror-1  ONLINE       0     0     0
              da1     ONLINE       0     0     0
              da4     ONLINE       0     0     0
            mirror-2  ONLINE       0     0     0
              da2     ONLINE       0     0     0
              da5     ONLINE       0     0     0


What I have is: A file system called "araujo" created using raidz with 3
disks, than, I can attache new disks to create a mirror for every disk that
is part of the raidz, with this case, if one of my JBOD fail, my raidz will
still alive, also I can scale with more JBOD to make sure that my data will
be always alive.

Currently is possible to do the solution above, just comment few lines of
code, but our plan is bring something new like:
root# zpool create tank raidzm da0 da1 da2 da3 da4 da5

Where da0 da1 da2 will be raidz and da3 da4 da5 will be mirror of da0 da1
da2. In this case, if da0 da1 or da2 fail, we have the mirror and the raidz
will still works.

I’m wondering if there is any other elegant solution for this case, HAST
could be an option, but I don’t want use ETHERNET to sync JBOD, and in the
case above, it is faster to sync any hard driver more less locally.


Best Regards,
-- 
Marcelo Araujo
araujo at FreeBSD.org


More information about the freebsd-fs mailing list