成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用GFS和DRBD在CentOS 5.5上進(jìn)行Samba CTDB集群部署

原創(chuàng)
系統(tǒng) Linux
本文主要介紹使用GFS和DRBD在CentOS 5.5上安裝主動/主動Samba CTDB集群。當(dāng)然本文介紹的方法一樣適用于Fedora和Red Hat Enterprise Linux。值得注意的是,我們使用DRBD復(fù)制節(jié)點(diǎn)之間的數(shù)據(jù),它需要獨(dú)占一個磁盤或分區(qū),因此在安裝CentOS時注意預(yù)留好空間或直接為DRBD創(chuàng)建好一個分區(qū)。

【51CTO精選譯文】我們使用了兩個節(jié)點(diǎn),都是活動節(jié)點(diǎn),要求是要實(shí)現(xiàn)負(fù)載均衡,為了復(fù)制節(jié)點(diǎn)間的數(shù)據(jù),我們使用的是DRBD,為了實(shí)現(xiàn)主動/主動集群,我們必須使用ClusterFS(這里使用GFS),以便讓兩個節(jié)點(diǎn)可以同時在DEBD資源上執(zhí)行寫操作。

1、初步說明

Linux發(fā)行版:我們使用的是CentOS 5.5 64位發(fā)行版,當(dāng)然本文介紹的方法一樣適用于Fedora和Red Hat Enterprise Linux,CentOS的安裝很簡單,安裝時選擇基礎(chǔ)包和其它你需要的軟件包,值得注意的是,我們使用DRBD復(fù)制節(jié)點(diǎn)之間的數(shù)據(jù),它需要獨(dú)占一個磁盤或分區(qū),因此在安裝CentOS時注意預(yù)留好空間或直接為DRBD創(chuàng)建好一個分區(qū)。

網(wǎng)絡(luò)硬件和拓?fù)浣Y(jié)構(gòu):在每個節(jié)點(diǎn)上,我們使用了兩塊千兆網(wǎng)卡,一個(eth0)連接到網(wǎng)絡(luò)(LAN),另一個(eth1)通過交叉線實(shí)現(xiàn)兩個節(jié)點(diǎn)間的連接,DRBD在兩個節(jié)點(diǎn)之間復(fù)制數(shù)據(jù)時,是不會通過網(wǎng)絡(luò)交換機(jī)或其它網(wǎng)絡(luò)設(shè)備的,而是直接走交叉線。

  • 本教程使用的兩個物理節(jié)點(diǎn)分別是:node1.clusterbr.int和node2.clusterbr.int。
  • node1.clustersmb.int:使用IP 10.0.0.181 (LAN) 和IP 172.16.0.1 (交叉)
  • node2.clustersmb.int:使用IP 10.0.0.182 (LAN) 和IP 172.16.0.2 (交叉)
  • vip1.clustersmb.int:它是集群IP,來自節(jié)點(diǎn)1 10.0.0.183
  • vip2.clustersmb.int:它是集群IP,來自節(jié)點(diǎn)2 10.0.0.184

磁盤:兩個節(jié)點(diǎn)均配備了兩塊磁盤,/dev/sda安裝操作系統(tǒng),/dev/sdb供DRBD使用,正如前面提到的,只使用一塊磁盤也是可以的,只需要為DRBD分配一個獨(dú)立的分區(qū)即可。

CTDB:它是TDB的集群實(shí)現(xiàn),為了在集群文件系統(tǒng)上使用Samba,我們需要一個主動/主動集群,讓兩邊的smb服務(wù)都能響應(yīng)網(wǎng)絡(luò)請求,詳細(xì)信息請參考http://ctdb.samba.org/

2、準(zhǔn)備節(jié)點(diǎn)

首先,我們需要禁用SELinux,用vi打開selinux配置文件:

vi /etc/selinux/config

修改下面這一行內(nèi)容,其它內(nèi)容不變:

SELINUX=disabled

接下來需要修改主機(jī)名和節(jié)點(diǎn)的網(wǎng)關(guān)。

vi /etc/sysconfig/network

節(jié)點(diǎn)1:

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=node1.clustersmb.int
GATEWAY=10.0.0.9

節(jié)點(diǎn)2:

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=node2.clustersmb.int
GATEWAY=10.0.0.9

接下來配置網(wǎng)絡(luò)接口。

