3 Improvements of SMB3 over SMB2 include:
5 * SMB Direct (SMB over RDMA)
6 * SMB Multichannel (multiple connections per session)
7 * Witness Service (connection monitoring and transparent failover)
10 ==== SMB Features - in Samba ====
13 ** durable file handles [4.0]
15 ** multi-credit / large mtu [4.0]
16 ** dynamic reauthentication [4.0]
18 ** resilient file handles [PoC]
20 ** new crypto (sign/encrypt) [4.0]
21 ** secure negotiation [4.0]
22 ** durable handles v2 [4.0]
23 ** persistent file handles [planning/PoC]
24 ** multi-channel [WIP++ (4.4...)]
25 ** SMB direct [designed/starting]
26 ** cluster features [designing]
28 ** storage features [WIP]
30 ** basic support [4.3]
33 ==== Witness - General ====
35 New DCE/RPC Service to “witness” availability of other services, in particular SMB3 connections
36 * Prompt and explicit notifications about failures in highly available systems
37 * Allows Continuous Availability of SMB shares in clustered environments (together with persistent handles)
38 * Controlled way of dealing with reconnects instead of detecting failures due to timeouts
39 * Available since SMB3 (Windows 8 / Windows Server 2012)
40 * More advanced failover mechanism than Tickle-ACK that is used within CTDB
42 ==== Witness - Samba ====
44 Currently under development in Samba
45 * PoC implementation available, currently development on hold until new DCE/RPC async infrastructure is available
47 https://git.samba.org/?p=gd/samba/.git;a=shortlog;h=refs/heads/master-witness
49 Samba Witness service will cause Windows clients to reconnect:
50 * when client admin tool is used
51 * when CTDB (or any other cluster resource control manager) moves resources or IP addresses
53 ==== Witness - Failover with SMB3 in a Samba/CTDB cluster ====
56 <<<design-ctdb-three-nodes-with-witness-step0.png, width=.95\textwidth>>>
59 ==== Witness - Failover with SMB3 in a Samba/CTDB cluster ====
62 <<<design-ctdb-three-nodes-with-witness-step1.png, width=.95\textwidth>>>
65 ==== Witness - Failover with SMB3 in a Samba/CTDB cluster ====
68 <<<design-ctdb-three-nodes-with-witness-step2a.png, width=.95\textwidth>>>
71 ==== Witness - Failover with SMB3 in a Samba/CTDB cluster ====
74 <<<design-ctdb-three-nodes-with-witness-step2b.png, width=.95\textwidth>>>
77 ==== Witness - Failover with SMB3 in a Samba/CTDB cluster ====
80 <<<design-ctdb-three-nodes-with-witness-step3a.png, width=.95\textwidth>>>
83 ==== Witness - Failover with SMB3 in a Samba/CTDB cluster ====
86 <<<design-ctdb-three-nodes-with-witness-step3b.png, width=.95\textwidth>>>
89 ==== Witness - Failover with SMB3 in a Samba/CTDB cluster ====
92 <<<design-ctdb-three-nodes-with-witness-step4.png, width=.95\textwidth>>>
95 ==== Witness - Failover with SMB3 in a Samba/CTDB cluster ====
98 <<<design-ctdb-three-nodes-with-witness-step5.png, width=.95\textwidth>>>