GlusterFSStoragePool高可用及负载均衡配置v091402.docx

上传人:b****9 文档编号:26247012 上传时间:2023-06-17 格式:DOCX 页数:17 大小:573.61KB
下载 相关 举报
GlusterFSStoragePool高可用及负载均衡配置v091402.docx_第1页
第1页 / 共17页
GlusterFSStoragePool高可用及负载均衡配置v091402.docx_第2页
第2页 / 共17页
GlusterFSStoragePool高可用及负载均衡配置v091402.docx_第3页
第3页 / 共17页
GlusterFSStoragePool高可用及负载均衡配置v091402.docx_第4页
第4页 / 共17页
GlusterFSStoragePool高可用及负载均衡配置v091402.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

GlusterFSStoragePool高可用及负载均衡配置v091402.docx

《GlusterFSStoragePool高可用及负载均衡配置v091402.docx》由会员分享,可在线阅读,更多相关《GlusterFSStoragePool高可用及负载均衡配置v091402.docx(17页珍藏版)》请在冰豆网上搜索。

GlusterFSStoragePool高可用及负载均衡配置v091402.docx

GlusterFSStoragePool高可用及负载均衡配置v091402

GlusterFSStoragePool高可用及负载均衡配置

1.概述

通过为GlusterFS存储池配置CTDB以及RRDNS,实现CIFS、NFS、GlusterNative输出的高可用和负载均衡。

2.GlusterFS安装配置

GlusterFS安装:

略。

GlusterFS卷必须配置为副本模式,确保底层集群文件系统是高可用的。

3.CTDB简介

CTDBisaclusterimplementationoftheTDBdatabaseusedbySambaandotherprojectstostoretemporarydata.IfanapplicationisalreadyusingTDBfortemporarydataitisveryeasytoconvertthatapplicationtobeclusterawareanduseCTDBinstead.

Featuresinclude:

CTDBprovidesaTDBthathasconsistentdataandconsistentlockingacrossallnodesinacluster.

CTDBisveryfast.

Incaseofnodefailures,CTDBwillautomaticallyrecoverandrepairallTDBdatabasesthatitmanages.

CTDBisthecorecomponentthatprovides pCIFS ("parallelCIFS")withSamba3/4.

CTDBprovidesHAfeaturessuchasnodemonitoring,nodefailover,andIPtakeover.

CTDBprovidesareliablemessagingtransporttoallowapplicationslinkedwithCTDBtocommunicatetootherinstancesoftheapplicationrunningondifferentnodesinthecluster.

CTDBhaspluggabletransportbackends.CurrentlyimplementedbackendsareTCPandInfiniband.

CTDBsupportsasystemofapplicationspecificmanagementscripts,allowingapplicationsthatdependonnetworkorfilesystemresourcestobemanagedinahighlyavailablemanneronacluster.

4.CTDB安装配置

4.1.通过源码编译安装

4.2.通过yum安装

yuminstallctdb

4.3.CTDB配置

在GlusterFS存储池中创建一个副本卷conf,用来存放CTDB的lockfile。

停止samba服务,修改/etc/samba/smb.conf配置文件。

创建CTDB的主配置文件ctdb。

在这里指定其他文件的位置及名称。

创建public_addresses文件,在这里指定虚拟IP。

创建nodes文件,在这里指定CTDB各个节点的真实IP。

启动ctdb服务。

并设置为自动启动。

验证ctdb是否已经启动。

至此,CTDB配置完成。

相关配置文件如下所示。

每个CTDB节点均挂载这个存储CTDB锁文件,以及配置文件的GlusterFS卷conf,在/etc/sysconfig/下创建一个软连接ctdb指向/gluster/lock/ctdb/ctdb文件即可。

5.CTDB高可用测试

测试环境:

共三台服务器,其中两台在GlusterFS存储池内,另外一台作为客户端。

Gluster存储池内的两台服务器IP和MAC的对应如下,通过arp命令,用MAC地址作为判断客户端连接了哪台服务器的依据。

inetaddr:

192.168.0.6HWaddr00:

1C:

C4:

A5:

8A:

8C

inetaddr:

192.168.0.5HWaddr00:

18:

FE:

FA:

C2:

EC

测试案例一:

停止当前客户端正在连接的CTDB集群内一台服务器上的cifs服务,测试其能否成功切换到其他服务器。

在客户端通过虚拟IP连接CIFS服务。

通过arp我们确定,虚拟IP192.168.0.220对应的物理服务器是192.168.0.6。

在cifs挂载点下,通过一个脚本不停的给hello文件中追加内容,同时通过tail实时查看文件的内容。

然后停止192.168.0.6服务器上的cifs服务。

此时查看文件内容是否依然被更新。

上层的应用丝毫没有受到影响,打开的文件依然可以正常读写。

