Samba/Cluster
Package removed from both Gentoo and overlay. Needs new instructions.
Introduction
There are changes that you have a high samba share load and you need to have 2 or more samba server to serve the same group of users.
Samba 4 Cluster Member server with drbd and OCFS[1]
We can do that via CTDB and some cluster files system.
Our guide are focus on version 2.5.4 and above, version 1 is not covered on this guide
Topology
Below are the minimal requirement for ctdb:
- 2 node samba DC member/ files server
- an Extra NIC for ctdb services which have no address (Samba ctdb will take over this nic and assign ip)
- Each node had one 1 Private IP address for ctdb services (Not use for samba services)
- A Shared cluster drive OCFS2, GFS or other
- Not working as Samba DC.
CTDB don't run on alias NIC Different cluster files system would required some different setting on samba config
Getting CTDB
From Poly-C Eselect Repository
Let hope when this guide is ready the new ctdb-2.5.4 already in portage. bug #500332 Else you will need to get from eselect repository on poly-c
root #
eselect repository enable poly-c
Unmaks CTDB
Before this let's unmask ctdb 2.5.4
=dev/db-ctdb-2.5.4
Emerge CTDB
root #
emerge --ask --newuse --verbose dev/db-ctdb
Configure CTDB
A Basical running CTDB are simple with the latest configuration
Assumption:
Node 1 eth1 Private IP: 192.168.100.11 (CTDB node IP) Node 1 eth2 Public IP: 192.168.10.11 (Servicing IP) Node 2 eth1 Private IP: 192.168.100.12 (CTDB node IP) Node 2 eth2 Public IP: 192.168.10.12 (Servicing IP) Both running on eth2 Running OCFS2
eth2 will need to start without any ip.
config_eth2="null"
CTDB Configuration Change
We will need to make a few changes.
CTDB_PUBLIC_ADDRESSES=/etc/ctdb/public_addresses
192.168.100.11
192.168.100.12
192.168.10.11/24 eth2
192.168.10.12/24 eth2
Gateway on eth2??
Samba Configuration Change
Please change this on both samba server
[global]
#CTDB Cluster
netbios name = SambaServerName
clustering = yes
ctdbd socket = /var/lib/ctdb/ctdb.socket
#ocfs2 ctdb setting
fileid:mapping = fsid
We are done on configuration
Start and Stop CTDB
Start
root #
ctdbd_wrapper /var/run/ctdb/ctdbd.pid start
Stop
root #
ctdbd_wrapper /var/run/ctdb/ctdbd.pid stop
Done