1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter�13.�Performance, Reliability, and Availability</title><link rel="stylesheet" href="samba.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.66.1"><link rel="start" href="index.html" title="Samba-3 by Example"><link rel="up" href="index.html" title="Samba-3 by Example"><link rel="prev" href="DomApps.html" title="Chapter�12.�Integrating Additional Services"><link rel="next" href="appendix.html" title="Appendix�A.�Appendix: A Collection of Useful Tid-bits"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter�13.�Performance, Reliability, and Availability</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="DomApps.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="appendix.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="HA"></a>Chapter�13.�Performance, Reliability, and Availability</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="HA.html#id2593895">Introduction</a></span></dt><dt><span class="sect1"><a href="HA.html#id2593991">Dissection and Discussion</a></span></dt><dt><span class="sect1"><a href="HA.html#id2594465">Guidelines for Reliable Samba Operation</a></span></dt><dd><dl><dt><span class="sect2"><a href="HA.html#id2594494">Name Resolution</a></span></dt><dt><span class="sect2"><a href="HA.html#id2595000">Samba Configuration</a></span></dt><dt><span class="sect2"><a href="HA.html#id2595346">Use and Location of BDCs</a></span></dt><dt><span class="sect2"><a href="HA.html#id2595429">Use One Consistent Version of MS Windows Client</a></span></dt><dt><span class="sect2"><a href="HA.html#id2595451">For Scalability, Use SAN Based Storage on Samba Servers</a></span></dt><dt><span class="sect2"><a href="HA.html#id2595504">Distribute Network Load with MSDFS</a></span></dt><dt><span class="sect2"><a href="HA.html#id2595564">Replicate Data to Conserve Peak-Demand Wide-Area Bandwidth</a></span></dt><dt><span class="sect2"><a href="HA.html#id2595614">Hardware Problems</a></span></dt><dt><span class="sect2"><a href="HA.html#id2595779">Key Points Learned</a></span></dt></dl></dd></dl></div><p><a class="indexterm" name="id2593853"></a><a class="indexterm" name="id2593860"></a><a class="indexterm" name="id2593868"></a>
2	Well, you have reached the chapter before the Appendix. It is customary to attempt
3	to wrap up the theme and contents of a book in what is generally regarded as the
4	chapter that should draw conclusions. This book is a suspense thriller and since
5	the plot of the stories told mostly lead you to bigger, better Samba-3 networking
6	solutions, it is perhaps appropriate to close this book with a few pertinent comments
7	regarding some of the things everyone can do to deliver a reliable Samba-3 network.
8	</p><div class="blockquote"><table border="0" width="100%" cellspacing="0" cellpadding="0" class="blockquote" summary="Block quote"><tr><td width="10%" valign="top">�</td><td width="80%" valign="top"><p>
9	In a world so full of noise, how can the sparrow be heard?
10	</p></td><td width="10%" valign="top">�</td></tr><tr><td width="10%" valign="top">�</td><td colspan="2" align="right" valign="top">--<span class="attribution">Anonymous</span></td></tr></table></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2593895"></a>Introduction</h2></div></div></div><p><a class="indexterm" name="id2593902"></a>
11	The sparrow is a small bird whose sounds are drowned out by the noise of the busy
12	world it lives in. Likewise, the simple steps that can be taken to improve the
13	reliability and availability of a Samba network are often drowned out by the volume
14	of discussions about grandiose Samba clustering designs. This is not intended to
15	suggest that clustering is not important, because clearly it is. This chapter does not devote
16	itself to discussion of clustering because each clustering methodology uses its own
17	custom tools and methods. Only passing comments are offered concerning these methods.
18	</p><p><a class="indexterm" name="id2593923"></a><a class="indexterm" name="id2593931"></a><a class="indexterm" name="id2593939"></a>
19<a href="http://www.google.com/search?hl=en&lr=&ie=ISO-8859-1&q=samba+cluster&btnG=Google+Search" target="_top">A search</a> 
20	for &#8220;<span class="quote"><span class="emphasis"><em>samba cluster</em></span></span>&#8221; produced 71,600 hits. And a search for &#8220;<span class="quote"><span class="emphasis"><em>highly available samba</em></span></span>&#8221;
21	and &#8220;<span class="quote"><span class="emphasis"><em>highly available windows</em></span></span>&#8221; produced an amazing number of references.
22	It is clear from the resources on the Internet that Windows file and print services 
23	availability, reliability, and scalability are of vital interest to corporate network users.
24	</p><p><a class="indexterm" name="id2593976"></a>
25	So without further background, you can review a checklist of simple steps that
26	can be taken to ensure acceptable network performance while keeping costs of ownership
27	well under control.
28	</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2593991"></a>Dissection and Discussion</h2></div></div></div><p><a class="indexterm" name="id2593998"></a><a class="indexterm" name="id2594006"></a>
29	If it is your purpose to get the best mileage out of your Samba servers, there is one rule that
30	must be obeyed. If you want the best, keep your implementation as simple as possible. You may
31	well be forced to introduce some complexities, but you should do so only as a last resort.
32	</p><p>
33	Simple solutions are likely to be easier to get right than are complex ones. They certainly
34	make life easier for your successor. Simple implementations can be more readily audited than can
35	complex ones. 
36	</p><p><a class="indexterm" name="id2594028"></a><a class="indexterm" name="id2594036"></a>
37	Problems reported by users fall into three categories: configurations that do not work, those 
38	that have broken behavior, and poor performance. The term <span class="emphasis"><em>broken behavior</em></span>
39	means that the function of a partciluar Samba component appears to work sometimes, but not at
40	others. The resulting intermittent operation is clearly unacceptable. An example of 
41	<span class="emphasis"><em>broken behavior</em></span> known to many Windows networking users occurs when the
42	list of Windows machines in MS Explorer changes, sometimes listing machines that are running
43	and at other times not listing them even though the machines are in use on the network.
44	</p><p><a class="indexterm" name="id2594065"></a><a class="indexterm" name="id2594073"></a><a class="indexterm" name="id2594081"></a><a class="indexterm" name="id2594089"></a><a class="indexterm" name="id2594096"></a><a class="indexterm" name="id2594104"></a>
45	A significant number of reports concern problems with the <span><b class="command">smbfs</b></span> file system
46	driver that is part of the Linux kernel, not part of Samba. Users continue to interpret that
47	<span><b class="command">smbfs</b></span> is part of Samba, simply because Samba includes the front-end tools
48	that are used to manage <span><b class="command">smbfs</b></span>-based file service connections. So, just
49	for the record, the tools <span><b class="command">smbmnt, smbmount, smbumount,</b></span> and <span><b class="command">smbumnt</b></span> are front-end
50	facilities to core drivers that are supplied as part of the Linux kernel. These tools share a
51	common infrastructure with some Samba components, but they are not maintained as part of
52	Samba and are really foreign to it.
53	</p><p><a class="indexterm" name="id2594155"></a>
54	The new project, <span><b class="command">cifsfs</b></span>, is destined to replace <span><b class="command">smbfs</b></span>.
55	It, too, is not part of Samba, even though one of the Samba Team members is a prime mover in
56	this project.
57	</p><p>
58	The following table lists typical causes of:
59	</p><div class="itemizedlist"><ul type="disc"><li><p>Not Working (NW)</p></li><li><p>Broken Behavior (BB)</p></li><li><p>Poor Performance (PP)</p></li></ul></div><div class="table"><a name="ProbList"></a><p class="title"><b>Table�13.1.�Effect of Common Problems</b></p><table summary="Effect of Common Problems" border="1"><colgroup><col align="left"><col align="center"><col align="center"><col align="center"></colgroup><thead><tr><th align="left"><p>Problem</p></th><th align="center"><p>NW</p></th><th align="center"><p>BB</p></th><th align="center"><p>PP</p></th></tr></thead><tbody><tr><td align="left"><p>File Locking</p></td><td align="center"><p>-</p></td><td align="center"><p>X</p></td><td align="center"><p>-</p></td></tr><tr><td align="left"><p>Hardware Problems</p></td><td align="center"><p>X</p></td><td align="center"><p>X</p></td><td align="center"><p>X</p></td></tr><tr><td align="left"><p>Incorrect Authentication</p></td><td align="center"><p>X</p></td><td align="center"><p>X</p></td><td align="center"><p>-</p></td></tr><tr><td align="left"><p>Incorrect Configuration</p></td><td align="center"><p>X</p></td><td align="center"><p>X</p></td><td align="center"><p>X</p></td></tr><tr><td align="left"><p>LDAP Problems</p></td><td align="center"><p>X</p></td><td align="center"><p>X</p></td><td align="center"><p>-</p></td></tr><tr><td align="left"><p>Name Resolution</p></td><td align="center"><p>X</p></td><td align="center"><p>X</p></td><td align="center"><p>X</p></td></tr><tr><td align="left"><p>Printing Problems</p></td><td align="center"><p>X</p></td><td align="center"><p>X</p></td><td align="center"><p>-</p></td></tr><tr><td align="left"><p>Slow File Transfer</p></td><td align="center"><p>-</p></td><td align="center"><p>-</p></td><td align="center"><p>X</p></td></tr><tr><td align="left"><p>Winbind Problems</p></td><td align="center"><p>X</p></td><td align="center"><p>X</p></td><td align="center"><p>-</p></td></tr></tbody></table></div><p><a class="indexterm" name="id2594449"></a>
60	It is obvious to all that the first requirement (as a matter of network hygiene) is to eliminate
61	problems that affect basic network operation. This book has provided sufficient working examples
62	to help you to avoid all these problems.
63	</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2594465"></a>Guidelines for Reliable Samba Operation</h2></div></div></div><p><a class="indexterm" name="id2594472"></a><a class="indexterm" name="id2594480"></a>
64	Your objective is to provide a network that works correctly, can grow at all times, is resilient
65	at times of extreme demand, and can scale to meet future needs. The following subject areas provide
66	pointers that can help you today.
67	</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2594494"></a>Name Resolution</h3></div></div></div><p>
68	There are three basic current problem areas: bad hostnames, routed networks, and network collisions.
69	These are covered in the discussion below.
70	</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2594506"></a>Bad Hostnames</h4></div></div></div><p><a class="indexterm" name="id2594512"></a><a class="indexterm" name="id2594524"></a><a class="indexterm" name="id2594532"></a><a class="indexterm" name="id2594540"></a><a class="indexterm" name="id2594548"></a>
71		When configured as a DHCP client, a number of Linux distributions set the system hostname
72		to <tt class="constant">localhost</tt>. If the parameter <i class="parameter"><tt>netbios name</tt></i> is not
73		specified to something other than <tt class="constant">localhost</tt>, the Samba server appears
74		in the Windows Explorer as <tt class="constant">LOCALHOST</tt>. Moreover, the entry in the <tt class="filename">/etc/hosts</tt>
75		on the Linux server points to IP address <tt class="constant">127.0.0.1</tt>. This means that
76		when the Windows client obtains the IP address of the Samba server called <tt class="constant">LOCALHOST</tt>,
77		it obtains the IP address <tt class="constant">127.0.0.1</tt> and then proceeds to attempt to
78		set up a NetBIOS over TCP/IP connection to it. This cannot work, because that IP address is
79		the local Windows machine itself. Hostnames must be valid for Windows networking to function
80		correctly.
81		</p><p><a class="indexterm" name="id2594603"></a>
82		A few sites have tried to name Windows clients and Samba servers with a name that begins
83		with the digits 1-9. This does not work either because it may result in the client or
84		server attempting to use that name as an IP address.
85		</p><p><a class="indexterm" name="id2594618"></a><a class="indexterm" name="id2594630"></a>
86		A Samba server called <tt class="constant">FRED</tt>, in a NetBIOS Domain called <tt class="constant">COLLISION</tt>
87		in a network environment that is part of the fully qualified Internet domain name space known
88		as <tt class="constant">parrots.com</tt>, results in DNS name lookups for: <tt class="constant">fred.parrots.com</tt>
89		and <tt class="constant">collision.parrots.com</tt>. It is, therefore, a mistake to name the Domain
90		(workgroup) <tt class="constant">collision.parrots.com</tt> since this results in DNS lookup
91		attempts to resolve: <tt class="constant">fred.parrots.com.parrots.com</tt>, which most likely
92		fails given that you probably do not have this in your DNS name space.
93		</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p><a class="indexterm" name="id2594675"></a><a class="indexterm" name="id2594686"></a><a class="indexterm" name="id2594694"></a>
94		An Active Directory realm called <tt class="constant">collision.parrots.com</tt> is perfectly okay,
95		although it too must be capable of being resolved via DNS, something that functions correctly
96		if Windows 200x ADS has been properly installed and configured.
97		</p></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2594713"></a>Routed Networks</h4></div></div></div><p><a class="indexterm" name="id2594719"></a><a class="indexterm" name="id2594727"></a><a class="indexterm" name="id2594739"></a>
98		NetBIOS networks (Windows networking with NetBIOS over TCP/IP enabled) makes extensive use
99		of UDP-based broadcast traffic. You saw that during the exercises in Chapter 1.
100		</p><p><a class="indexterm" name="id2594753"></a><a class="indexterm" name="id2594761"></a><a class="indexterm" name="id2594769"></a>
101		UDP broadcast traffic is not forwarded by routers. This means that NetBIOS broadcast-based
102		networking cannot function across routed networks (i.e., multi-subnet networks) unless
103		special provisions are made:
104		</p><div class="itemizedlist"><ul type="disc"><li><p><a class="indexterm" name="id2594787"></a><a class="indexterm" name="id2594795"></a><a class="indexterm" name="id2594803"></a>
105			Either install on every Windows client an LMHOSTS file (located in the directory
106			<tt class="filename">C:\windows\system32\drivers\etc</tt>). It is also necessary to
107			add to the Samba server <tt class="filename">smb.conf</tt> file the parameters: <i class="parameter"><tt>remote announce</tt></i>
108			and <i class="parameter"><tt>remote browse sync</tt></i>. For more information, refer to the on-line
109			manual page for the <tt class="filename">smb.conf</tt> file.
110			</p></li><li><p><a class="indexterm" name="id2594849"></a>
111			Or configure Samba as a WINS server, and configure all network clients to use that
112			WINS server in their TCP/IP configuration.
113			</p></li></ul></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p><a class="indexterm" name="id2594868"></a><a class="indexterm" name="id2594880"></a>
114		The use of DNS is not an acceptable substitute for WINS. DNS does not store specific
115		information regarding NetBIOS networking particulars that does get stored in the WINS
116		name resolution database, and that Windows clients require and depend on.
117		</p></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2594895"></a>Network Collisions</h4></div></div></div><p><a class="indexterm" name="id2594902"></a><a class="indexterm" name="id2594913"></a><a class="indexterm" name="id2594924"></a><a class="indexterm" name="id2594932"></a>
118		Excessive network activity causes NetBIOS network time-outs. Time-outs may result in
119		blue screen of death (BSOD) experiences. High collision rates may be caused by excessive
120		UDP broadcast activity, by defective networking hardware, or through excessive network
121		loads (another way of saying that the network is poorly designed).
122		</p><p>
123		The use of WINS is highly recommended to reduce network broadcast traffic, as outlined
124		in Chapter 1.
125		</p><p><a class="indexterm" name="id2594958"></a><a class="indexterm" name="id2594966"></a><a class="indexterm" name="id2594974"></a>
126		Under no circumstances should the facility be supported by many routers, known as <tt class="constant">NetBIOS
127		forwarding</tt>, unless you know exactly what you are doing. Inappropriate use of this
128		facility can result in UDP broadcast storms. In one case in 1999, a university network became
129		unusable due to this being enabled on all routers. The problem was discovered during performance
130		testing of a Samba server. The maximum throughput on a 100-Base-T (100 MBit/sec) network was
131		less than 15 KBytes/sec. After the NetBIOS forwarding was turned off, file transfer performance
132		immediately returned to 11 MBytes/sec.
133		</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2595000"></a>Samba Configuration</h3></div></div></div><p>
134	As a general rule, the contents of the <tt class="filename">smb.conf</tt> file should be kept as simple as possible.
135	No parameter should be specified unless you know it is essential to operation.
136	</p><p><a class="indexterm" name="id2595019"></a><a class="indexterm" name="id2595027"></a><a class="indexterm" name="id2595035"></a>
137	Many UNIX administrators like to fully document the settings in the <tt class="filename">smb.conf</tt> file. This is a
138	bad idea because it adds content to the file. The <tt class="filename">smb.conf</tt> file is re-read by every <span><b class="command">smbd</b></span>
139	process every time the file time stamp changes (or, on systems where this does not work, every 20 seconds or so).
140	</p><p>
141	As the size of the <tt class="filename">smb.conf</tt> file grows the risk of introduction of parsing errors increases also.
142	It is recommended to keep a fully documented <tt class="filename">smb.conf</tt> file on hand, and then to operate Samba only
143	with an optimized file.
144	</p><p><a class="indexterm" name="id2595087"></a>
145	The preferred way to maintain a documented file is to call it something like <tt class="filename">smb.conf.master</tt>.
146	You can generate the optimized file by executing:
147</p><pre class="screen">
148<tt class="prompt">root# </tt> testparm -s smb.conf.master &gt; smb.conf
149</pre><p>
150	You should carefully observe all warnings issued. It is also a good practice to execute the following
151	command to confirm correct interpretation of the <tt class="filename">smb.conf</tt> file contents:
152</p><pre class="screen">
153<tt class="prompt">root# </tt> testparm
154Load smb config files from /etc/samba/smb.conf
155Can't find include file /etc/samba/machine.
156Processing section "[homes]"
157Processing section "[print$]"
158Processing section "[netlogon]"
159Processing section "[Profiles]"
160Processing section "[printers]"
161Processing section "[media]"
162Processing section "[data]"
163Processing section "[cdr]"
164Processing section "[apps]"
165Loaded services file OK.
166'winbind separator = +' might cause problems with group membership.
167Server role: ROLE_DOMAIN_PDC
168Press enter to see a dump of your service definitions
169</pre><p>
170	  <a class="indexterm" name="id2595146"></a>
171	You now, of course, press the enter key to complete the command, or else abort it by pressing Ctrl-C.
172	The important thing to note is the noted Server role, as well as warning messages. Noted configuration
173	conflicts must be remedied before proceeding. For example, the following error message represents a
174	common fatal problem:
175</p><pre class="screen">
176ERROR: both 'wins support = true' and 'wins server = &lt;server list&gt;' 
177cannot be set in the smb.conf file. nmbd will abort with this setting.
178</pre><p>
179	</p><p><a class="indexterm" name="id2595175"></a><a class="indexterm" name="id2595183"></a><a class="indexterm" name="id2595191"></a>
180	There are two parameters that can cause severe network performance degradation, <i class="parameter"><tt>socket options</tt></i>
181	and <i class="parameter"><tt>socket address</tt></i>. The <i class="parameter"><tt>socket options</tt></i> parameter was often necessary
182	when Samba was used with the Linux 2.2.x kernels. Later kernels are largely self-tuning and seldom benefit from
183	this parameter being set. Do not use either parameter unless it has been proven necessary to use them.
184	</p><p><a class="indexterm" name="id2595226"></a><a class="indexterm" name="id2595234"></a><a class="indexterm" name="id2595242"></a><a class="indexterm" name="id2595250"></a>
185	Another <tt class="filename">smb.conf</tt> parameter that may cause severe network performance degradation is the 
186	<i class="parameter"><tt>strict sync</tt></i> parameter. Do not use this at all. There is no good reason
187	to use this with any modern Windows client. The <i class="parameter"><tt>strict sync</tt></i> is often
188	used together with the <i class="parameter"><tt>sync always</tt></i> parameter. This, too, can severely	
189	degrade network performance, so do not set it or if you must, do so with caution.
190	</p><p><a class="indexterm" name="id2595294"></a><a class="indexterm" name="id2595302"></a><a class="indexterm" name="id2595310"></a><a class="indexterm" name="id2595318"></a>
191	Finally, many network administrators deliberately disable opportunistic locking support. While this
192	does not degrade Samba performance, it significantly degrades Windows client performance because
193	this disables local file caching on Windows clients and forces every file read and written to
194	invoke a network read or write call. If for any reason you must disable oplocks (opportunistic locking)
195	support, do so on the share on which it is required only. That way, all other shares can provide
196	oplock support for operations that are tolerant of it. See <a href="appendix.html#ch12dblck" title="Shared Data Integrity">???</a> for more
197	information.
198	</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2595346"></a>Use and Location of BDCs</h3></div></div></div><p><a class="indexterm" name="id2595353"></a><a class="indexterm" name="id2595360"></a><a class="indexterm" name="id2595368"></a><a class="indexterm" name="id2595376"></a><a class="indexterm" name="id2595384"></a>
199	On a network segment where there is a PDC and a BDC, the BDC carries the bulk of the network logon
200	processing. If the BDC is a heavily loaded server, the PDC carries a greater proportion of
201	authentication and logon processing. When a sole BDC on a routed network segment gets heavily
202	loaded, it is possible that network logon requests and authentication requests may be directed
203	to a BDC on a distant network segment. This significantly hinders wide-area network operations
204	and is undesirable.
205	</p><p><a class="indexterm" name="id2595403"></a><a class="indexterm" name="id2595411"></a>
206	As a general guide, instead of adding Domain Member servers to a network, you would be better advised
207	to add BDCs until there are fewer than 30 Windows clients per BDC. Beyond that ratio, you should add
208	Domain Member servers. This practice ensures that there is always sufficient Domain Controllers
209	to handle logon requests and authentication traffic.
210	</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2595429"></a>Use One Consistent Version of MS Windows Client</h3></div></div></div><p>
211	Every network client has its own peculiarities. From a management perspective, it is easier to deal
212	with one version of MS Windows that is maintained to a consistent update level, than it is to deal
213	with a mixture of clients.
214	</p><p>
215	On a number of occasions, particular Microsoft service pack updates of a Windows server or client
216	have necessitated special handling from the Samba server end. If you want to remain sane, keep you
217	client workstation configurations consistent.
218	</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2595451"></a>For Scalability, Use SAN Based Storage on Samba Servers</h3></div></div></div><p><a class="indexterm" name="id2595458"></a><a class="indexterm" name="id2595466"></a>
219	Many SAN-based storage systems permit more than one server to share a common data store.
220	Use of a shared SAN data store means that you do not need to use time- and resource-hungry data 
221	synchronization techniques.
222	</p><p><a class="indexterm" name="id2595481"></a><a class="indexterm" name="id2595489"></a>
223	The use of a collection of relatively low-cost front-end Samba servers that are coupled to
224	a shared backend SAN data store permits load distribution while containing costs below that
225	of installing and managing a complex clustering facility.
226	</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2595504"></a>Distribute Network Load with MSDFS</h3></div></div></div><p><a class="indexterm" name="id2595511"></a><a class="indexterm" name="id2595519"></a>
227	Microsoft DFS (distributed file system) technology has been implemented in Samba. MSDFS permits
228	data to be accessed from a single share and yet to actually be distributed across multiple actual
229	servers. Refer to <span class="emphasis"><em>TOSHARG</em></span>, Chapter 16, for information regarding implementation of an MSDFS installation.
230	</p><p><a class="indexterm" name="id2595539"></a><a class="indexterm" name="id2595550"></a>
231	The combination of multiple back end servers together with a front-end server and use of MSDFS
232	can achieve almost the same as you would obtain with a clustered Samba server.
233	</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2595564"></a>Replicate Data to Conserve Peak-Demand Wide-Area Bandwidth</h3></div></div></div><p><a class="indexterm" name="id2595572"></a><a class="indexterm" name="id2595580"></a><a class="indexterm" name="id2595587"></a>
234	Consider using <span><b class="command">rsync</b></span> to replicate data across the wide-area network during times
235	of low utilization. Users can then access the replicated data store rather than needing to do so
236	across the wide-area network. This works best for read-only data, but with careful planning can be
237	implemented so that modified files get replicated back to the point of origin. Be careful with your
238	implementation if you choose to permit modification and return replication of the modified file;
239	otherwise, you may inadvertently overwrite important data.
240	</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2595614"></a>Hardware Problems</h3></div></div></div><p><a class="indexterm" name="id2595620"></a><a class="indexterm" name="id2595628"></a><a class="indexterm" name="id2595636"></a><a class="indexterm" name="id2595644"></a><a class="indexterm" name="id2595656"></a><a class="indexterm" name="id2595667"></a>
241	Networking hardware prices have fallen sharply over the past five years. A surprising number
242	of Samba networking problems over this time have been traced to defective network interface
243	cards (NICs) or defective hubs, switches, and cables.
244	</p><p><a class="indexterm" name="id2595686"></a>
245	Not surprising is the fact that network administrators do not like to be shown to have made
246	a bad decision. Money saved in buying low-cost hardware may result in high costs incurred
247	in corrective action.
248	</p><p><a class="indexterm" name="id2595700"></a><a class="indexterm" name="id2595708"></a><a class="indexterm" name="id2595716"></a><a class="indexterm" name="id2595724"></a><a class="indexterm" name="id2595732"></a>
249	Defective NICs, hubs, and switches may appear as intermittent network access problems, intermittent
250	or persistent data corruption, slow network throughput, low performance, or even as blue-screen-of-death (BSOD)
251	problems with MS Windows clients. In one case, a company updated several workstations with newer, faster
252	Windows client machines that triggered problems during logon as well as data integrity problems on
253	an older PC that was unaffected so long as the new machines were kept shut down.
254	</p><p>
255	Defective hardware problems may take patience and persistence before the real cause can be discovered.
256	</p><p><a class="indexterm" name="id2595757"></a>
257	Networking hardware defects can significantly impact perceived Samba performance, but defective
258	RAID controllers as well as SCSI and IDE hard disk controllers have also been known to impair Samba server
259	operations. One business came to this realization only after replacing a Samba installation with MS 
260	Windows Server 2000 running on the same hardware. The root of the problem completely eluded the network
261	administrator until the entire server was replaced. While you may well think that this would never
262	happen to you, experience shows that given the right (unfortunate) circumstances, this can happen to anyone.
263	</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2595779"></a>Key Points Learned</h3></div></div></div><p>
264		This chapter has touched in broad sweeps on a number of simple steps that can be taken
265		to ensure that your Samba network is resilient, scalable, and reliable, and that it
266		performs well.
267		</p><p>
268		Always keep in mind that someone is responsible to maintain and manage your design.
269		In the long term, that may not be you. Spare a thought for your successor and give him or
270		her an even break.
271		</p><p><a class="indexterm" name="id2595799"></a>
272		Last, but not least, you should not only keep the network design simple, but it should
273		be well documented. This book may serve as your pattern for documenting every
274		aspect of your design, its implementation, and particularly the objects and assumptions
275		that underlie it.
276		</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="DomApps.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="appendix.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter�12.�Integrating Additional Services�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�Appendix�A.�Appendix: A Collection of Useful Tid-bits</td></tr></table></div></body></html>
277