HAST + ZFS self healing? Hot spares?
Pawel Jakub Dawidek
pjd at FreeBSD.org
Thu May 19 18:15:06 UTC 2011
On Wed, May 18, 2011 at 08:13:13AM +0200, Per von Zweigbergk wrote:
> I've been investigating HAST as a possibility in adding synchronous replication and failover to a set of two NFS servers backed by NFS. The servers themselves contain quite a few disks. 20 of them (7200 RPM SAS disks), to be exact. (If I didn't lose count again...) Plus two quick but small SSD's for ZIL and two not-as-quick but larger SSD's for L2ARC.
[...]
The configuration you should try first is to connect each disks pair
using HAST and create ZFS pool on top of those HAST devices.
Let's assume you have 4 data disks (da0-da3), 2 SSD disks for ZIL
(da4-da5) and 2 SSD disks for L2ARC (da6-da7).
Then you create the following HAST devices:
/dev/hast/data0 = MachineA(da0) + MachineB(da0)
/dev/hast/data1 = MachineA(da1) + MachineB(da1)
/dev/hast/data2 = MachineA(da2) + MachineB(da2)
/dev/hast/data3 = MachineA(da3) + MachineB(da3)
/dev/hast/slog0 = MachineA(da4) + MachineB(da4)
/dev/hast/slog1 = MachineA(da5) + MachineB(da5)
/dev/hast/cache0 = MachineA(da6) + MachineB(da6)
/dev/hast/cache1 = MachineA(da7) + MachineB(da7)
And then you create ZFS pool of your choice. Here you specify
redundancy, so if there is any you will have ZFS self-healing:
zpool create tank raidz1 hast/data{0,1,2,3} log mirror hast/slog{0,1} cache hast/cache{0,1}
> 1. Hardware failure management. In case of a hardware failure, I'm not exactly sure what will happen, but I suspect the single-disk RAID-0 array containing the failed disk will simply fail. I assume it will still exist, but refuse to be read or written. In this situation I understand HAST will handle this by routing all I/O to the secondary server, in case the disk on the primary side dies, or simply by cutting off replication if the disk on the secondary server fails.
HAST sends all write requests to both nodes (if secondary is present)
and read requests only to primary node. In some cases reads can be send
to secondary node, for example when synchronization is in progress and
secondary has more recent data or reading from local disk failed (either
because of single EIO or entire disk went bad).
In other words HAST itself can handle one of the mirrored disk failure.
If entire hast/<resource> dies for some reason (eg. secondary is down
and local disk dies) then ZFS redundancy kicks in.
--
Pawel Jakub Dawidek http://www.wheelsystems.com
FreeBSD committer http://www.FreeBSD.org
Am I Evil? Yes, I Am! http://yomoli.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-fs/attachments/20110519/791fd87b/attachment.pgp
More information about the freebsd-fs
mailing list