ZFS HA_CTL mode 2 on ZFS


my first post here!

I have two storage controllers but only one of them has direct access to the disks.

storage1: has access to the disks and the zfs pool is created on that node.
storage2: only has a copy of the zfs dataset copied over backup plans made via znapzend

From the zfs pool, I create zfs volumes and expose them via ctld and use them from KVM/Linux hypervisors to create VM.

It already happened to me that after a modification in the ctladm.conf file and a restart of ctld to expose a new LUN, a configuration error made the ctladm restart fail and consequently, after a timeout of 30 seconds, all the VM went read-only...

In order to prevent such a situation to happen again, I'd like to setup a redundant controller. I think I can achieve this by using the HA_CTL feature from ctld in mode 2:

kern.cam.ctl.ha_mode = 2

Active/Active -- primary node has backend
access and processes requests, while sec-
ondary node forwards all requests and data to
primary one;

I'm not sure how it works and how to configure this hactl setup in mode 2. I cannot find any relevant configuration example for this. The only paper referring to this, is "The Beat Project" from mezzantrop but he is using it in mode 1.

The purpose would be that if the ctld of storage1 fails, via multipath on the hypervisor, the ISCSI requests would flow through storage2 ctld and then storage2 will forward them to storage1's ctld via an node interconnect link on separated interfaces. Does this scenario match with the ha_ctl mode 2 or do I get it wrong?

Any pointer?

Thanks a lot guys!

PS: another measure if of course to increase the iscsi timeout. I'll push it to 180 (NetApp general reccos)