Chinaunix首页 | 论坛 | 博客
  • 博客访问: 385679
  • 博文数量: 124
  • 博客积分: 2911
  • 博客等级: 少校
  • 技术积分: 1050
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-15 15:57
文章分类

全部博文(124)

文章存档

2012年(6)

2011年(26)

2010年(92)

我的朋友

分类: LINUX

2010-05-29 12:53:26

18.6 配置Heartbeat

18.6.1  配置主节点的Heartbeat

Heartbeat的主要配置文件有ha.cf、haresources和authkeys。在Heartbeat安装后,默认并没有这3个文件, 可以从官方网站下载得到,也可以直接从解压的源码目录中找到。在上面的安装过程中,我们已经将这3个文件放到了/etc/ha.d目录下,下面分别详细介 绍。

1.主配置文件(/etc/ha.d/ha.cf)

下面对ha.cf文件的每个选项进行详细介绍,其中"#"号后面的内容是对选项的注释说明。

  1. #debugfile /var/log/ha-debug  
  2. logfile /var/log/ha-log     #指名heartbeat的日志存放位置。  
  3. #crm yes                    #是否开启Cluster Resource Manager(集群资源管理)功能。  
  4. bcast eth1              #指明心跳使用以太网广播方式,并且是在eth1接口上进行广播。  
  5. keepalive 2             #指定心跳间隔时间为2秒(即每2秒钟在eth1上发送一次广播)。  
  6. deadtime 30 #指定若备用节点在30秒内没有收到主节点的心跳信号,则立即接管主节点的服务资源。  
  7. warntime 10 #指定心跳延迟的时间为10秒。当10秒钟内备份节点不能接收到主节点的
    心跳信号时,就会往日志中写入一个警告日志,但此时不会切换服务。  
  8. initdead 120    #在某些系统上,系统启动或重启之后需要经过一段时间网络才
    能正常工作,该选项用于解决这种情况产生的时间间隔。取值至少为deadtime的两倍。  
  9. udpport 694             #设置广播通信使用的端口,694为默认使用的端口号。  
  10. baud 19200              #设置串行通信的波特率。  
  11. #serial /dev/ttyS0      #选择串行通信设备,用于双机使用串口线连接的情况。
    如果双机使用以太网连接,则应该关闭该选项。  
  12. #ucast eth0 192.168.1.2 #采用网卡eth0的udp单播来组织心跳,后面跟的
    IP地址应为双机对方的IP地址。  
  13. #mcast eth0 225.0.0.1 694 1 0   #采用网卡eth0的Udp多播来组织心跳,
    一般在备用节点不止一台时使用。Bcast、ucast和mcast分别代表广播、单播
    和多播,是组织心跳的三种方式,任选其一即可。  
  14. auto_failback on    #用来定义当主节点恢复后,是否将服务自动切回。
    heartbeat的两台主机分别为主节点和备份节点。主节点在正常情况下占用资源
    并运行所有的服务,遇到故障时把资源交给备份节点并由备份节点运行服务。在该
    选项设为on的情况下,一旦主节点恢复运行,则自动获取资源并取代备份节点;
    如果该选项设置为off,那么当主节点恢复后,将变为备份节点,而原来的备份节点成为主节点。  
  15. #stonith baytech /etc/ha.d/conf/stonith.baytech     # stonith的主
    要作用是使出现问题的节点从集群环境中脱离,进而释放集群资源,避免两个节点争
    用一个资源的情形发生。保证共享数据的安全性和完整性。  
  16. #watchdog /dev/watchdog #该选项是可选配置,是通过Heartbeat来监控系统的运
    行状态。使用该特性,需要在内核中载入"softdog"内核模块,用来生成实际的设备文件,
    如果系统中没有这个内核模块,就需要指定此模块,重新编译内核。编译完成输入
    "insmod softdog"加载该模块。然后输入"grep misc /proc/devices"(应为10),
    输入"cat /proc/misc |grep watchdog"(应为130)。最后,生成设备文件:
    "mknod /dev/watchdog c 10 130" 。即可使用此功能。  
  17. node node1              #主节点主机名,可以通过命令"uanme -n"查看。  
  18. node node2              #备用节点主机名。  
  19. ping 192.168.60.1   #选择ping的节点,ping节点选择的越好,HA集群就越强壮,
    可以选择固定的路由器作为ping节点,但是最好不要选择集群中的成员作为ping节点,
    ping节点仅仅用来测试网络连接。  
  20. respawn hacluster /usr/lib/heartbeat/ipfail #该选项是可选配置,列出与
    heartbeat一起启动和关闭的进程,该进程一般是和heartbeat集成的插件,这些进程
    遇到故障可以自动重新启动。最常用的进程是ipfail,此进程用于检测和处理网络故障,
    需要配合ping语句指定的ping node来检测网络的连通性。其中hacluster表示启动ipfail进程的身份。 

