Hi!

Suppose you have an application A that needs two filesystems F1 and F2. The 
filesystems are on separate LVM VGs VG1 and VG2 with LVs L1 and L2, 
respectively. The RAID R1 and R2 provide the LVM PVs.

(Actually we have one group that has 58 primitives in them with both dimensions 
being wider than in this example)

So you can configure
"group grp_A R1 R2 VG1 VG2 F1 F2 A" (assuming the elements are primitives 
already configured)

Now for example if R2 has a problem, the cluster will restart the whole group 
of resources, even that sequence that is unaffected (R1 VG1 F1). This causes 
extra operations and time for recovery what you don't like.

What you can do now is having parallel execution like this
"group grp_A (R1 R2) (VG1 VG2) (F1 F2) A"
(Note that this is probably a bad idea as the RAIDs and VGs (and maybe mount 
also) most likely use a common lock each that forces serialization)

For the same failure scenario R2 wouldn't be restarted, so the gain is small. A 
better approach seems to be
"group grp_A (R1 VG1 F1) (R2 VG2 F2) A"

Now for the same failure R1, VG1, and F1 will survive; unfortunately if R1 
fails, then everything will be restarted, like in the beginning.

So what you really want is
"group grp_A ((R1 VG1 F1) (R2 VG2 F2)) A"

Now if R2 fails, then R1, VG1, and F1 will survive, and if R1 fails, then R2, 
VG2 and F2 will survive

Unfortunately the syntax of the last example is not supported. This one isn't 
either:

group grp_1 R1 VG1 F1
group grp_2 R2 VG2 F2
group grp_A (grp_1 grp_2) A

So a group of groups would be nice to have. I thought about that long time ago, 
but only yesterday I learned about the syntax of "netgroups" which has exactly 
that: a netgroup can contain another netgroup ;-)

Regards,
Ulrich


_______________________________________________
Linux-HA mailing list
Linux-HA@lists.linux-ha.org
http://lists.linux-ha.org/mailman/listinfo/linux-ha
See also: http://linux-ha.org/ReportingProblems

Reply via email to