WHATSNEW: add news about Samba AD at 100,000 scale
[samba.git] / WHATSNEW.txt
1 Release Announcements
2 =====================
3
4 This is the first preview release of Samba 4.11.  This is *not*
5 intended for production environments and is designed for testing
6 purposes only.  Please report any defects via the Samba bug reporting
7 system at https://bugzilla.samba.org/.
8
9 Samba 4.11 will be the next version of the Samba suite.
10
11
12 UPGRADING
13 =========
14
15
16 NEW FEATURES/CHANGES
17 ====================
18
19 Default samba process model
20 ---------------------------
21
22 The default for the --model argument passed to the samba executable has changed
23 from 'standard' to 'prefork'. This means a difference in the number of samba
24 child processes that are created to handle client connections. The previous
25 default would create a separate process for every LDAP or NETLOGON client
26 connection. For a network with a lot of persistent client connections, this
27 could result in significant memory overhead.  Now, with the new default of
28 'prefork', the LDAP, NETLOGON, and KDC services will create a fixed number of
29 worker processes at startup and share the client connections amongst these
30 workers. The number of worker processes can be configured by the 'prefork
31 children' setting in the smb.conf (the default is 4).
32
33 Authentication Logging.
34 -----------------------
35
36 Winbind now logs PAM_AUTH and NTLM_AUTH events, a new attribute "logonId" has
37 been added to the Authentication JSON log messages.  This contains a random
38 logon id that is generated for each PAM_AUTH and NTLM_AUTH request and is passed
39 to SamLogon, linking the windbind and SamLogon requests.
40
41 The serviceDescription of the messages is set to "winbind", the authDescription
42 is set to one of:
43    "PASSDB, <command>, <pid>"
44    "PAM_AUTH, <command>, <pid>"
45    "NTLM_AUTH, <command>, <pid>"
46 where:
47    <command> is the name of the command makinmg the winbind request i.e. wbinfo
48    <pid>     is the process id of the requesting process.
49
50 The version of the JSON Authentication messages has been changed to 1.2 from 1.1
51
52 LDAP referrals
53 --------------
54
55 The scheme of returned LDAP referrals now reflects the scheme of the original
56 request, i.e. referrals received via ldap are prefixed with "ldap://"
57 and those over ldaps are prefixed with "ldaps://"
58
59 Previously all referrals were prefixed with "ldap://"
60
61 Bind9 logging
62 -------------
63
64 It is now possible to log the duration of DNS operations performed by Bind9
65 This should aid future diagnosis of performance issues, and could be used to
66 monitor DNS performance. The logging is enabled by setting log level to
67 "dns:10" in smb.conf
68
69 The logs are currently Human readable text only, i.e. no JSON formatted output.
70
71 Log lines are of the form:
72
73     <function>: DNS timing: result: [<result>] duration: (<duration>)
74     zone: [<zone>] name: [<name>] data: [<data>]
75
76     durations are in microseconds.
77
78 Default schema updated to 2012_R2
79 ---------------------------------
80
81 Default AD schema changed from 2008_R2 to 2012_R2.  2012_R2 functional level
82 is not yet available.  Older schemas can be used by provisioning with the
83 '--base-schema' argument.  Existing installations can be updated with the
84 samba-tool command "domain schemaupgrade".
85
86 Samba's replication code has also been improved to handle replication
87 with the 2012 schema (the core of this replication fix has also been
88 backported to 4.9.11 and will be in a 4.10.x release).
89
90
91 100,000 USER and LARGER Samba AD DOMAINS
92 ========================================
93
94 Extensive efforts have been made to optimise Samba for use in
95 organisations (for example) targeting 100,000 users, plus 120,000
96 computer objects, as well as large number of group memberships.
97
98 Many of the specific efforts are detailed below, but the net results
99 is to remove barriers to significantly larger Samba deployments
100 compared to previous releases.
101
102 Reindex performance improvements
103 --------------------------------
104
105 The performance of samba-tool dbcheck --reindex has been improved,
106 especially for large domains.
107
108 join performance improvements
109 -----------------------------
110
111 The performance of samba-tool domain join has been improved,
112 especially for large domains.
113
114 LDAP Server memory improvements
115 -------------------------------
116
117 The LDAP server has improved memory efficiency, ensuring that large
118 LDAP responses (for example a search for all objects) is not copied
119 multiple times into memory.
120
121 Setting lmdb map size
122 ---------------------
123
124 It is now possible to set the lmdb map size (The maximum permitted
125 size for the database).  "samba-tool" now accepts the
126 "--backend-store-size" i.e. --backend-store-size=4Gb.  If not
127 specified it defaults to 8Gb.
128
129 This option is avaiable for the following sub commands:
130  * domain provision
131  * domain join
132  * domain dcpromo
133  * drs clone-dc-database
134
135 LDB "batch_mode"
136 ----------------
137
138 To improve performance during batch operations i.e. joins, ldb now
139 accepts a "batch_mode" option.  However to prevent any index or
140 database inconsistencies if an operation fails, the entire transaction
141 will be aborted at commit.
142
143 New LDB pack format
144 -------------------
145
146 On first use (startup of 'samba' or the first transaction write)
147 Samba's sam.ldb will be updated to a new more efficient pack format.
148 This will take a few moments.
149
150 New LDB <= and >= index mode to improve replication performance
151 ---------------------------------------------------------------
152
153 As well as a new pack format, Samba's sam.ldb uses a new index format
154 allowing Samba to efficiently select objects changed since the last
155 replication cycle.  This in turn improves performance during
156 replication of large domains.
157
158 Improvements to ldb search performance
159 --------------------------------------
160
161 Search performance on large LDB databases has been improved by
162 reducing memory allocations made on each object.
163
164 Improvements to subtree rename performance
165 ------------------------------------------
166
167 Improvements have been made to Samba's handling of subtree renames,
168 for example of containers and organisational units, however large
169 renames are still not recommended.
170
171
172
173 REMOVED FEATURES
174 ================
175
176 Web server
177 ----------
178
179 As a leftover from work related to the Samba Web Administration Tool (SWAT),
180 Samba still supported a Python WSGI web server (which could still be turned on
181 from the 'server services' smb.conf parameter). This service was unused and has
182 now been removed from Samba.
183
184
185 samba-tool join subdommain
186 --------------------------
187
188 The subdommain role has been removed from the join command.  This option did
189 not work and has no tests.
190
191
192 smb.conf changes
193 ================
194
195   Parameter Name                     Description                Default
196   --------------                     -----------                -------
197
198   web port                           Removed
199   fruit:zero_file_id                 Changed default            False
200
201
202 KNOWN ISSUES
203 ============
204
205 https://wiki.samba.org/index.php/Release_Planning_for_Samba_4.11#Release_blocking_bugs
206
207
208 #######################################
209 Reporting bugs & Development Discussion
210 #######################################
211
212 Please discuss this release on the samba-technical mailing list or by
213 joining the #samba-technical IRC channel on irc.freenode.net.
214
215 If you do report problems then please try to send high quality
216 feedback. If you don't provide vital information to help us track down
217 the problem then you will probably be ignored.  All bug reports should
218 be filed under the Samba 4.1 and newer product in the project's Bugzilla
219 database (https://bugzilla.samba.org/).
220
221
222 ======================================================================
223 == Our Code, Our Bugs, Our Responsibility.
224 == The Samba Team
225 ======================================================================
226