2.资源文件(/etc/ha.d/haresources)

   Haresources文件用于指定双机系统的主节点、集群IP、子网掩码、广播地址以及启动服务等集群资源。
   文件每一行可以包含一个或多个资源脚本名;
   资源之间使用空格隔开;
   参数之间使用::隔开。
   在两个HA节点上该文件必须完全一致,此文件的一般格式为:
  1. node-name network  <resource-group> 
   node-name表示主节点的主机名,必须和ha.cf文件中指定的节点名一致。
   network用于设定集群的IP地址、子网掩码和网络设备标识等。需要注意的是,这里指定的IP地址就是集群对外服务的IP地址
   resource-group用来指定需要Heartbeat托管的服务,这些服务可以由Heartbeat来启动和关闭。如果要托管这些服务,就必须将服务写成可以通过start/stop来启动和关闭的脚步,然后放到/etc /init.d/或者/etc/ha.d/resource.d/目录下,Heartbeat会根据脚本的名称自动去/etc/init.d或者/etc /ha.d/resource.d/目录下找到相应脚步进行启动或关闭操作。
=====================================================
下面对配置方法进行具体说明:
  1. node1 IPaddr::192.168.60.200/24/eth0/  Filesystem::
    /dev/sdb5::/webdata::ext3  httpd tomcat 
   其中,node1是HA集群的主节点,IPaddr和Filesystem为heartbeat自带的脚本,“::”后的部分作为脚本的参数,多参数之间使用::分隔。
   Heartbeat首先将执行/etc/ha.d/resource.d/IPaddr 192.168.60.200/24 start的操作,此操作虚拟出一个子网掩码为255.255.255.0,IP为192.168.60.200的地址。该IP为Heartbeat对外提供服务的网络地址,同时指定此IP使用的网络接口为eth0。
   接着,Heartbeat将执行共享磁盘分区的挂载操作,"Filesystem::/dev/sdb5::/webdata::ext3"相当于在命令行下执行mount操作,即"mount -t ext3 /dev/sdb5 /webdata",最后依次启动httpd和Tomcat服务。
注意主节点和备份节点中资源文件haresources要完全一样。

3.认证文件(/etc/ha.d/authkeys)

authkeys文件用于设定Heartbeat的认证方式,共有3种可用的认证方式,即 crc、md5和sha1。3种认证方式的安全性依次提高,但是占用的系统资源也依次增加。如果Heartbeat集群运行在安全的网络上,可以使用 crc方式;如果HA每个节点的硬件配置很高,建议使用sha1,这种认证方式安全级别最高;如果是处于网络安全和系统资源之间,可以使用md5认证方 式。这里我们使用crc认证方式,设置如下:

  1. auth 1  
  2. 1 crc  
  3. #2 sha1 sha1_any_password  
  4. #3 md5 md5_any_password 

需要说明的一点是:无论auth后面指定的是什么数字,在下一行必须作为关键字再次出现,例如指定了"auth 6",下面一定要有一行"6 认证类型"。

最后确保这个文件的权限是600(即-rw-------)。

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