Hello, 

I'm thinking about a  setup that looks like this:

- 2 headnodes with FC connectivity (OpenSolaris)
- 2 backend FC srtorages (Disk Shelves with RAID Controllers presenting a huge 
15 TB RAID5)
- 2 datacenters (distance 1 km with dark fibre)
- one headnode and one storage in each data center

(Sorry for this ascii art :)


          ( Data Center 1)       <--1km-->    (Data Center 2)
              (primary)                                        (backup)

[Disk Array 1 with Raid CRTL]     [Disk Array 2 with Raid CRTL]
  [   -- LUN1 16 TB -- ]                 [   -- LUN2 16 TB -- ]
                  |                         \     /                    |
                  |                         /     \                    |
                  |                      /           \                 |
          [      FABRIC 1      ]            [     FABRIC 2    ]
                  |                         \     /                    |
                  |                         /     \                    |
                  |                     /             \                 |
[    Osol HeadNode 1     ]             [    Osol HeadNode 2   ]
      [   -- active -- ]

Zpool "mytest" on HeadNode2 :

mytest
 | - mirror
       |- LUN1
       |- LUN2

Both headnodes can see both storages. The storages are connected to the hosts 
via SAN switches and two fabrics  (redundant multipath configuration).

This setup should be a active / passive setup with manual failover (pool import 
in case of a site failure)

When thinking about this setup some questions popped into my mind. Most of them 
are concerened with resilvering.

SAS-analogy:
 If using OpenSolaris in a simple SAS backplane server with SAS disks, if I 
pull a disk, the disk failure is detected and the volume continues in degrated 
mode. Now if I plug the SAS disk back, automatic resilvering happens to the 
disk. Only deltas are resilvered.

How there are different corner cases of outage in the FC example that are 
intersting and I'm, not sure how ZFS would react (unfortunately I do not have 
the boxes here to test).

Failure scenarios:
a) temporary storage failure
(e.g. Disk Array 1 rebooting)

In this case I expect that the pool continues in degraded mode. When the 
storage comes back up I'm not sure if the disks are automatically hot added to 
the OS and thus I dont know if an automatic resilvering takes place.

b) permanent storage failure
(e.g. Disk Array 1 burning down or having 2 disk failure in RAID5 )

In this case I expect that the pool continues in degraded mode. When a new 
storage is put back, no automatic resilvering takes place (no vdev label found) 
. The LUN has to be replaced manually.

c) split brain - no volume import
(e.g. connection between the sites failing, administrator not issueing "volume 
import" on HeadNode2)

This case is similar to a).

d) Short Failure of Data Center 1
(e.g. short power failure in data center 1. No manual failover to data center 2 
by administrator.)

.. actually I have no idea what happens :)

e) Power Outage in Data Center 1
(e.g. long power failure in data center 1. Administrator performs volume import 
on HeadNode2)

.. actually I have no idea what happens ... again :)

f) split brain - volume is imported
(e.g. connection between the sites failing, administrator issueing "volume 
import" on HeadNode2)

This is a critical case. The pool is active on two nodes, while HeadNode1 uses 
LUN1 and HeadNode2 uses LUN2 of the pool. If automatic resilvering takes place, 
in which direction will resilving take place ? Will the nodes overwrite each 
others data in the backend ? - no idea.

My question is:

Has anyone setup something like this and can give some insights on how ZFS 
behaves in the cases above ? Is this a safe setup (guaranteed data integrity of 
ZFS) ? How does resilvering identify the direction in which resilvered should 
happen ?

I would appreshiate any input on this.

Regards,
-- 
This message posted from opensolaris.org
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to