Chinaunix首页 | 论坛 | 博客
  • 博客访问: 457270
  • 博文数量: 135
  • 博客积分: 4177
  • 博客等级: 上校
  • 技术积分: 1145
  • 用 户 组: 普通用户
  • 注册时间: 2005-12-13 17:16
文章分类

全部博文(135)

文章存档

2011年(5)

2010年(4)

2009年(26)

2008年(25)

2007年(29)

2006年(42)

2005年(4)

分类: 服务器与存储

2009-01-01 15:00:10

2009年的第一天,在家闲着也是闲着,找点有意义的事做做;虽然做过几次,但都没有记录下来。而且还没有养成写文档的好习惯,^0^~~.以后做什么就写什么吧!留着纪念还好,工作这么多年从来没有写文档的习惯,好过好多事情都渐渐淡忘了。
1.为什么要用heartbeat,heartbeat的作用,heartbeat能干什么?^0^
 首先,我们不能保证任何一台电脑24小时一直100%不出问题,而现实生活中很多种服务需要这样,24小时不间断服务,例:网站,IPTV点播等等。这样就会需要多台电脑互为备用。一台电脑出了问题或者说一个服务出了问题。另一台马上接管。
(实际如下图所示,图片来自heartbeat网站!)
(图1)
(图2)
图1,没有用到存储,而是用DRLD实现两台电脑间的数据同步!
图2,使用了存储,两台电脑共同连接存储。注意不是同时连接,两台电脑同时都要写存储上的数据的话,会有一点问题,^0^扯远了,如果想了解这方面的东西可以找一下“共享存储”这方面的东西。
增加两个概念:
集群系统主要就2种:
高可用(High Availability)HA集群, 使用Heartbeat实现;也会称为”双机热备”, “双机互备”, “双机”。
负载均衡群集(Load Balance Cluster),使用Linux Virtual Server(LVS)实现;

参考(官方的东西还是要看的):
上面有几个英文的视频,我看了,但英文太次,听不大明白。

2.环境搭建与资原配置
  a.两台电脑(搞两个Vmware);
  b.操作系统redhat 4 update 7 (我的操作系统只装了gcc其它的没有安装!)
  c.软件我从heartbeat下载稳定版本2.1 

3.安装与配置
 
 (英文好的可以听一下,英文不好的也可以看一下。我只能看一下。^0^)
 Client A ipaddress:192.168.1.103    
 Client B ipaddress:192.168.1.104
 虚拟IP:192.168.1.105

 A.libnet安装  
 (编译过程中需要安装libnet模块,如果没有安装此组件,则会出现如下问题。)
  configure: error: The following required components noted earlier are missing:     libnet

  下载站点
  [root@AbleRedhat4 heartbeat]# tar zxvf libnet.tar.gz.gz
  [root@AbleRedhat4 heartbeat]# cd libnet 
   ./configure && make && make install
 
B.HeartBeat编译安装
  解压下载的文件
 [root@AbleRedhat4 heartbeat]# ls
 Heartbeat-Stable.tar.gz
 [root@AbleRedhat4 heartbeat]# tar zxvf Heartbeat-Stable.tar.gz
 [root@AbleRedhat4 heartbeat]# ./ConfigureMe
 [root@AbleRedhat4 heartbeat]# ./ConfigureMe make #这个编译的过程比较长
 [root@AbleRedhat4 heartbeat]#  make install
 拷贝doc下的三个配置文件(ha.cf,haresources,authkeys)到/etc/ha.d/目录下
        先解释一下authkeys文件的意思:
        ================authkeys=================
auth 1
1 crc
#2 sha1 HI!
#3 md5 Hello!
========================================
1,2,3表示认证算法选择,这里选择了crc算法,当然了你也可以先择其它的。此文件用于用户验证!
      而且authkeys文件权限必须是0600,所以请记得执行chmod 600 /etc/ha.d/authkeys
        继续来解释haresources文件
   #cat haresources 
   =============================================================
   AbleRedhat4.iptv.com 192.168.1.105/24/eth0 hamysql.sh
   =============================================================

        AbleRedhat4.iptv.com  主节点的名称uname -n 查出来的
        192.168.1.105/24/eth0  对外虚拟服务IP/子网掩码/网卡接品
hamysql.sh  表示资源名称,用以启动与停止hamysql.sh的服务,需要在resource.d目录下创建hamysql.sh这个脚本,支持start和stop操作。
        我直接套用了mysql自已的脚本,没有写。(ln -s /etc/init.d/mysqld hamysql.sh)
        讲讲最麻烦的ha.cf配置文件
   #说明:主节点重启成功后,资源是自动拿回到主节点还是等到副节点down调后拿回资源 
node    AbleRedhat4
node    heartbeat
       #节点名称,与uname –n保持一致。是否主节点与此位置的先后顺序无关。而是在haresources里指定 
   bcast eth0 
   #采用eth0的udp广播用来发送心跳信息,建议在副节点不只一台时使用(而如果副节点不在同一网段侧使用无效果)
   ucast eth0 192.168.1.104
   #采用网卡eth0的udp单播来通知心跳,ip应为对方IP(未验证) 
 当一个网段有多台这样cluster话,则一定要采用单播,否则每组cluster都会看到对方的节点,从而报错。
   #mcast eth0 225.0.0.1 694 1 0 
   #采用udp多播来通知心跳,建议在副节点不只一台时使用 
   #注:广播,单播,多播,以上三种任选其一即可 



阅读(1634) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-04-02 15:02:27

感谢,作者写得很好