I have this configuration:
diagram of configuration
- One "shared disk" with one partition formatted as OCFS2
- Host A and host B with direct access to the "shared disk"
- Host C with direct access to the "shared disk" used as iSCSI target with linux tgt (iSCSI) configured for access to the "shared disk"
- Host D and host E with access to the "shared disk" as iSCSI initiators using Host C
- Host A, B, D and E are part of the same OCFS2 cluster
I made these tests:
- Mounted at the same time the shared fs using OCFS2 on host A and B only (on each host ocfs2 daemon logs correctly joinings to cluster when mounting partition)
- Mounted at the same time the shared fs using OCFS2 on host D and E only. Each host in this case is using the iSCSI path to the shared disk and the mount of ocfs2 partition works correctly on each host at the same time.
- Mounted the shared fs on host A and D (A with direct access to shared disk and B using the iSCSI path to iSCSI target on host C) without success. When mounting on one host the other seems not to see the join to the cluster and data corruption occours with ocfs2 errors on log (heartbeat errors)
This last case is the argument of the question. Can be a cache problem on iSCSI target (block device cache or whatelse)? Is this cluster configuration in some way possible with some tuning on iSCSI or is it impossible?