서버 설정 · 1 min read · Jan 29, 2026

GFS 및 DRBD를 사용한 Active/Active Samba CTDB 클러스터 설정 (CentOS 5.5) - 페이지 3

이 문서에서는 GFS 및 DRBD를 사용하여 Active/Active Samba CTDB 클러스터를 설정하는 방법을 설명합니다. BRLink 리눅스 팀의 Rafael Marangoni가 준비했습니다.

6. Samba 구성

samba 구성은 매우 일반적입니다. 이 문서에서는 samba를 구성하는 방법을 다루지 않습니다. 우리는 매우 간단한 구성만 설명합니다.
두 노드에서 모두 수행하십시오:

먼저, 두 노드에서 /etc/samba/smb.conf를 구성해야 합니다:

vi /etc/samba/smb.conf 
[global]

clustering = yes
idmap backend = tdb2
private dir=/clusterdata/ctdb
fileid:mapping = fsname
use mmap = no
nt acl support = yes
ea support = yes

[public]
comment = public share
path = /clusterdata/public
public = yes
writeable = yes
only guest = yes 

samba에서 사용하는 디렉토리를 생성해야 합니다(한 노드에서만):

mkdir /clusterdata/ctdb
mkdir /clusterdata/public
chmod 777 /clusterdata/public

samba에 root 추가, 한 노드에서만:

smbpasswd -a root

7. CTDB 구성

ctdb를 설치하는 과정은 매우 간단합니다. 두 노드에서 모두 수행하십시오:

먼저, 다운로드해야 합니다:

cd /usr/src
rsync -avz samba.org::ftp/unpacked/ctdb .
cd ctdb/

그런 다음 컴파일할 수 있습니다:

cd /usr/src/ctdb/
./autogen.sh
./configure
make
make install

init 스크립트 및 /etc에 대한 구성 링크 생성:

cp config/ctdb.sysconfig /etc/sysconfig/ctdb
cp config/ctdb.init /etc/rc.d/init.d/ctdb
chmod +x /etc/init.d/ctdb

ln -s /usr/local/etc/ctdb/ /etc/ctdb
ln -s /usr/local/bin/ctdb /usr/bin/ctdb
ln -s /usr/local/sbin/ctdbd /usr/sbin/ctdbd

다음으로, 두 노드에서 /etc/sysconfig/ctdb를 구성해야 합니다:

vi /etc/sysconfig/ctdb 
CTDB_RECOVERY_LOCK="/dadoscluster/ctdb/storage"
CTDB_PUBLIC_INTERFACE=eth0
CTDB_PUBLIC_ADDRESSES=/etc/ctdb/public_addresses
CTDB_MANAGES_SAMBA=yes
ulimit -n 10000
CTDB_NODES=/etc/ctdb/nodes
CTDB_LOGFILE=/var/log/log.ctdb
CTDB_DEBUGLEVEL=2
CTDB_PUBLIC_NETWORK="10.0.0.0/24"
CTDB_PUBLIC_GATEWAY="10.0.0.9" 

이제 두 노드에서 /etc/ctdb/public_addresses를 구성하십시오:

vi /etc/ctdb/public_addresses 
10.0.0.183/24
10.0.0.184/24

그런 다음, 두 노드에서 /etc/ctdb/nodes를 구성하십시오:

vi /etc/ctdb/nodes 
10.0.0.181
10.0.0.182

그런 다음, 두 노드에서 /etc/ctdb/events.d/11.route를 구성하십시오:

vi /etc/ctdb/events.d/11.route 
#!/bin/sh

. /etc/ctdb/functions
loadconfig ctdb

cmd="$1"
shift

case $cmd in
takeip)
 # we ignore errors from this, as the route might be up already when we're grabbing
 # a 2nd IP on this interface
 /sbin/ip route add $CTDB_PUBLIC_NETWORK via $CTDB_PUBLIC_GATEWAY dev $1 2> /dev/null
 ;;
esac

exit 0

스크립트에 +x 권한 설정:

 chmod +x /etc/ctdb/events.d/11.route 

마지막으로, 서비스를 시작해야 합니다:

/etc/init.d/ctdb start
/etc/init.d/smb start
chkconfig –level 35 ctdb on
chkconfig –level 35 smb on

참고문헌

CTDB: http://ctdb.samba.org/
CTDB: http://wiki.samba.org/index.php/CTDB_Setup#RedHat_GFS_filesystem
Howto: http://jun.homeunix.com/skills/server/GFS.DRBD8.CTDB.SAMBA.CentOS.txt

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.