節(jié)點(diǎn)1 LAN接口:

vi /etc/sysconfig/network-scripts/ifcfg-eth0

內(nèi)容如下:

DEVICE=eth0
BOOTPROTO=static
IPADDR=10.0.0.181
NETMASK=255.255.255.0
ONBOOT=yes
HWADDR=a6:1e:3d:67:66:78

節(jié)點(diǎn)1交叉/DRBD接口:

vi /etc/sysconfig/network-scripts/ifcfg-eth1

內(nèi)容如下:

DEVICE=eth1
BOOTPROTO=static
IPADDR=172.16.0.1
NETMASK=255.255.255.0
ONBOOT=yes
HWADDR=ee:ef:ff:9a:9a:57

節(jié)點(diǎn)2 LAN 接口:

vi /etc/sysconfig/network-scripts/ifcfg-eth0

內(nèi)容如下:

DEVICE=eth0
BOOTPROTO=static
IPADDR=10.0.0.182
NETMASK=255.255.255.0
ONBOOT=yes
HWADDR=52:52:a1:1a:62:32

節(jié)點(diǎn)2交叉/DRBD接口:

vi /etc/sysconfig/network-scripts/ifcfg-eth1

內(nèi)容如下:

DEVICE=eth1
BOOTPROTO=static
IPADDR=172.16.0.2
NETMASK=255.255.255.0
ONBOOT=yes
HWADDR=1a:18:b2:50:96:1e

接下來在兩個節(jié)點(diǎn)上設(shè)置DNS配置。

vi /etc/resolv.conf

內(nèi)容如下:

search clustersmb.int
nameserver 10.0.0.9

接下來配置基本的主機(jī)名解析,打開/etc/hosts文件:

vi /etc/hosts

內(nèi)容如下:

127.0.0.1localhost.localdomain localhost
10.0.0.191 node1.clustersmb.intnode1
10.0.0.192 node2.clustersmb.intnode2

Ps:這里根據(jù)你的實(shí)際情況可以添加更多類似的快速解析條目。

設(shè)置好后,檢查一下網(wǎng)絡(luò)連接是否正常,首先在節(jié)點(diǎn)1上通過LAN接口ping節(jié)點(diǎn)2。

[root@node1 ~]# ping -c 2 node2
PING node2 (10.0.0.182) 56(84) bytes of data.
64 bytes from node2 (10.0.0.182): icmp_seq=1 ttl=64 time=0.089 ms
64 bytes from node2 (10.0.0.182): icmp_seq=2 ttl=64 time=0.082 ms
--- node2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.082/0.085/0.089/0.009 ms

然后通過交叉接口ping節(jié)點(diǎn)2。

[root@node1 ~]# ping -c 2 172.16.0.2
PING 172.16.0.2 (172.16.0.2) 56(84) bytes of data.
64 bytes from 172.16.0.2: icmp_seq=1 ttl=64 time=0.083 ms
64 bytes from 172.16.0.2: icmp_seq=2 ttl=64 time=0.083 ms
--- 172.16.0.2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.083/0.083/0.083/0.000 ms

一切正常,然后在節(jié)點(diǎn)2上通過LAN接口ping節(jié)點(diǎn)1。

[root@node2 ~]# ping -c 2 node1
PING node1 (10.0.0.181) 56(84) bytes of data.
64 bytes from node1 (10.0.0.181): icmp_seq=1 ttl=64 time=0.068 ms
64 bytes from node1 (10.0.0.181): icmp_seq=2 ttl=64 time=0.063 ms
--- node1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.063/0.065/0.068/0.008 ms

接下來通過交叉接口ping節(jié)點(diǎn)1。

[root@node2 ~]# ping -c 2 172.16.0.1
PING 172.16.0.1 (172.16.0.1) 56(84) bytes of data.
64 bytes from 172.16.0.1: icmp_seq=1 ttl=64 time=1.36 ms
64 bytes from 172.16.0.1: icmp_seq=2 ttl=64 time=0.075 ms
--- 172.16.0.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.075/0.722/1.369/0.647 ms

配置啟動選項(xiàng),我將啟動級別設(shè)為3。

vi /etc/inittab

修改下面這行內(nèi)容,其它不變。

id:3:initdefault:

