ip_address


service_ip

192.168.85.3


node1

eth0 192.168.85.1    pub_ip

eth1 10.10.10.1        pri_ip


node2

eth0 192.168.85.2    pub_ip

eth1 10.10.10.2        pri_ip




# cat /etc/hosts

192.168.85.1   node1

192.168.85.2   node2

10.10.10.1    pri1

10.10.10.2    pri2






heartbeat-2.1.3


       感言:只要这个软件能安装就能使用,原因是安装难度大于配置。安装时没有可靠的文档参考;配置时有安装后产生的配置参考。像/etc/ha.d目录下的README.config,doc目录下的README,GettingStarted.html,ha.cf。可是在文字表达时,总是觉得后者容易表述清楚,而前者难以表达清楚。这可能也是我多次实践后所碰到的问题。至少在这个软件这里安装难于配置。然而关于高可用集群的原理不在上述讨论考虑范围之内。

Installing Heartbeat.

# rpm -ivh heartbeat-pils-2.1.3-3.el5.centos.i386.rpm

# rpm -ivh heartbeat-stonith-2.1.3-3.el5.centos.i386.rpm
# rpm -ivh gnutls-1.4.1-10.el5_9.2.i386.rpm
# rpm -ivh --nodeps heartbeat-2.1.3-3.el5.centos.i386.rpm


# cd /etc/ha.d/

# vi README.config

linux-HA  heartbeat简单配置_cluster

# cd /usr/share/doc/heartbeat-2.1.3/

# vi README

# firefox GettingStarted.html


# cd /etc/ha.d/

# cp /usr/share/doc/heartbeat-2.1.3/ha.cf .

# cp /usr/share/doc/heartbeat-2.1.3/haresources .

# cp /usr/share/doc/heartbeat-2.1.3/authkeys .

# vi ...



Configuring Heartbeat

关于心跳的设置可以是『广播、单播、多播、串行链路』


★Configuring ha.cf

# vi ha.cf                (进罗列以太网配置;linux环境下配置;其他参考上边firefox命令后内容)

#       There are lots of options in this file.  All you have to have is a set
#       of nodes listed {"node ...} one of {serial, bcast, mcast, or ucast},
#       and a value for "auto_failback".

                        (这个描述很是喜人啊!就是说这个配置文件只需要你配置三个项目就能行)

bcast eth0 eth1 eth2

                        (心跳接口;可以是两个,如果网卡足够;

                            Solaris系统下语法格式不一样)

ucast eht0 192.168.1.2

                        (用来发送和接受心跳信号的设备接口;发送心跳信号前往的地址)

keepalive 2           

                        (心跳间隔的秒数;

keepalive 1500ms

                            需要的情况下,可以精确到毫秒级;当然设备实力比较重要)

deadtime 30          

                        (确定主机宕机秒数----未收到心跳信号;这个值不能设定的太小了,See the FAQ)

initdead 120               

                        (当一台机器运行后,等待另外一台处于就绪状态的等待时间;

                            等待网络就绪或者重启一台机器所有的时间,不太好翻。总之,最小设置到上边---

                            deadtime 值的两倍)

udpdort 694           

                        (这个是个默认端口,配置不配置都是这个值,如果你需要可以更改;

                            广播和单播传输情况下,使用的UDP接口。)

auto_failback  [on | off | legacy | 0 | 1 | y | n ……]

                        (当主节点失败后又恢复了,是否自动切换会主节点;建议明确在配置文件设置。

                           “legacy” 是默认值。可以设定为任意一个该软件支持的布尔值------比较松散。)

node linuxha1.linux-ha.org

                        (确定那些机器在集群里;

                            就是命令 uname -n 或者 hostname 的显示)

node linuxha2.linux-ha.org


* 一些不常用的项目

compression bz2 | bzip

                        (启用压缩)

cpmpression_threshold 2

                        (大于2KB就压缩)



Configuring haresources

指定集群提供的服务谁是默认的“主节点”。

Note:  This file must be the same on both nodes!

                    (需要在集群组内所有节点同步)

以mysqld作为集群提供的服务举例。

# hostname

hhh                            (这里显示的主机名没有跟上边同步,仅仅为这里的配置文件举例;短)



# vi haresources

#当一个机器的状态在 up 或者 down 时,集群节点间接管的资源定义列表。

hhh 192.168.85.3 mysqld


释义    : 集群提供 ip 地址 172.16.73.193 和 “mysqld” 服务。

                "mysqld" 的路径在下边寻找:

                                            /etc/ha.d/resource.d
                        /etc/rc.d/init.d

                或者自己写脚本。满足 “script_name start | script_name stop”

also like:

linuxha1 192.168.85.3 maid::vacuum
linuxha1 IPaddr::192.168.85.3 httpd mysqld
                           两个服务,顺序执行:mysqld httpd。靠后的先执行。
linuxha1 192.168.85.3/27 httpd mysqld
linuxha1 192.168.85.3/27/192.168.85.16 httpd
                           "16"是定义的广播地址



    关于该文件的重要提示:

            > 该配置文件必须在集群内的所有节点完全一致;否则,“后果自负”( ^_^ )。

            > auto_failback on (or legacy);这么样设置时,集群提供的服务在(任何时候的)启动

            时,必须由主节点提供。

            > auto_failback off (or legacy);这时启动方式有点不同



Configuring ipfail

ipfail插件用来检测网络故障。(集群根据这个功能才能转移资源啊)

就是说这里配置的是故障转移


配置过程:

涉及3个配置选项(ha.cf文件中):

auto_failback(on | off)

        只能是这两个值(“真”或者“假”)

respawn hacluster /usr/lib/heartbeat/ipfail

        

ping pnode1 pnode2 pnodeN

                设置这些节点的时候,要保证所有的集群节点都能够ping的通;而且该节点必须可靠(一直

                能通)。可以设为网关地址。

ping_group group1 192.168.85.1 192.168.100.1

                "85.1 is up" or "100.1 is up",group1 is up.

hbaping hba_card-name



Configuring Authkeys

三个可用的验证方法:crc, md5, and sha1;安全性依次提高,资源占用依次增加。

                        md5 & sha1像这样配置:

auth 1
1 sha1 <authkey-for-sha1>
auth 2
2 md5 <authkey-for-md5>

                两者的<authkey-for-*>;确保这个文件是“600”权限。

                -rw-------


                        crc 像这样配置:

auth 3
3 crc


crc使用在可信任网络中。



* 依次启动主机,备机;然后试着ssh 192.168.85.3(集群提供服务的ip)。




=========================


You may create an authkeys file, using a generated secret, with the following shell hack:

( echo -ne "auth 1\n1 sha1 "; \
  dd if=/dev/urandom bs=512 count=1 | openssl md5 ) \
  > /etc/ha.d/authkeys
chmod 0600 /etc/ha.d/authkeys


# service heartbeat start

# ps -AHfww | grep heartbeat



linux-HA  heartbeat简单配置_nodeps_02