Linux服务器负载均衡LB Cluster的(LVS)技术 实现方(3)

【8】 通过Piranha程序实现(VS-DR方式的HTTP LB Cluster)的高可用性
        1】 Piranha简介
               Piranha是一个用来监视、配置、和管理LVS集群的基于WEB的工具。它是维护/etc/sysconfig/ha/lvs.cf 集群配置文件的默认工具。
 
        2】 网络拓扑结构
                     Client  8.8.48.22
                          |
                          |
                          |  8.8.48.1
                        DGW            ----------------------
                          |  4.4.64.1                                |
                          |                                                 |
                          |  4.4.64.66 (VIP)                     |
                   Director(主)                      Director(备)
                          |  4.4.64.100 (DIP)                  |  4.4.64.200(DIP)
                          |                                                 |
          ---------------------------------------------------
          |               |                |
          A               B                C                            (real http  server) (RIP)
      eth0:4.4.64.201    4.4.64.202        4.4.64.203
      lo:0 4.4.64.66        4.4.64.66          4.4.64.66

         3】 DGW ,Director(主) 和 real http server 的配置同上 6 
                Director(备)的配置同Director(主) 然后测试 主备 都正常工作

         4】 在Director(主)和Director(备)上均安装Piranha软件
                 yum install piranha
         5】 Director(主)上的配置

a】 piranha-passwd                                             #生成网站登录密码

依赖此配置文件:

                     /etc/sysconfig/ha/conf/httpd.conf
              b】 /etc/init.d/piranha-gui  start                            #启动服务
              c】 netstat -naltp  | grep :3636                             #查看服务是否启动成功
              d】 firefox :3636/piranha/         #打开登录页面
              e】 根据页面提示进行配置,配置完成后退出 查看生成的配置文件
                      cat /etc/sysconfig/ha/lvs.cf

 

serial_no = 20   primary = 4.4.64.100   service = lvs   backup_active = 1   backup = 4.4.64.200   heartbeat = 1   heartbeat_port = 539   keepalive = 3   deadtime = 10   network = direct   debug_level = NONE   monitor_links = 1   syncdaemon = 0   virtual web_lb {        active = 1        address = 4.4.64.66 eth0:0        sorry_server = 127.0.0.1        vip_nmask = 255.255.255.0        port = 80        send = "GET / HTTP/1.0\r\n\r\n"        expect = "HTTP"        use_regex = 0        load_monitor = none        scheduler = rr        protocol = tcp        timeout = 2        reentry = 10        quiesce_server = 0        server RSA {            address = 4.4.64.201            active = 1            port = 80            weight = 1        }        server RSB {            address = 4.4.64.202            active = 1            port = 80            weight = 1        }        server RSC {            address = 4.4.64.203            active = 1            port = 80            weight = 1        }   }  

               f】 scp     /etc/sysconfig/ha/lvs.cf  4.4.64.200:/etc/sysconfig/ha/       #将配置文件拷贝到Director(备)上
              g】 配置Director(主) 和 Director(备)的Sorry页面,当所有realserver都故障时,请求会被分发给director提供的sorry页面);  
                     echo Sorry,please wait... > /var/www/html/index.html
                     service httpd start
              h】 /etc/init.d/pulse start
                     Director(主) 和 Director(备) 均启动此服务
               i】 ps aux | grep lvs   #查看启动的进程
                     /usr/sbin/lvsd          #此进程用于在主备director间检查心跳,并进行浮动资源部署和故障切换
                     /usr/sbin/nanny      #此进程用于检查realserver健康情况,有几个realserver就有几个nanny进程
               j】 两边都启动pulse服务后,可以看到在主director(2.2.2.100)上能看到浮动资源(VIP和lvs分发策略),而备director上并没有这些资源至此配置完成.
              h】 进行测试
                     Director(主)故障后,自动切到Director(备)上 ,Director 恢复后 自动切回
                     三个realserver 都故障后,显示 Sorry 页面

linux

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/1ddc6becab83ad8af3efbe5e1b66ad3c.html