亲测可用

两台Linux服务器 (联网状态)

    r1:192.168.1.10       r2:192.168.1.11

1 更改节点名称

   r1: vim /etc/sysconfig/network

        HOSTNAME=r1.xiaodao.com

    r2: HOSTNAME=r2.xiaodao.com

2 添加双方信任

    r1:    ssh-keygen -t rsa   

            ssh-copy-id 192.168.1.11

    r2    ssh-keygen -t rsa 

            ssh-copy-id 192.168.1.10

3 更改本地hosts文件

    vim /etc/hosts     

        192.168.1.10 r1.xiaodao.com r1 (别名)

        192.168.1.11 r2.xiaodao.com r2

    r2 也要添加

4 安装heartbeat前装备

    1 安装epel源

        wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm

        rpm -ivh epel-release-latest-6.noarch.rpm

    2 更改yum源

        wget -O /etc/yum.repos.d/CentOS-Base.repo  http://mirrors.aliyun.com/repo/Centos-6.repo

5 安装

    yum -y install heartbeat* 

6 配置文件(两个节点一样)

    需要从帮助文件复制过来

    cd /usr/share/doc/heartbeat-3.0.4

    cp {authkeys,haresources,ha.cf} /etc/ha.d/     需要3个主要文件

    cd /etc/ha.d

        chmod 600 authkeys   此文件用于秘钥文件 用于两节点通信 防止其他节点加入 需600权限

     vim authkeys   (添加下面两行 )    

        auth 1   (用1验证)

        1 md5 cf856b10a3f5f4ffce82510f71b6d5f1   (ID 1, md5校验,随机数。)

            (随机数自己指定也可以dd if=/dev/random count=1 bs=512 |md5sum 得到)

    vim ha.ch  (/etc/rc.d/init.d/下面的都可以作为集群服务)

        添加           

        bcast   eth0  (表示在eth0网卡上广播方式寻找节点)

node r1.xiaodao.com (添加集群节点)

node r2.xiaodao.com

ping 192.168.1.2  (ping节点相当于仲裁  谁ping通表示自己没有挂掉)

    vim /etc/ha.d/haresources 

        添加

        r1.xiaodao.com IPaddr::192.168.1.200/24/eth0 httpd(r1为主节点 虚拟IP1.200 httpd服务)(如若同时挂载nfs和httpd的话则要写成r1.xiaodao.com IPaddr::192.168.1.200/24/eth0 Filesystem::192.168.1.13:/www::/ren::nfs httpd(将nfs的/www挂载到本地的/ren。nfs配置挂载见前面章节))

    df -hT 查看挂载nfs情况

    完成。

安装 httpd 后先测试可用,可让两个节点网站内容不一样。之后,

    都关闭httpd服务(让集群自己去启动)并且开机不打开

    chkconfig httpd off

7 启动ha

    r1:    service heartbeat start

    在r1上远程开启r2:  ssh r2 'service heartbeat start'

8 测试访问192.168.1.200 可以后 可以禁用主节点网卡 查看httpd服务是否切换到r2