15468 发表于 2019-1-7 10:03:33

Linux 集群 检测 HeartBeat实战

  培训内容
Heartbeat简介
Heartbeat心跳实战试验

Heartbeat原理
集群系统主要分为高可用性(High Availability)集群,简称HA集群。常见就是2个节点做出的HA集群,有很多通俗不科学的名称,比如“双机热备”,“双机互备”,“双机”。这样做的好处是当服务启动的时候,两台服务器一个作主(ser1),另外一个作从(ser2)。测试机每几秒会ping主机,当发现主机没有回应,就证明主机拓机了,那么从机马上会启动相应的服务,继续进行服务。这样就可保证服务部间断。
http://blog.运维网.com/1841cisco/运维网.com/uploads/allimg/101229/15062643S-0.jpg

如上图sev1有两块真实的网卡eth0和eth1,ser2也有两块真实的网卡eth0和eth1,LVS_IP:222.90.88.88是两个真实的LVS(ser1和ser2)虚拟出来的。

操作:
       两台有两张网卡(都是用桥接)的虚拟机ser1和ser2
       在sev1安装ipvsadm,和heartbeat
            heartbeat安装:
            支持包:heartbeat-pils-2.1.3-3.el5.centos.i386.rpm
                            heartbeat-stonith-2.1.3-3.el5.centos.i386.rpm
            安装包:heartbeat-2.1.3-3.el5.centos.i386.rpm(第一次装可能有问题)
       #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 heartbeat-2.1.3-3.el5.centos.i386.rpm
       #rpm -q heartbeat -d      (解压出一系列配置文件)
       #cd /etc/ha.d/(主要配置文件位置)
       #cp /usr/share/doc/heartbeat-2.1.3/ha.cf /etc/ha.d
       #cp /usr/share/doc/heartbeat-2.1.3/authkeys /etc/ha.d
       #cp /usr/share/doc/heartbeat-2.1.3/haresources /etc/ha.d
       #uname -n
       sev1.example.com
       #vim ha.cf
            logfile /var/log/ha-log            (打开日志文件)
            logfacility local0
            keepalive 2                           (每2秒测试机发送一个广播)
            deadtime 30                         (30s没反应,立即切换服务。)
            warntime 10                        
            initdead 120
            udpport 694                         (udp是用端口)
            bcast eth1            #Linux    (指明心跳连接的接口号)
            ucast eth1 192.168.1.20      (心跳连接的PC的IP)
            node            sev1.example.com(两个主机名【最好用uname -n查看】)
            node            sev2.example.com
            ping 222.90.88.1                  测试机的IP(要写外部的测试IP)
#vim /etc/ha.d/authkeys      (开启验证模式,这是安全方面的配置里面有三种认证方式:crc md5 sha1)
            auth 1
            1 crc
       #chmod 600 authkeys(不做此步,则heartbeat服务无法启动)
       #vim /etc/ha.d/haresources(这个主要指明资源的来源,是远端挂载)
            在http://blog.运维网.com/1841cisco/运维网.com/uploads/allimg/101229/15062631Y-1.jpg
下增加一条
            sev1.example.com 222.90.88.88 httpd(主节点的名称,虚拟出IP,启动httpd服务)
       #vim /etc/hosts
            http://blog.运维网.com/1841cisco/运维网.com/uploads/allimg/101229/15062624L-2.jpg

       #service heartbeat start
       #vim /var/www/html/index.html
            This is 1~~~
      
       在sev2安装ipvsadm,和heartbeat
            heartbeat安装:
            支持包:heartbeat-pils-2.1.3-3.el5.centos.i386.rpm
                            heartbeat-stonith-2.1.3-3.el5.centos.i386.rpm
            安装包:heartbeat-2.1.3-3.el5.centos.i386.rpm(第一次装可能有问题)
       #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 heartbeat-2.1.3-3.el5.centos.i386.rpm
       #rpm -q heartbeat -d      (解压出一系列配置文件)
       #cd /etc/ha.d/(主要配置文件位置)
       #cp /usr/share/doc/heartbeat-2.1.3/ha.cf /etc/ha.d
       #cp /usr/share/doc/heartbeat-2.1.3/authkeys /etc/ha.d
       #cp /usr/share/doc/heartbeat-2.1.3/haresources /etc/ha.d
       #uname -n
       sev2.example.com
       #vim ha.cf
            logfile /var/log/ha-log            (打开日志文件)
            logfacility local0
            keepalive 2                           (每2秒测试机发送一个广播)
            deadtime 30                         (30s没反应,立即切换服务。)
            warntime 10                        
            initdead 120
            udpport 694                         (udp是用端口)
            bcast eth1            #Linux    (指明心跳连接的接口号)
            ucast eth1 192.168.1.10      (心跳连接的PC的IP)
            node            sev1.example.com(两个主机名【最好用uname -n查看】)
            node            sev2.example.com
            ping 222.90.88.1                  测试机的IP(要写外部的测试IP)
#vim /etc/ha.d/authkeys      (开启验证模式,这是安全方面的配置里面有三种认证方式:crc md5 sha1)
            auth 1
            1 crc
       #chmod 600 authkeys(不做此步,则heartbeat服务无法启动)
       #vim /etc/ha.d/haresources(这个主要指明资源的来源,是远端挂载)
            在http://blog.运维网.com/1841cisco/运维网.com/uploads/allimg/101229/1506262526-3.jpg
下增加一条
            sev1.example.com 222.90.88.88 httpd(主节点的名称,虚拟出IP,启动httpd服务)
       #vim /etc/hosts
            http://blog.运维网.com/1841cisco/运维网.com/uploads/allimg/101229/1506263509-4.jpg

       #service heartbeat start
       #vim /var/www/html/index.html
            This is 2~~~

测试:
      
       当sev1(主节点),停掉heartbeat,则sev2(从节点)立即虚拟出一个IP:222.90.88.88
       访问http://222.90.88.88会产生不间断的服务(页面为This is 2~~~)
       当sev1正常后,会再次接管所有服务,重新虚拟出IP:222.90.88.88




页: [1]
查看完整版本: Linux 集群 检测 HeartBeat实战