也就是说CTDB对上层应用是完全透明的,而且能够保持CIFS的session。

测试案例二:

停止当前客户端正在连接的CTDB集群内一台服务器上的Gluster客户端,测试其能否成功切换到其他服务器。

根据当前arp可看到,当前CIFS客户端通过虚拟IP192.168.0.220挂载的CIFS服务对应的真实IP是192.168.0.5这台服务器。

接下就卸载192.168.0.5这台服务器上的gluster客户端挂载点。

成功卸载后,查看客户端的CIFS是否成功切换到其他服务器。

5.1.关于CTDB虚拟IP和CTDB集群内节点的实IP之间的关系

我们先看下虚拟IP和CTDB节点实IP相关的配置文件内容:

[root@localhost~]#cat/gluster/lock/ctdb/public_addresses

192.168.0.220/24eth0

192.168.0.221/24eth0

192.168.0.222/24eth0

192.168.0.223/24eth0

这是虚拟IP的配置文件,这里我们配置了4个虚拟IP,以及相对应的网卡。

[root@localhost~]#cat/gluster/lock/ctdb/nodes

192.168.0.5

192.168.0.6

这是CTDB节点实IP的配置文件,在CTDB集群内有两个节点。

通过CTDB提供的工具,我们可以清楚的看到,虚拟IP和实IP之间的关系。

4个虚拟ip被平分到了两个节点上了。

见上图。

这是CTDB集群内另一个节点上看到的情况。

见上图。

如果CTDB集群内有两个节点,只配置一个虚拟IP,则这个虚拟IP只在其中一个节点上。

只有该节点出现问题,才会被另一个节点接管。

见上图。

多个客户端连接不同的虚拟IP时,可以对应到CTDB集群内不同的服务器实IP上。

多个客户端连接同一个虚拟IP时,只对应到同一服务器真实IP上。

基于此,我们还需要一个基于IP负载均衡的工具,在不同虚拟IP上轮询。

以达到负载均衡的效果。

这就是RRDNS。

另外,因为CTDB虚拟IP正常时只会对应到一个实IP上,所以虚拟IP数量应该等于或大于实际IP数量,以便所有实IP被轮询上。

6.RRDNS简介

RR-DNS(Round-RobinDomainNameSystem),顾名思义,轮询的DNS服务。

他响应DNS请求不是仅仅返回一个固定的IP,而是从一个IP列表中轮询,返回IP。

具体实现的套件是BIND(BerkeleyInternetNameDomain)。

接下来即安装BIND。

7.RRDNSmaster/slave安装配置

7.1.通过yum安装

yuminstallbind

7.2.通过源码安装

源码下载地址:

ftp:

//ftp.isc.org/isc/bind9/9.8.1/bind-9.8.1.tar.gz

7.3.Master/Slave配置

BIND的主要配置文件为/etc/named.conf。

,各种针对主机的设定值都在这个档案中设定,包括zone的名称,以及对应的文件。

7.3.1.BINDMaster的配置

Master的named.conf配置文件如下:

相关zone的配置文件;

至此,BINDMaster的配置就完成了。

启动named服务:

servicenamedstart

Zone配置文件中关键字说明

$TTL

定义出向外查询的数据可以记录在DNS的cache当中多久,单位:

秒。

@

代表named.conf中定义的对应的zone。

SOA

StartofAuthority开始设定的内容的意思

NS

表示nameserver的意思

A

将DNS域名对应到IPv4地址

AAAA

将DNS域名对应到IPv6地址

.

加上了.表示这个『完整的主机名称,亦即是hostname+domainname』了,如果没有加上.的话,表示该名称仅为『hostname』而已

PTR

这是反解的符号

CNAME

设定主机别名

7.3.2.BINDSlave的配置

Slave的配置跟master配置文件除了named.conf不同,其他都相同,其中自定义的zone的配置文件会自动同步。

这里只需要手动从master拷贝localhost.rev,named.root,name.localhost三个配置文件。

zone.gluster,zone.gluster.rev会自动从master同步过来。

Slave的named.conf配置文件:

启动named服务:

servicenamedstart

8.RRDNS负载均衡测试

通过pinggluster.local来测试RRDNS。

根据其每次返回的IP地址是否相同来判断负载均衡的效果。

从同一客户端多次pinggluster.local,CTDB配置的4个虚拟IP被轮询。

依次从不同客户端pinggluster.local也会得到轮询的效果。

参考资料

●CTDB-http:

//ctdb.samba.org

●TroubleshootingCTDB-http:

//ctdb.samba.org/testing.html

●Round-robinDNS-

●DNSConfigure-http:

//linux-vbird.bluedata.org/linux_server/0350dns.htm#DNS_settings

●BIND-http:

//zh.wikipedia.org/wiki/BIND

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 工作总结汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1