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