summaryrefslogtreecommitdiffstats
path: root/cluster-cman.py
diff options
context:
space:
mode:
authorJan Pokorný <jpokorny@redhat.com>2013-09-03 23:55:03 +0200
committerJan Pokorný <jpokorny@redhat.com>2013-09-03 23:55:03 +0200
commit6fe3fd7c17bf0f103aa223787889115e05dc608e (patch)
tree144138e9783765f76b122bba9135a4d0ce472e3a /cluster-cman.py
parent084147648db3d6465cb37f320de7be417e721294 (diff)
downloadcluster-overview-6fe3fd7c17bf0f103aa223787889115e05dc608e.tar.gz
cluster-overview-6fe3fd7c17bf0f103aa223787889115e05dc608e.tar.xz
cluster-overview-6fe3fd7c17bf0f103aa223787889115e05dc608e.zip
Break down fence devices
Signed-off-by: Jan Pokorný <jpokorny@redhat.com>
Diffstat (limited to 'cluster-cman.py')
-rwxr-xr-xcluster-cman.py69
1 files changed, 44 insertions, 25 deletions
diff --git a/cluster-cman.py b/cluster-cman.py
index fe2b423..8c14ae7 100755
--- a/cluster-cman.py
+++ b/cluster-cman.py
@@ -302,14 +302,17 @@ graph = lambda\
# cluster services layer
#
)
- ,SubgraphStandard('cluster.shared-storage'
+ ,SubgraphStandard('cluster.shared-devices'
#
- # shared storage
+ # shared devices (storage and switch/es)
#
- ,label='shared storage'
+ ,label='shared devices'
,_nodes=\
[StorageDevice('nas'
,label='NAS'
+ )
+ ,StorageDevice('switch'
+ ,label='switch'
)]
)
,SubgraphStandard('cluster.fence'
@@ -318,17 +321,17 @@ graph = lambda\
#
,label='fence devices'
,_subgraphs=\
- [SubgraphStandard('cluster.power-fence'
+ [SubgraphStandard('cluster.direct-fence'
#
- # power fencing
+ # direct fencing
#
- ,label='power fence'
+ ,label='direct fence'
,_subgraphs=\
[SubgraphStandard('cluster.hypervisor'
#
# hypervisor (in a role of power fence executor)
#
- ,label='hypervisor\n(when cluster is virtualized)'
+ ,label='hypervisor as controller\n(when cluster virtualized)'
,rank='same'
,_nodes=\
[Daemon('fence_virtd'
@@ -343,18 +346,28 @@ graph = lambda\
)]
)]
,_nodes=\
- [FenceDevice('power-fence'
- ,label='Power fence\ndevice(s)\n(DRAC/drac,\nHP iLO/ilo, …)'
+ [FenceDevice('direct-fence'
+ ,label='control card\n(drac,ilo,…)\n/power control\n(apc,…)'
+ )]
+ )
+ ,SubgraphStandard('cluster.storage-based-fence'
+ #
+ # storage-based fencing
+ #
+ ,label='storage-based'
+ ,_nodes=\
+ [FenceDevice('storage-based-fence'
+ ,label='blocking writes\n(scsi)/attesting\nliveness (sanlock)'
)]
)
- ,SubgraphStandard('cluster.storage-fence'
+ ,SubgraphStandard('cluster.link-based-fence'
#
- # storage fence
+ # switch-based fencing
#
- ,label='storage fence'
+ ,label='switch-based'
,_nodes=\
- [FenceDevice('storage-fence'
- ,label='Direct use of\nshared storage\n(scsi, sanlock)'
+ [FenceDevice('switch-based-fence'
+ ,label='Ethernet (ifmib)/\nFibre Channel\n(brocade,…)/…'
)]
)]
#
@@ -395,11 +408,11 @@ graph = lambda\
[Delegate\
('node_b-fence_virt'
,'fence_virtd'
- ,label='multicast/serial port'
+ ,label='serial port/\nVMChannel\n/TCP,\nmulticast'
)
,Delegate\
('node_b-fence_agent'
- ,'power-fence'
+ ,'direct-fence'
,ltail='cluster.node_b-fence-agents'
,lhead='cluster.fence'
)
@@ -411,48 +424,54 @@ graph = lambda\
# this has to be enabled as using kernel instead of ricci
# destroys the intended depiction :-/
,ltail='cluster.node_a'
- ,lhead='cluster.shared-storage'
+ ,lhead='cluster.shared-devices'
,headport='e'
)
,Databus\
('node_b-io'
,'nas'
#,ltail='cluster.node_b'
- ,lhead='cluster.shared-storage'
+ ,lhead='cluster.shared-devices'
,headport='n'
)
,Databus\
('node_c-kernel'
,'nas'
#,ltail='cluster.node_c'
- ,lhead='cluster.shared-storage'
+ ,lhead='cluster.shared-devices'
# cluster devices layer - cluster nodes layer (fence execution)
)]+\
[FencedBy\
('node_a-ricci'
- ,'power-fence'
+ ,'direct-fence'
,ltail='cluster.node_a'
- ,lhead='cluster.power-fence'
+ ,lhead='cluster.direct-fence'
)
,FencedBy\
('node_b-clumond.sock'
,'libvirt'
,ltail='cluster.node_b'
- ,lhead='cluster.power-fence'
+ ,lhead='cluster.direct-fence'
)
,FencedBy\
('node_c-ricci'
,'libvirt'
,ltail='cluster.node_c'
- ,lhead='cluster.power-fence'
+ ,lhead='cluster.direct-fence'
,minlen='2'
,weight='3'
)
,FencedBy\
+ ('switch'
+ ,'switch-based-fence'
+ #,ltail='cluster.node_c'
+ ,lhead='cluster.storage-based-fence'
+ )
+ ,FencedBy\
('nas'
- ,'storage-fence'
+ ,'storage-based-fence'
#,ltail='cluster.node_c'
- ,lhead='cluster.storage-fence'
+ ,lhead='cluster.storage-based-fence'
)]
)]
,_edges=\