update witness
authorMichael Adam <obnox@samba.org>
Wed, 20 Apr 2016 15:39:27 +0000 (17:39 +0200)
committerMichael Adam <obnox@samba.org>
Wed, 20 Apr 2016 15:39:27 +0000 (17:39 +0200)
Makefile
design-ctdb-three-nodes-with-witness-step0.dia [new file with mode: 0644]
design-ctdb-three-nodes-with-witness-step1.dia [new file with mode: 0644]
design-ctdb-three-nodes-with-witness-step2a.dia [new file with mode: 0644]
design-ctdb-three-nodes-with-witness-step2b.dia [new file with mode: 0644]
design-ctdb-three-nodes-with-witness-step3a.dia [new file with mode: 0644]
design-ctdb-three-nodes-with-witness-step3b.dia [new file with mode: 0644]
design-ctdb-three-nodes-with-witness-step4.dia [new file with mode: 0644]
design-ctdb-three-nodes-with-witness-step5.dia [new file with mode: 0644]
witness.wiki

index 9fa3d15..c777c72 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -14,6 +14,14 @@ IMAGE_MC_DAEMONS_N2 = smb3-mc-daemons-n2
 IMAGE_MC_DAEMONS_N3 = smb3-mc-daemons-n3
 IMAGE_RDMA_V2 = smb3-rdma-samba-v2
 # IMAGE_CTDB_3N = design-ctdb-three-nodes
+IMAGE_CTDB_3N_WITNESS_STEP0 = design-ctdb-three-nodes-with-witness-step0
+IMAGE_CTDB_3N_WITNESS_STEP1 = design-ctdb-three-nodes-with-witness-step1
+IMAGE_CTDB_3N_WITNESS_STEP2A = design-ctdb-three-nodes-with-witness-step2a
+IMAGE_CTDB_3N_WITNESS_STEP2B = design-ctdb-three-nodes-with-witness-step2b
+IMAGE_CTDB_3N_WITNESS_STEP3A = design-ctdb-three-nodes-with-witness-step3a
+IMAGE_CTDB_3N_WITNESS_STEP3B = design-ctdb-three-nodes-with-witness-step3b
+IMAGE_CTDB_3N_WITNESS_STEP4 = design-ctdb-three-nodes-with-witness-step4
+IMAGE_CTDB_3N_WITNESS_STEP5 = design-ctdb-three-nodes-with-witness-step5
 # IMAGE_CTDB_DAEMONS = ctdb-design-daemons
 # IMAGE_SAMBA_LAYERS = samba-layers
 # IMAGE_SAMBA_RELEASES = samba-release-stream
@@ -24,7 +32,15 @@ DIAIMAGES_BASE := $(IMAGE_MC_V1) \
                  $(IMAGE_MC_DAEMONS_N1A) \
                  $(IMAGE_MC_DAEMONS_N2) \
                  $(IMAGE_MC_DAEMONS_N3)\
-                 $(IMAGE_RDMA_V2)
+                 $(IMAGE_RDMA_V2) \
+                 $(IMAGE_CTDB_3N_WITNESS_STEP0) \
+                 $(IMAGE_CTDB_3N_WITNESS_STEP1) \
+                 $(IMAGE_CTDB_3N_WITNESS_STEP2A) \
+                 $(IMAGE_CTDB_3N_WITNESS_STEP2B) \
+                 $(IMAGE_CTDB_3N_WITNESS_STEP3A) \
+                 $(IMAGE_CTDB_3N_WITNESS_STEP3B) \
+                 $(IMAGE_CTDB_3N_WITNESS_STEP4) \
+                 $(IMAGE_CTDB_3N_WITNESS_STEP5)
 #                $(IMAGE_CTDB_3N) \
 #                $(IMAGE_CTDB_DAEMONS) \
 #                $(IMAGE_SAMBA_LAYERS) \
diff --git a/design-ctdb-three-nodes-with-witness-step0.dia b/design-ctdb-three-nodes-with-witness-step0.dia
new file mode 100644 (file)
index 0000000..ab98e2b
Binary files /dev/null and b/design-ctdb-three-nodes-with-witness-step0.dia differ
diff --git a/design-ctdb-three-nodes-with-witness-step1.dia b/design-ctdb-three-nodes-with-witness-step1.dia
new file mode 100644 (file)
index 0000000..e3a1ed3
Binary files /dev/null and b/design-ctdb-three-nodes-with-witness-step1.dia differ
diff --git a/design-ctdb-three-nodes-with-witness-step2a.dia b/design-ctdb-three-nodes-with-witness-step2a.dia
new file mode 100644 (file)
index 0000000..2a1f4a8
Binary files /dev/null and b/design-ctdb-three-nodes-with-witness-step2a.dia differ
diff --git a/design-ctdb-three-nodes-with-witness-step2b.dia b/design-ctdb-three-nodes-with-witness-step2b.dia
new file mode 100644 (file)
index 0000000..fdb33a4
Binary files /dev/null and b/design-ctdb-three-nodes-with-witness-step2b.dia differ
diff --git a/design-ctdb-three-nodes-with-witness-step3a.dia b/design-ctdb-three-nodes-with-witness-step3a.dia
new file mode 100644 (file)
index 0000000..d3683b0
Binary files /dev/null and b/design-ctdb-three-nodes-with-witness-step3a.dia differ
diff --git a/design-ctdb-three-nodes-with-witness-step3b.dia b/design-ctdb-three-nodes-with-witness-step3b.dia
new file mode 100644 (file)
index 0000000..12475c6
Binary files /dev/null and b/design-ctdb-three-nodes-with-witness-step3b.dia differ
diff --git a/design-ctdb-three-nodes-with-witness-step4.dia b/design-ctdb-three-nodes-with-witness-step4.dia
new file mode 100644 (file)
index 0000000..6ba4363
Binary files /dev/null and b/design-ctdb-three-nodes-with-witness-step4.dia differ
diff --git a/design-ctdb-three-nodes-with-witness-step5.dia b/design-ctdb-three-nodes-with-witness-step5.dia
new file mode 100644 (file)
index 0000000..fda2dc9
Binary files /dev/null and b/design-ctdb-three-nodes-with-witness-step5.dia differ
index 2bbbf09..7f2fd3a 100644 (file)
 
 ==== Witness - General ====
 
