打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
CentOS HA 集群

在CentOS中配置高可用性集群

环境:Vmware server 3.2 + CentOS 5 + heartbeat

一、      概述:

    通过安装该Linux-HA软件,可以实现Linux双机系统的高可用性解决方案,实现双机系统的热备份,并能够做到双机之间的无缝切换,从而对外提供稳定可靠的服务,最终实现系统高性能RAS(reliability, availability, and serviceability)。

系统:Centos5.0

集群软件:Heartbeat

节点1IP(Master):10.10.10.100

节点2IP(Slave):10.10.10.101

Virtual IP:10.10.10.108

配置环境:

编辑:

# vi /etc/sysconfig/network ,两台主机分别为:

HOSTNAME=ha01 ; HOSTNAME=ha02

# vi /etc/hosts

10.10.10.100   ha01 ;    10.10.10.100   ha02

二、下载安装软件包和配置:

   1、需要以下软件包:

heartbeat-2.1.3

heartbeat-pils-2.1.3

heartbeat-stonith-2.1.3

也可以使用yum -y install heartbeat来进行安装。

三、配置heartbeat

1、在每个节点上配置heartbeat,需要有以下三个文件:

authkeys、ha.cf、haresources,它们存在于/etc/ha.d/目录里。

2、创建以上提到的三个文件

# cp /usr/share/doc/heartbeat-2.1.2/authkeys /etc/ha.d/

# cp /usr/share/doc/heartbeat-2.1.2/ha.cf /etc/ha.d/

# cp /usr/share/doc/heartbeat-2.1.2/haresources /etc/ha.d/

3、配置

Heartbeat软件的安装目录为/etc/ha.d,其中的

README.config对配置文件进行了说明,共有三个主要的配置文件:ha.cf,haresources,authkeys。

下面依次对三个配置文件进行说明,此外用户还可以参考Linux-HA附带的安装文档以及配置文件自身的注释。

配置ha.cf文件

ha.cf是heartbeat的主要配置文件,可以对heartbeat的多数性能和状态进行配置。大部分选项的取值可以采用默认值,其中的主要选项及配置方法说明如下:

debugfile /var/log/ha-debug:该文件保存heartbeat的调试信息

logfile /var/log/ha-log:heartbeat的日志文件

keepalive 2:心跳的时间间隔,默认时间单位为秒

deadtime 30:超出该时间间隔未收到对方节点的心跳,则认为对方已经死亡。

warntime 10:超出该时间间隔未收到对方节点的心跳,则发出警告并记录到日志中。

initdead 120:在某些系统上,系统启动或重启之后需要经过一段时间网络才能正常工作,该选项用于解决这种情况产生的时间间隔。取值至少为deadtime的两倍。

udpport 694:设置广播通信使用的端口,694为默认使用的端口号。

baud 19200:设置串行通信的波特率。

serial /dev/ttyS0:选择串行通信设备,用于双机使用串口线连接的情况。如果双机使用以太网连接,则应该关闭该选项。

bcast eth0:设置广播通信所使用的网络接口卡。

auto_failback on:heartbeat的两台主机分别为主节点和从节点。主节点在正常情况下占用资源并运行所有的服务,遇到故障时把资源交给从节点并由从节点运行服务。在该选项设为on的情况下,一旦主节点恢复运行,则自动获取资源并取代从节点,否则不取代从节点。

ping ping-ha1 ping-ha2:指定ping ha,ping ha并不构成双机节点,它们仅仅用来测试网络连接。

respawn hacluster /usr/lib/heartbeat/ipfail:指定与heartbeat一同启动和关闭的进程,该进程被自动监视,遇到故障则重新启动。最常用的进程是ipfail,该进程用于检测和处理网络故障,需要配合ping语句指定的ping ha来检测网络连接。

配置haresources文件

haresources文件用于指定双机系统的主节点、集群IP、子网掩码、广播地址以及启动的服务等。其配置语句格式如下:

ha-name network-config <resource-group>

其中ha-name指定双机系统的主节点,取值必须匹配ha.cf文件中ha选项设置的主机名中的一个,ha选项设置的另一个主机名成为从节点。

network-config用于网络设置,包括指定集群IP、子网掩码、广播地址等。resource-group用于设置heartbeat启动的服务,该服务最终由双机系统通过集群IP对外提供。

下面举例对配置方法进行说明:

# ha01 10.10.10.108 httpd tomcat

假设ha.cf文件中ha选项设置的两个主机名分别为ha01和ha02,则根据上述配置,双机系统的主节点为ha01,从节点为ha02。

heartbeat启动时获取集群IP(cluster IP)为10.10.10.108,该IP成为heartbeat对外提供服务的网络地址。此外heartbeat依次启动服务httpd和tomcat(从左向右的顺序)。heartbeat关闭时将依次关闭tomcat和httpd(从右向左的顺序),并释放cluster IP。