我喜歡將多余的啟動服務(wù)去掉,只留下真正需要的服務(wù),下面是我需要的服務(wù)列表。

現(xiàn)在需要重啟兩個節(jié)點(diǎn),讓配置生效。

Reboot

#p#

3、安裝先決條件和集群程序包

在開始之前需要安裝一些先決條件程序包。

yum -y install drbd82 kmod-drbd82 samba

接下來安裝Red Hat集群套件。

yum -y groupinstall "Cluster Storage" "Clustering"

4、配置DRBD

首先,我們需要在兩個節(jié)點(diǎn)上配置/etc/drbd.conf。

vi /etc/drbd.conf

內(nèi)容如下:

global {
usage-count yes;
}
common {
syncer {
rate 100M;
al-extents 257;
}
}
resource r0 {
protocol C;
startup {
become-primary-on both; ### For Primary/Primary ###
degr-wfc-timeout 60;
wfc-timeout30;
}
disk {
on-io-errordetach;
}
net {
allow-two-primaries;### For Primary/Primary ###
cram-hmac-alg sha1;
shared-secret "mysecret";
after-sb-0pri discard-zero-changes;
after-sb-1pri violently-as0p;
after-sb-2pri violently-as0p;
}
on node1.clustersmb.int {
device /dev/drbd0;
disk/dev/sdb;
address172.16.0.1:7788;
meta-diskinternal;
}
on node2.clustersmb.int {
device /dev/drbd0;
disk/dev/sdb;
address172.16.0.1:7788;
meta-diskinternal;
}
}

配置要點(diǎn):

Resource:由DRBD管理的資源,注意我們稱之為“r0”。

Disk:DRBD要使用的磁盤(或磁盤分區(qū))。

Address:DRBD要使用的IP地址和端口號(注意我們使用的是交叉接口)。

Syncer:節(jié)點(diǎn)間的傳輸速度(我們使用100M,因?yàn)槲覀冇玫氖乔д拙W(wǎng)卡)。

如果要任何疑問,請參考DRBD用戶指南:www.drbd.org/users-guide-emb/

接下來我們在r0資源上創(chuàng)建元數(shù)據(jù),在兩個節(jié)點(diǎn)上執(zhí)行下面的命令:

drbdadm create-md r0

接下來啟動DRBD服務(wù),創(chuàng)建initdb,在兩個節(jié)點(diǎn)上執(zhí)行下面的命令:

/etc/init.d/drbd start

為了讓兩個節(jié)點(diǎn)都成為主節(jié)點(diǎn),在兩個節(jié)點(diǎn)上執(zhí)行下面的命令:

drbdsetup /dev/drbd0 primary -o

如果要檢查同步的進(jìn)度和DRBD資源的狀態(tài),查看/proc/drbd:

cat /proc/drbd

現(xiàn)在需要等待同步結(jié)束,根據(jù)同步數(shù)據(jù)大小和磁盤性能,這個時間可能會很長,同步結(jié)束后,我們可以查看資源r0的狀態(tài)。

節(jié)點(diǎn)1:

[root@node1 ~]# cat /proc/drbd
version: 8.2.6 (api:88/proto:86-88)
GIT-hash: 3e69822d3bb4920a8c1bfdf7d647169eba7d2eb4 build by buildsvn@c5-x8664-build, 2008-10-03 11:30:17
0: cs:Connected st:Primary/Primary ds:UpToDate/UpToDate C r---
ns:2097052 nr:0 dw:0 dr:2097052 al:0 bm:128 lo:0 pe:0 ua:0 ap:0 oos:0

節(jié)點(diǎn)2:

[root@node2 ~]# cat /proc/drbd
version: 8.2.6 (api:88/proto:86-88)
GIT-hash: 3e69822d3bb4920a8c1bfdf7d647169eba7d2eb4 build by buildsvn@c5-x8664-build, 2008-10-03 11:30:17
0: cs:Connected st:Primary/Primary ds:UpToDate/UpToDate C r---
ns:0 nr:2097052 dw:2097052 dr:0 al:0 bm:128 lo:0 pe:0 ua:0 ap:0 oos:0

需要注意的是,兩個服務(wù)器都是最新狀態(tài)(UpToDate/UpToDate),都是主節(jié)點(diǎn)(Primary/Primary),有關(guān)狀態(tài)的詳細(xì)信息,請參考www.drbd.org/users-guide-emb/ch-admin.html#s-proc-drbd