-New DCE/RPC Service to “witness” availability of services, in particular SMB3 connections
-* Prompt and explicit notifications about failures
-* Allows Continuous Availability of SMB shares in clustered environments (together with persistent handles)
-* Controlled way of dealing with reconnects instead of detecting failures due to timeouts
+* New DCE/RPC Service to “witness” availability of IPs, shares, ...
+* ==> Faster fail-over of clients in the cluster
+* Prompt, explicit, and controlled notifications about failures \ %
+  (CTDB tickle-ACKs are implicit)
 * Available since SMB3 (Windows 8 / Windows Server 2012)
-* More advanced failover mechanism than Tickle-ACK that is used within CTDB
-
-%%% ==== Witness - Failover with SMB3 in a Samba/CTDB cluster ====
-%%% 
-%%% -<1>{
-%%% <[center]
-%%% <<<design-ctdb-three-nodes-with-witness-step0.png, width=.95\textwidth>>>
-%%% [center]>
-%%% }
-%%% 
-%%% -<2>{
-%%% <[center]
-%%% <<<design-ctdb-three-nodes-with-witness-step1.png, width=.95\textwidth>>>
-%%% [center]>
-%%% }
-%%% 
-%%% -<3>{
-%%% <[center]
-%%% <<<design-ctdb-three-nodes-with-witness-step2a.png, width=.95\textwidth>>>
-%%% [center]>
-%%% }
-%%% 
-%%% -<4>{
-%%% <[center]
-%%% <<<design-ctdb-three-nodes-with-witness-step2b.png, width=.95\textwidth>>>
-%%% [center]>
-%%% }
-%%% 
-%%% -<5>{
-%%% <[center]
-%%% <<<design-ctdb-three-nodes-with-witness-step3a.png, width=.95\textwidth>>>
-%%% [center]>
-%%% }
-%%% 
-%%% -<6>{
-%%% <[center]
-%%% <<<design-ctdb-three-nodes-with-witness-step3b.png, width=.95\textwidth>>>
-%%% [center]>
-%%% }
-%%% 
-%%% -<7>{
-%%% <[center]
-%%% <<<design-ctdb-three-nodes-with-witness-step4.png, width=.95\textwidth>>>
-%%% [center]>
-%%% }
-%%% 
-%%% -<8>{
-%%% <[center]
-%%% <<<design-ctdb-three-nodes-with-witness-step5.png, width=.95\textwidth>>>
-%%% [center]>
-%%% }
+
+==== Witness - Failover with SMB3 in a Samba/CTDB cluster ====
+
+-<1>{
+<[center]
+<<<design-ctdb-three-nodes-with-witness-step0.png, width=.95\textwidth>>>
+[center]>
+}
+
+-<2>{
+<[center]
+<<<design-ctdb-three-nodes-with-witness-step1.png, width=.95\textwidth>>>
+[center]>
+}
+
+-<3>{
+<[center]
+<<<design-ctdb-three-nodes-with-witness-step2a.png, width=.95\textwidth>>>
+[center]>
+}
+
+-<4>{
+<[center]
+<<<design-ctdb-three-nodes-with-witness-step2b.png, width=.95\textwidth>>>
+[center]>
+}
+
+-<5>{
+<[center]
+<<<design-ctdb-three-nodes-with-witness-step3a.png, width=.95\textwidth>>>
+[center]>
+}
+
+-<6>{
+<[center]
+<<<design-ctdb-three-nodes-with-witness-step3b.png, width=.95\textwidth>>>
+[center]>
+}
+
+-<7>{
+<[center]
+<<<design-ctdb-three-nodes-with-witness-step4.png, width=.95\textwidth>>>
+[center]>
+}
+
+-<8>{
+<[center]
+<<<design-ctdb-three-nodes-with-witness-step5.png, width=.95\textwidth>>>
+[center]>
+}
 
 ==== Witness - Samba ====
 
-Currently under development in Samba
+<[block]{Currently under development in Samba}
 * PoC implementation available
-* Currently on hold until new DCE/RPC async infrastructure is available
+* TODO(wip): new _red_async_ DCE/RPC infrastructure
 * {\footnotesize @https://wiki.samba.org/index.php/Samba3/ \\ %
    SMB2\#Witness\_Notification\_Protocol@}
 * WIP branch: \\ %
   {\footnotesize @https://git.samba.org/?p=gd/samba/.git;a=shortlog; \\ %
    h=refs/heads/master-witness@}
+[block]>
 
-Samba Witness service will cause Windows clients to reconnect:
+<[block]{Samba Witness service will cause Windows clients to reconnect...}
 * when client admin tool is used
 * when CTDB (or any other cluster resource control manager) moves resources or IP addresses
+[block]>
 
 [frame]>