Hi,
I'm considering to Build a 2-node highly-available iSCSI target cluster based on FreeBSD. All cluster nodes will share some storage for iSCSI volumes. I plan to use the new ctld(8) iSCSI implementation. All nodes will share a common virtual IP address for client requests. As far as I know, there is basically two ways to set this up in FreeBSD:
Marin.
I'm considering to Build a 2-node highly-available iSCSI target cluster based on FreeBSD. All cluster nodes will share some storage for iSCSI volumes. I plan to use the new ctld(8) iSCSI implementation. All nodes will share a common virtual IP address for client requests. As far as I know, there is basically two ways to set this up in FreeBSD:
- Use CARP to manage the virtual IP + devd(8) to make some scripts subscribe to CARP events.
- Use net/ucarp to handle both the virtual IP and event-based actions.
- According to your experience, which one is the most reliable ? Split-brain scenarios are my greatest fears, and I read that CARP was sometimes not as reliable as it should.
- Both nodes will have identical ctl.conf files and storage paths: is that enough for ctld(8) failover, or am I missing something ?
- Do you know of a way to keep each node's config files in sync ? I could use net/rsync to push changes to the other nodes, but I wonder if a special tool exists for cluster environments.
Marin.