blob: 4a0b32e989389bf048d0188a9061872c2eb2a0fc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE>Setting up clustered samba</TITLE>
</HEAD>
<!--#include virtual="header.html" -->
<h1>Setting up clustered samba</h1>
It is assumed tou have already installed the ctdb version of samba and also installed, configured and tested CTDB.
<h2>Create a user account</h2>
First you need to initialise the Samba password database so that you have some user that can authenticate to the samba service.<br>
Do this by running:
<pre>
smbpasswd -a root
</pre>
Samba with clustering must use the tdbsam or ldap SAM passdb backends (it must not use the default smbpasswd backend), or must be configured to be a member of a domain.<br>
The rest of the configuration of Samba is exactly as it is done on a normal system.<br><br>
See the docs on http://samba.org/ for details.
<h2>Critical smb.conf parameters</h2>
A clustered Samba install must set some specific configuration parameters
<pre>
clustering = yes
idmap backend = tdb2
private dir = /a/directory/on/your/cluster/filesystem
</pre>
It is vital that the private directory is on shared storage.
<h2>Using smbcontrol</h2>
You can check for connectivity to the smbd daemons on each node using smbcontrol
<pre>
smbcontrol smbd ping
</pre>
<h2>Using Samba4 smbtorture</h2>
The Samba4 version of smbtorture has several tests that can be used to benchmark a CIFS cluster.<br>
You can download Samba4 like this:
<pre>
svn co svn://svnanon.samba.org/samba/branches/SAMBA_4_0
</pre>
Then configure and compile it as usual.<br>
The particular tests that are helpful for cluster benchmarking are the RAW-BENCH-OPEN, RAW-BENCH-LOCK and BENCH-NBENCH tests.<br>
These tests take a unclist that allows you to spread the workload out over more than one node. For example:
<pre>
smbtorture //localhost/data -Uuser%password RAW-BENCH-LOCK --unclist=unclist.txt --num-progs=32 -t60
</pre>
The file unclist.txt should contain a list of server names in your cluster prefixed by //. For example
<pre>
//192.168.1.1
//192.168.1.2
//192.168.2.1
//192.168.2.2
</pre>
For NBENCH testing you need a client.txt file.<br>
A suitable file can be found in the dbench distribution at http://samba.org/ftp/tridge/dbench/
<h3>CTDB_MANAGES_SAMBA</h3>
This is a parameter in /etc/sysconfig/ctdb<br><br>
When this parameter is set to "yes" CTDB will start/stop/restart the localo samba daemon as the cluster configuration changes.<br><br>
When this parameter is set you should also make sure that samba is NOT started by default by the linux system when it boots:
<pre>
chkconfig samba off
</pre>
Example:
<pre>
CTDB_MANAGES_SAMBA="yes"
</pre>
It is strongly recommended that you set this parameter to "yes" if you intend to use clustered samba.
<!--#include virtual="footer.html" -->
|