From: Calvin M. <cal...@gm...> - 2011-09-11 15:41:28
|
I'm exploring additional clustering options using iSCSI-SCST. After some discussion on this list I found out that an Active/Active iSCSI setup wouldn't work mainly due to SCSI PRs even if the data caching issues were worked out. After this discussion I started exploring whether SCST could work properly in a failover clustering scenario. Ideally I would have two (sets of) target portal addresses that would float between two nodes based on the cluster infrastructure. iSCSI-SCST would have two sets of targets bound to these IPs and each set of targets would be enabled on the node that is actively holding that set of targets. IE: Under normal operation, node 1 would enable half the targets bound to cluster virtual address "A", and node 2 would enable half the targets bound to a cluster virtual address "B". All these targets would be using (different) Cluster LVM volumes for backend storage via FILEIO. Under a failover scenario, the Cluster Manager would move the failed virtual address to the other node and the targets associated with the iqn and portal would be enabled on the failover node. Based on the documentation that I have read, this should in theory work. The main outstanding issue is whether the other node will honor existing SCSI PRs in a failover event. My understanding is that SCSI PRs are written to files in /var/lib/scst/pr when created for "persistence through power loss" events. My questions regarding SCST PRs are: According to the documentation, "The 'Persistence Through Power Loss' feature is not available in the procfs build, because the SCST proc interface doesn't allow to keep persistent Relative Target IDs of each target between reboots/reloads." What about separate systems? Will different systems have the same Relative Target IDs if they use the same (synced) configuration file? Both nodes should be using the same target IQN, the same backend storage names (cLVM volumes), same portal IP, etc. If the PR directory is located on a cluster filesystem (so that multiple nodes can read/write data in the same directory without corruption), would it be possible for a failover node to be able to read these files and implement the proper SCSI PRs when it starts iSCSI Target services in a failover event? At what point in initialization are the PR files in /var/lib/scst/pr read? Do they get read during daemon startup, or are they checked / read when a particular target is enabled? Would I have to restart the iSCSI-SCST daemon or will they get used/read when the sysfs parameters are modified (targets added / enabled)? Thanks in advance for any help in answering questions. Best regards, Calvin Morrow |