Linux集群种类
l 高可用性集群:
§ 这类集群中比较著名的有Turbolinux TurboHA、Heartbeat、Redhat RHCS等。
l 负载均衡集群:
§ Turbolinux Cluster Server、Linux Virtual Server都属于负载均衡集群。
l 高性能计算集群:
§ 这类软件有Turbolinux EnFusion、SCore、rocks cluster等。
HA软件
l Heartbeat是一个守护程序,向其客户提供集群基础框架(通信和成员)服务。
l heartbeat最核心的包括两个部分,心跳监测部分和资源接管部分.
§ 心跳监测可以通过网络链路和串口进行,它们之间相互发送报文来告诉对方自己当前的状态,如果在指定的时间内未受到对方发送的报文,那么就认为对方失效,这时需启动资源接管模块来接管运行在对方主机上的资源或者服务。
Heartbeat应用
l HA主机拓扑图
§ 两台主机连接到以太网
§ 两台主机共享存储
§ mysql数据库使用共享存储
2台 CentOS 6.3
Host1 192.168.0.119
Host2 192.168.0.120
Host3 192.168.0.116
配置host1 192.168.0.119 双网卡
eth0 :192.168.0.119
eth1 : 172.16.100.1
ifconfig eth1 172.16.100.1 netmask 255.255.0.0 broadcast 172.16.255.255 up 启动eth1
# ifconfig lo:0 192.168.0.100 netmask 255.255.255.255 broadcast 192.168.0.100 up #VIP
# route add -host 192.168.0.100 dev lo:0 #加一条主机路由表项
配置host2 192.168.0.120 双网卡
eth0: 192.168.0.120
eth1: 172.16.100.2
ifconfig eth1 172.16.100.2 netmask 255.255.0.0 broadcast 172.16.255.255 up
# ifconfig lo:0 192.168.0.100 netmask 255.255.255.255 broadcast 192.168.0.100 up #VIP
# route add -host 192.168.0.100 dev lo:0 #加一条主机路由表项
在2台服务器上 添加各自解析主机名
192.168.0.119 host1
192.168.0.120 host2
# rpm -e --nodeps gnutls-2.8.5 cluster-glue-libs-1.0.5 resource-agents
如果没卸载会与下面的heartbeat-2.1.3-3.el5.centos冲突
# rpm -ivh PyXML
# rpm -ivh heartbeat-pils
# yum -y install telnet
# rpm -ivh heartbeat-stonith
# rpm -ivh gnutls
# rpm -ivh heartbeat 装这个的时候需要先安装上面的lzo和libgnutls 才能装上 因为我的就报错需要这2个
#yum –y install perl
配置Apache(Host1, Host2配置相同)
Apache是通过VIP访问的,VIP是:192.168.0.100,在两台Web服务器配置以192.168.0.100访问的虚拟主机。
在Apache的配置文件中设定以下的项
ServerName 192.168.0.100
Listen 192.168.0.100:80
分别在/var/www/html下写一个index.html 网页文件进行测试分别是:
1)HostA
This server's IP is 192.168.0.119--host1
2)HostB
This server's IP is 192.168.0.120--host2
下面是真正开始配置
Host1
# cp /usr/share/doc/heartbeat-2.1.3/ha.cf /etc/ha.d/
# cp /usr/share/doc/heartbeat-2.1.3/haresources /etc/ha.d/
# cp /usr/share/doc/heartbeat-2.1.3/authkeys /etc/ha.d/
编辑authkeys文件
# vi /etc/ha.d/authkeys
auth 1
1 crc
去掉注释
authkeys文件的权限为600
# chmod 600 /etc/ha.d/authkeys
编辑haresources
# vi /etc/ha.d/haresources
添加一行:
host1 192.168.0.100 httpd
第一列为默认主机,第二列为虚拟IP,第三列为需要实现高可用的服务名称(在/etc/init.d列表内)
编辑ha.cf
# vi /etc/ha.d/ha.cf
去掉注释,并编辑
logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 30
warntime 10
initdead 120
udpport 694
ucast eth1 172.16.100.2 #使用单播通知对方host2地址
auto_failback on #主节点恢复正常服务后,是否取回资源
node host1
node host2
ping 192.168.220.2 #测试外部网络连通性,通常使用一个外部网关
host2 配置
和上面的一样 只需改一个地方
ucast eth1 172.16.100.1 #使用单播通知对方host1地址
host1和host2启动service heartbeat start
service httpd start
host1,host2,host3 关闭selinux 以及iptables ip6tables
然后在 host3 即可浏览 http://12.168.0.100
可以看到 host1 的index.html 的索引文件内容
我们可以假设host1关机了 在host2 里 tail -f /var/log/messages 可以看到一些提示信息。当再次刷新host3的 网页时 会发现 显示的是host2 的索引文件内容
http://blog.sina.com.cn/pankuokuo 我的新浪微博地址 求粉 求关注
百度云盘下载 账号pankuo1@sina.cn密码pk492940446
本文转自潘阔 51CTO博客,原文链接:http://blog.51cto.com/pankuo/1368762,如需转载请自行联系原作者