CTDB与LVS搭建集群

CTDB与LVS搭建集群

搭建一个采用lvs进行负载均衡的CTDB集群,整个集群的架构是采用如图所示

兴和网站建设公司创新互联,兴和网站设计制作,有大型网站制作公司丰富经验。已为兴和成百上千提供企业网站建设服务。企业网站搭建\成都外贸网站建设公司要多少钱,请找那个售后服务好的兴和做网站的公司定做!

在上图所示的架构图中,后端采用的集群是我们的bsdocfs集群存储,三个samba服务器的node在作为CTDB的节点的同时,也是运行着我们的内核客户端,将三个内核客户端挂载到后端的集群中,同时这三个samba客户端对外采用三个虚拟的IP,然后采用LVS的网络负载均衡技术,虚拟成一个对外的IP,这样就实现了samba的带宽聚合以及负载均衡。

第一步:搭建一个CTDB集群

一、配置环境

1.samba node1

²E5400采用2.6.39内核客户端挂在集群

²IP:192.168.0.210

²GW:192.168.1.1

²NETMASK:255.255.0.0

2.samba node2

²E5400采用2.6.39内核客户端挂在集群

²IP:192.168.0.211

²GW:192.168.1.1

²NETMASK:255.255.0.0

3.samba node3

²E5400采用2.6.39内核客户端挂在集群

²IP:192.168.0.212

²GW:192.168.1.1

²NETMASK:255.255.0.0

二、配置samba CTDB。

1、在三个节点上使用如下命令安装samba,CTDB。

更新源以后执行

T02-APP210:~#apt-get update

T02-APP210:~#apt-get install samba ctdb

2、在三个节点的/etc/services文件中增加如下内容。

ctdb 9999/tcp

3、在三个节点中修改/etc/samba/smb.conf文件为如下内容,其中/smbcluster是后端集群存储系统的挂载点,/smbcluster/public为用户通过samba访问到的目录

[global]

clustering = yes

idmap backend = tdb2

private dir=/smbcluster/ctdb

fileid:mapping = fsname

use mmap = no

nt acl support = yes

ea support = yes

[public]

comment = public share

path = /smbcluster/public

public = yes

writeable = yes

4、在三个节点在修改/etc/default/ctdb文件的如下内容。

CTDB_RECOVERY_LOCK="/smbcluster/ctdb/lock"

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/ctdb.log

CTDB_DEBUGLEVEL=2

CTDB_PUBLIC_NETWORK="192.168.0.0/24"

CTDB_PUBLIC_GATEWAY="192.168.1.1"

5、在三个节点在修改/etc/ctdb/public_addresses文件中增加如下内容,该文件记录Samba CTDB集群提供给客户访问的虚拟IP地址。

192.168.0.80/24

192.168.0.81/24

192.168.0.82/24

6、在三个节点上修改/etc/ctdb/nodes文件中增加如下内容,该文件记录Samba CTDB集群节点的IP地址。

192.168.0.210

192.168.0.211

192.168.0.212

7、在三个节点上修改/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

8、在三个节点上执行如下命令。

T02-APP210:~# chmod +x /etc/ctdb/events.d/11.route

T02-APP210:~# /etc/init.d/ctdb restart

T02-APP210:~# /etc/init.d/samba restart

9、可以通过以下命令查看Samba CTDB集群的情况。

T02-APP210:~# ctdb status

Srv5:~# ctdb status

Number of nodes:3

pnn:0 192.168.0.210 OK (THIS NODE)

pnn:1 192.168.0.211 OK

pnn:2 192.168.0.212 OK

Generation:1228536155

Size:3

hash:0 lmaster:0

hash:1 lmaster:1

hash:2 lmaster:2

Recovery mode:NORMAL (0)

Recovery master:1

完成上述步骤后,Samba CTDB集群就搭建完成了,客户端可以通过在/etc/ctdb/public_addresses文件中记录的IP地址进行访问.

第二步Lvs的配置及搭建

LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。目前有三种IP负载均衡技术(VS/NAT、VS/TUN和VS/DR);

十种调度算法(rrr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq)。

官方网站:http://www.linuxvirtualserver.org/

本次采用的是三个samba服务器节点上做lvs的调度,其中一台既是虚拟主机,又是真实服务器,下面将介绍搭建lvs服务器的步骤

1.基础环境配置

三台samba节点

分别配置IP为:

192.168.0.80(这三个IP为之前CTDB配置的虚拟IP,publicaddress)

192.168.0.81

192.168.0.82

2.下载和安装LVS

T02-APP210:~#apt-get install ipvsadm

3.配置虚拟IP服务和负载均衡

以192.168.0.11作为LVS的主机,为其设置一个虚拟IP作为samba服务器的接口

192.168.0.85为LVS主机的虚拟IP

LVS SERVER配置

在192.168.0.11LVS虚拟服务器上执行:

设置本级的虚拟IP,作为LVS的虚拟IP

ifconfig eth0:0 192.168.0.85 netmask 255.255.0.0 broadcast 192.168.0.85 up

#打开IP转发开关

echo 1>/proc/sys/net/ipv4/ip_forward

#添加虚拟服务器,虚拟IP为192.168.0.85,端口为137,调度算法为rr

#! /bin/sh

ipvsadm -C

ipvsadm -A -u 192.168.0.85:137 -s rr

ipvsadm -A -u 192.168.0.85:138 -s rr

ipvsadm -A -t 192.168.0.85:139 -s rr

ipvsadm -A -t 192.168.0.85:445 -s rr

ipvsadm -a -u 192.168.0.85:137 -r 192.168.0.81:137 -g

ipvsadm -a -u 192.168.0.85:137 -r 192.168.0.80:137 -g

ipvsadm -a -u 192.168.0.85:137 -r 192.168.0.82:137 -g

ipvsadm -a -u 192.168.0.85:138 -r 192.168.0.82:138 -g

ipvsadm -a -u 192.168.0.85:138 -r 192.168.0.80:138 -g

ipvsadm -a -u 192.168.0.85:138 -r 192.168.0.81:138 -g

ipvsadm -a -t 192.168.0.85:139 -r 192.168.0.80:139 -g

ipvsadm -a -t 192.168.0.85:139 -r 192.168.0.81:139 -g

ipvsadm -a -t 192.168.0.85:139 -r 192.168.0.82:139 -g

ipvsadm -a -t 192.168.0.85:445 -r 192.168.0.82:445 -g

ipvsadm -a -t 192.168.0.85:445 -r 192.168.0.81:445 -g

ipvsadm -a -t 192.168.0.85:445 -r 192.168.0.80:445 -g

#启动lvs

ipvsadm

IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.91.9:http rr
-> 192.168.91.12:http Route 1 0 0
-> 192.168.91.11:http Route 1 0 0

在192.168.0.11虚拟服务器上运行查询命令
[root@hadoop00 ~]# ipvsadm -l --stats
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Conns InPkts OutPkts InBytes OutBytes
-> RemoteAddress:Port
TCP 192.168.0.80:http 0 0 0 0 0
-> 192.168.0.81:http 0 0 0 0 0
-> 192.168.0.82:http 0 0 0 0 0

在真实服务器上执行下列脚本

#! /bin/sh

/sbin/ifconfig lo:0 192.168.0.91 broadcast 192.168.0.91 netmask 255.255.255.255 up

echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore

echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

到这里整个集群就搭建成功,挂载samba服务器即可

目前还有一个问题通过lvs挂载的时候,流量是分别写到了不同的真实server上,但是监控调度服务器的网卡时候,发现所有流量都是由调度服务器转发的,速度局限在调度服务器了。

网站栏目:CTDB与LVS搭建集群
分享网址:https://www.cdcxhl.com/article14/cpscge.html

成都网站建设公司_创新互联,为您提供全网营销推广服务器托管网站内链虚拟主机网站制作品牌网站制作

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网站建设公司