我們需要將DRBD服務(wù)設(shè)為隨系統(tǒng)啟動而啟動。

chkconfig --level 35 drbd on

#p#

5、配置GFS

接下來需要配置Red Hat全局文件系統(tǒng)(GFS),它是DRBD要使用的集群文件系統(tǒng),首先,我們需要在兩個節(jié)點(diǎn)上配置/etc/cluster/cluster.conf。

vi /etc/cluster/cluster.conf

內(nèi)容如下:

<?xml version="1.0\"?>
<cluster name="cluster1" config_version="3">
<cman two_node="1" expected_votes="1"/>
<clusternodes>
<clusternode name="node1.clustersmb.int" votes="1" nodeid="1">
<fence>
<method name="single">
<device name="manual" ipaddr="10.0.0.181"/>
</method>
</fence>
</clusternode>
<clusternode name="node2.clustersmb.int" votes="1" nodeid="2">
<fence>
<method name="single">
<device name="manual" ipaddr="10.0.0.182"/>
</method>
</fence>
</clusternode>
</clusternodes>
<fence_daemon clean_start="1" post_fail_delay="0" post_join_delay="3"/>
<fencedevices>
<fencedevice name="manual" agent="fence_manual"/>
</fencedevices>
</cluster>

接下來需要在兩個節(jié)點(diǎn)上啟動cman服務(wù)(同時啟動)。

/etc/init.d/cman start

然后在兩個節(jié)點(diǎn)上啟動其他服務(wù)。

/etc/init.d/clvmd start
/etc/init.d/gfs start
/etc/init.d/gfs2 start

我們必須確保兩個節(jié)點(diǎn)上所有服務(wù)都在系統(tǒng)初始化時啟動。

chkconfig --level 35 cman on
chkconfig --level 35 clvmd on
chkconfig --level 35 gfs on
chkconfig --level 35 gfs2 on

接下來在任一節(jié)點(diǎn)上格式化設(shè)備。

gfs_mkfs -p lock_dlm -t cluster1:gfs -j 2 /dev/drbd0

然后在兩個節(jié)點(diǎn)上創(chuàng)建掛載點(diǎn),并掛載drbd設(shè)備。

mkdir /clusterdata
mount -t gfs /dev/drbd0 /clusterdata

在兩個節(jié)點(diǎn)上,將設(shè)備添加到fstab中。

vi /etc/fstab

在文件后面追加:

/dev/drbd0 /clusterdatagfsdefaults0 0

接下來最好檢查一下集群文件系統(tǒng)是否工作正常,在節(jié)點(diǎn)1上執(zhí)行:

tar -zcvf /clusterdata/backup-test.tgz /etc/

然后在節(jié)點(diǎn)2上檢查文件是否存在。

[root@node2 ~]# ls -l /clusterdata
total 12576
-rw-r--r-- 1 root root 12844520 Jul 23 16:01 backup-test.tgz

接下來測試節(jié)點(diǎn)2是否可寫入,在節(jié)點(diǎn)2上執(zhí)行:

tar -zcvf /clusterdata/backup-test2.tgz /etc/

在節(jié)點(diǎn)1上檢查兩個文件是否存在。

[root@no2 ~]# ls -l /clusterdata/
total 25160
-rw-r--r-- 1 root root 12850665 Jul 23 16:03 backup-test2.tgz
-rw-r--r-- 1 root root 12844520 Jul 23 16:01 backup-test.tgz

如果一切正常,我們還可以在任一節(jié)點(diǎn)上刪除文件。

rm -f /clusterdata/backup*

#p#

6、配置Samba

Samba配置非常簡單,相關(guān)教程已經(jīng)很多,本文不打算詳細(xì)講解如何配置Samba,只簡要介紹一些基本的配置,在兩個節(jié)點(diǎn)上執(zhí)行:

vi /etc/samba/smb.conf

內(nèi)容如下:

[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

我們必須在任一節(jié)點(diǎn)上創(chuàng)建Samba要使用的目錄。

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

在任一節(jié)點(diǎn)上執(zhí)行下面的命令給Samba添加root用戶:

smbpasswd -a root

7、配置CTDB

安裝CTDB的過程很簡單,首先下載它(注意,下面的操作要在兩個節(jié)點(diǎn)上執(zhí)行)。

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

編譯

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

創(chuàng)建啟動腳本,配置鏈接。

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

接下來在兩個節(jié)點(diǎn)上打開/etc/sysconfig/ctdb文件。

vi /etc/sysconfig/ctdb

內(nèi)容修改如下:

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"

然后在兩個節(jié)點(diǎn)上打開/etc/ctdb/public_addresses。

vi /etc/ctdb/public_addresses

內(nèi)容如下:

10.0.0.183/24
10.0.0.184/24

接著在兩個節(jié)點(diǎn)上打開/etc/ctdb/nodes。

vi /etc/ctdb/nodes

內(nèi)容如下:

10.0.0.181
10.0.0.182

再在兩個節(jié)點(diǎn)上打開/etc/ctdb/events.d/11.route。

vi /etc/ctdb/events.d/11.route

內(nèi)容如下:

#!/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

給腳本設(shè)置可執(zhí)行權(quán)限。

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

最后,啟動相關(guān)服務(wù)。

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

至此,一個Samba主動/主動集群就搭建好了。

原文出處:http://www.howtoforge.com/setting-up-an-active-active-samba-ctdb-cluster-using-gfs-and-drbd-centos-5.5

原文名:Setting Up An Active/Active Samba CTDB Cluster Using GFS & DRBD (CentOS 5.5)

作者:rafatmb

【51CTO精選譯文 轉(zhuǎn)載請標(biāo)明出處與譯者】

【編輯推薦】

  1. CentOS 5.5上安裝openvpn全過程
  2. CentOS 5.5正式發(fā)布 延續(xù)純開源時代
責(zé)任編輯:張浩 來源: 51CTO.com
相關(guān)推薦

2020-03-07 18:51:11

EclipseFedoraPHP

2009-01-06 10:04:44

CygwinGCCGUI

2023-11-30 15:56:54

大型語言模型人工智能

2009-06-27 21:40:11

Linux

2022-02-09 15:29:35

Java組件編程語言

2012-06-18 15:18:42

LinuxGFS集群存儲

2010-02-24 15:19:38

ibmdwLinux

2012-04-18 10:04:43

2009-06-29 12:30:08

2015-05-12 15:39:45

coding.net云端開發(fā)平臺Flask部署

2020-02-18 09:45:44

云計(jì)算云平臺IT

2009-04-14 18:50:55

Nehalem惠普intel

2023-06-20 08:00:00

2025-04-23 15:49:37

2019-12-12 13:50:27

strace追蹤系統(tǒng)調(diào)用Linux

2023-12-11 18:15:46

AnsibleMinikubeKubernetes

2009-11-06 10:05:18

Linux系統(tǒng)環(huán)境GFS

2024-07-16 09:41:01

2021-03-26 11:24:20

網(wǎng)絡(luò)集群監(jiān)控

2012-09-06 09:21:46

Centos5.6HeartbeatMySQL
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 欧美日韩中文字幕在线 | 成人在线网址 | 久久久久国产一区二区三区四区 | 久久精品国产亚洲夜色av网站 | 国产资源一区二区三区 | 国产精品视频久久久久久 | 毛片免费观看 | 日本在线一区二区三区 | 罗宾被扒开腿做同人网站 | 日韩一区二区精品 | 欧美日韩精品一区二区三区四区 | 日韩中文字幕第一页 | 国产精品高潮呻吟久久aⅴ码 | 久久中文视频 | 成人小视频在线观看 | 在线视频成人 | 亚洲精品久久久久久下一站 | 久久综合久久综合久久 | 久久在视频 | 亚洲天堂av在线 | 国产精品一卡二卡三卡 | 在线高清免费观看视频 | 精品一区二区久久 | 日韩在线综合网 | 中文字幕日韩一区 | 狠狠色综合久久婷婷 | av在线一区二区 | 午夜精品一区 | 婷婷综合网 | 91精品国产91综合久久蜜臀 | h视频在线观看免费 | 嫩草一区二区三区 | 亚洲欧洲一区 | 国产精品伦一区二区三级视频 | 九七午夜剧场福利写真 | 91久久国产精品 | 国产精品久久久久一区二区三区 | 亚洲国产精品一区二区第一页 | 97国产一区二区精品久久呦 | 在线视频 中文字幕 | 久久综合久 |