httpd和tomcat分别是apache和tomcat的启动脚本,heartbeat将从下面目录中寻找这些启动脚本:   

/etc/ha.d/resource.d

/etc/rc.d/init.d

# ha01 10.10.10.108/8 httpd tomcat

指定cluster IP为10.10.10.108,并且指定子网掩码为255.255.224.0,每个网段内有213个可用IP,默认广播地址取该网段内的最大可用IP,取值为192.168.31.255。

此外,还可以向启动脚本传递argument,语法为:scriptname::argument

# ha01 10.10.10.108/8/eth0/10.10.10.255 httpd tomcat

指定cluster IP为10.10.10.108,子网掩码为255.255.224.0,使用的网络接口卡为eth0,并强制设定广播地址为10.10.10.255。

注意:两台主机的haresources文件设置必须完全一致。

    配置authkeys文件

authkeys文件用于heartbeat的鉴权设置,共有三种可用的鉴权方式:crc、md5和sha1。三种方式安全性依次提高,但同时占用的系统资源也依次扩大。crc安全性最低,适用于物理上比较安全的网络,sha1提供最为有效的鉴权方式,占用的系统资源也最多。

IXDBA.NET技术社区

其配置语句格式如下:

auth <number>

<number> <authmethod> [<authkey>]

举例说明:

auth 1

1 sha1 key-for-sha1

其中键值key-for-sha1可以任意指定,number设置必须保证上下一致。

auth 2

2 crc

crc方式不需要指定键值。

最后,该authkeys文件的文件许可权应该设为600(即-rw-------),命令为:

#   chmod 600 authkeys

注意:上述三个配置文件设置完毕后,应该复制到/etc/ha.d目录下。

  首先编辑authkeys文件:

# vi /etc/ha.d/authkeys

   添加以下行:在这里我们使用的是第二种认证方式(shal)

   auth 2

   2 sha1 test-ha

   接着把文件的权限改为600:

# chmod 600 /etc/ha.d/authkeys

编辑/etc/ha.d/ha.cf文件:

# vi /etc/ha.d/ha.cf加入如下行:

   logfile /var/log/ha-log

   logfacility local0

   keepalive 2

   deadtime 30

   initdead 120

   bcast eth0

   udpport 694

   auto_failback on

    node ha01

    node ha02

编辑/etc/ha.d/haresources文件

   这个文件中包含了使那个服务具有高可用性,在这里我们使用的是httpd;

# vi /etc/ha.d/haresources加入下行:

ha01 10.10.10.108 httpd

我们把ha01上的/etc/ha.d/目录复制到节点ha02上的/etc目录里。

# scp -r /etc/ha.d/ root@ha02:/etc/

在httpd.conf文件里我们添加如下行:

   vi /etc/httpd/conf/httpd.conf

   Listen 10.10.10.108:80

把节点ha01上的/etc/httpd/conf/httpd.conf文件复制到节点ha02相应的目录里:

   scp /etc/httpd/conf/httpd.conf root@ha02:/etc/httpd/conf/

在两个节点上分别创建一个index文件来进行测试:

   在ha01上:

   # echo "hello,ha01 apache !" > /var/www/html/index.html

   在ha02上:

   # echo "hello,ha02 apache !" > /var/www/html/index.html

在两个节点上分别启动heartbeat:

# /etc/init.d/heartbeat start

四、验证:

1、ifconfig 在ha01上会看到eth0:0 的网络接口邦定ip:10.10.10.108,可以通过ping测试。

    查看 httpd 进程,可以看到httpd 已启动;查看heartbeat 进程。

2、在client上,开启一个浏览器:输入http://10.10.10.108并回车,将会看到

   “ hello,ha01 apache !”

3、停止ha01上的heartbeat进程,然后再浏览器里输入http://10.10.10.108并回车,将会看到”hello,ha02 apache ! "

4、ifconfig 在ha02上会看到eth0:0 的网络接口邦定ip:10.10.10.108,可以通过ping测试。

    查看 httpd 进程,可以看到httpd 已启动;查看heartbeat 进程。

五、补充

这里不需要创建一个虚拟网络接口和配置一个IP(10.10.10.108)给它,因为heartbeat会帮助我们来完成的,并启动httpd server。

                    ------------- 本文参考ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/504/showart_1097442.html


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
使用HeartBeat实现高可用HA的配置过程详解
heartbeat安装配置小结
linux用heartbeat实现双机热备-Linux认证考试-考试大
Heartbeat安装与配置虚拟IP双机热备
Linux 系统下双机HA的功能实现
Ubuntu下基于heartbeat的双机热备
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服