ertwer 发表于 2015-8-21 08:57:14

heartbeat及共享文件高可用集群

准备两台虚拟机,IP地址为192.168.1.4和192.168.1.3

                把节点时间同步,分别在两台虚拟机上设置时间同步:
                crontab -e打开后编辑,使每3分钟同步一次;指向可靠的网关;
                */3 * * * * /usr/sbin/ntpdate 192.168.1.1 &> /dev/null
                节点间需要通过主机名互相通信,必须解析主机至IP地址,通信中使用的名字与节点名字必须保持一致
                vim /etc/hosts
                192.168.1.4    hsxaou
                192.168.1.3    hsxaou1

                编辑此文件可修改主机名称:/etc/sysconfig/network

                建立各节点之间的root用户能够基于密钥认证
                ssh-keygen -t rsa -P ''
               把生成的公钥复制到对应的节点上

               ssh-copy-id-i/root/.ssh/id_rsa.pubroot@192.168.1.3   
               查看来两台主机时间是否同步;
               date; ssh hsxaou1 'date'
               准备好之后在各节点开始安装程序,先解决依赖的包,libnet需要epel源;
               yum install net-snmp-libslibnetPyXML

                下载heartbeat2.rpm包到本地,并复制到另外一个节点家目录;

               scp -r heartbeat2/    hsxaou1:~/   
                在两个节点上分别安装;

               rpm -ivh heartbeat-2.1.4-12.el6.x86_64.rpm heartbeat-pils-2.1.4-12.el6.x86_64.rpm heartbeat-stonith-2.1.4-12.el6.x86_64.rpm
               配置文件在/etc/ha.d/目录下

      
               配置IP可以使用IPaddr或者IPaddr2,前者使用ifconfig命令,后者时候ip命令;
               v1版专用配置接口,不是V1版不使用,样例配置文件在:
                  
                把这3个样例文件authkeys,ha.cf,haresources复制到/etc/ha.d/目录下,并修改authkeys的权限需修改为400或600;

         cp /usr/share/doc/heartbeat-2.1.4/{ha.cf,haresources,authkeys} /etc/ha.d/

            修改权限为600
                  chmod 600 authkeys
       编辑配置文件authkeys,在此文件内指明启用的算法和要启用的秘钥;
      算法简单时自己可以生成一个,放在里面;

         openssl rand -base64 16
      
                  auth #:使用第几个算法,#就填那个数字


      编辑主配置文件ha.cf,启动基本功能;
                日志功能,启用其中一个;

               
                这里定义的是发往local0,需要在/etc/rsyslog.conf内定义,并重启服务
               

                service   rsyslog restart


                默认发送心跳时间,默认为2秒;
                keepalive 2
                死亡时间;
                deadtime 30
                警告时间;

                warntime 10

                heartbeat运行在多个节点上时,启动时间比较长,可以根据情况延长时间;

                initdead 120

                基于UDP传送心跳默认端口

                udpport      694

                广播,使用哪个就启用哪个

               

                多播

                mcast eth0 225.22.190.1 694 1 0

                地址不能和别人相同,自己修改下,694端口,1为ttl值表示只允许传递一次;0为loop值,不允许循环

               ip link set eth0 multicast on|off   使用多播时需要启用;


                资源转回

                auto_failback on

                指明高可用集群要使用的节点,节点名必须与uname -n的名字保持一致;

               

                指明ping node,仲裁设备,探测辅助性设备

               

                可以指定多个主机

               

                对节点之间传递的信息压缩
                compression   bz2
                指明2kb以上的才压缩

                compression_threshold 2

                vim/haresources

                定义集群资源

                指定主节点名字,后面为资源地址,每个资源单独进行指定
                设置fip(公共IP),会自动设置在某块网卡的别名上, 从左侧第一个启动,在哪个主机上前面就使用哪个主机的名字   
hsxaou192.168.1.10/24/eth0/192.168.255.255 httpd
                完成后把配置文件发送到另外一个节点,保留原来的权限

                scp -p ha.cf haresources authkeys hsxaou1:/etc/ha.d/
分别在各节点上,启动heartbeat之前先要把httpd页面配置好,作为测试2个节点的页面设置不一样,作为区分并且设置为开机不自动启动;
                vim /var/www/html/index.html      chkconfig httpd off
                启动heartbeat服务,并查看80端口是否打开;

                service heartbeat start

                ss -tunl

               
               
                使用浏览器访问fip192.168.1.10,完成了。。

               


         基于共享文件的高可用:
                在第3台主机上设置主页:

               vim /web/htdocs/index.html

               
                共享文件:vim /etc/exports

               /web/htdocs    *(rw,no_root_squash)

                启动nfs服务:service nfs start

                nfs开机自启:chkconfig nfs on

                在192.168.1.4节点上挂载文件进行测试,使用浏览器访问测试
                mount -t nfs 192.168.1.5:/web/htdocs /var/www/html/
               
                设置成功后卸载掉;

                umount /var/www/html/
                编辑/etc/ha.d/haresoureces

      
                /usr/lib64/heartbeat/hb_takeover    拿回资源

                /usr/lib64/heartbeat/hb_standby    资源转出

                /usr/lib64/heartbeat/ha_propagate把本节点的上的ha.cf和athkeys文件自动发送到另外一个节点的/etc/ha.d/下,并显示可以设置为ha的有哪些



页: [1]
查看完整版本: heartbeat及共享文件高可用集群