介绍
        整合实现高可用性和负责均衡,基于WEB方式管理,可通过web页面方便快捷的配置
 
    高可用负载均衡方案
    注意:关闭selinux和防火墙
     
    系统环境:
        服务名
               IP
                   描述
    LVS-ACTIVE
          192.168.0.10     
    piranha/主调度服务器真实IP
    LVS-BACKUP
          192.168.0.20     
    piranha/从调度服务器真实IP
    LVS-VIP
          192.168.0.100     
    用来访问的虚拟IP
    RealServer
    192.168.0.30/192.168.0.40  
    HTTP服务器真实IP
     
     
    原理结构描述
    基于LVS基础上设计的一套负载均衡高可用解决方案
    Pulse
    该进程运行在活动LVSRouter和备份LVSRouter上,负责心跳(heartbeat)连接
    lvsd
    该进程调用ipvsadm工具配置和维护IPVS路由表,并为真实服务器上的虚拟服务启动一个nanny进程
    nanny
    该进程检查真实服务器上的虚拟服务状态,并将故障情况通知lvs进程
    send_arp
    如果备份LVS未收到活动LVS的响应,将调用send_arp将虚拟IP地址再分配到备份LVS的公网接口上
     
     
     
    套件安装
    添加一个yum下载源下面要装的除cman都在光盘Cluster目录下
    [zzh]
    name=zzh
    baseurl=file:///mnt
    gpgcheck=1
    gpgcheck=0
    [kt]
    name=kt
    gpgcheck=1
    gpgcheck=0
     
    [root@zzh /]# yum install cman* ipvsadm modcluster piranha system-config-cluster
    安装必要软件
     
     
    配置文件介绍:
    配置文件
    说明
    /etc/sysconfig/ha/lvs.cf
    web界面生成的配置写入这个文件中
    /etc/init.d/piranha-gui start
    启动piranha服务的WEB配置界面
    /etc/init.d/pulse
    启动piranha服务读取的就是/etc/sysconfig/ha/lvs.cf文件
    /etc/sysconfig/ha/conf/httpd.conf
    这个文件是他的配置文件可以改用什么端口来管理
     
     
    piranha上配置
    [root@zzh /]# vim /etc/sysctl.conf
    修改下面字段值为1来启用数据转发
    net.ipv4.ip_forward = 1
    [root@zzh /]# sysctl -p
    设置生效
     
    [root@zzh /]# /etc/init.d/piranha-gui start
    启动web页面管理服务
    [root@zzh /]# netstat -anp | grep piranha
    查看端口3636是否开启
    [root@zzh /]# /usr/sbin/piranha-passwd
    设置WEB登陆密码
    #http://192.168.0.10:3636/
    输入用户名piranha及上面设置的密码登陆
     
     
     
    WEB页面配置部分
    注意:设置完按ACCEPT按钮保存设置
      GLOBAL SETTINGS
       (就是双机热备的主服务器配置)
       
      piranha_piranha
      Primary server public IP
      piranha服务器真实IP
      Primary server private IP
      输入用于心跳检测的网卡IP,这里填写了后面从服务器才会有心跳设置框
      Use network type
      LVS类型一般连接类型选Directory Routing(路由直连)就可以了
       
       
      REDUNDANCY
      (就是双机热备的从服务器配置)
       
      piranha_piranha_02
      Redundant server public IP
      piranha服务器真实IP
      Redundant server private IP
      输入用于心跳检测的网卡IP
      Heartbeat interval
      心跳检查间隔时间点位秒
      Assume dead after
      设置多久时间确定死亡切换服务单位秒
      Heartbeat runs on port
      服务运行端口
       
       
      VIRTUAL SERVERS 主标签
      (设置LVS虚拟服务器和它所包含的真实服务器)
       
      piranha_职场_03
      ADD
      先添加一个虚拟调度服务器
      EDIT
      编辑添加的虚拟调度服务器
      DELETE
      删除虚拟服务器
      ACTIVATE
      激活虚拟服务器
       
       
       
      VIRTUAL SERVER 子标签
      (设置虚拟调度服务器)
      piranha_休闲_04
      Name
      虚拟服务器名可自定义
      Application port
      访问虚拟服务器的端口
      Protocol
      协议
      Virtual IP Address
      虚拟服务器地址
      Virtual IP Network Mask
      掩码
       
      piranha_职场_05
      注意:设置完后返回单击ACTIVATE激活虚拟服务器
       
       
       
      REAL SERVER 子标签
      (设置后台真实服务器添加多个)
       
      piranha_休闲_06
      Name
      真实服务器名可自定义
      Address
      真实服务器地址
      Port
      后台真实服务器端口,不写默认是虚拟服务器的端口
      Weight
      权重
       
      piranha_职场_07
      注意:设置完后返回单击ACTIVATE激活虚拟服务器
     
     
    启动pulse服务
    [root@zzh /]# /etc/init.d/pulse start
    注意:上面的虚拟服务器激活了才可启动
    piranha_休闲_08
    查看服务是否运行
     
     
     
     
    Piranha上配置
    Piranha服务器上和主Piranha服务器上做的事情几乎完全一样
    1 、安装和主Piranha一样的软件
    2 、拷贝web页面生成的lvs.cf配置文件
     
    [root@zzh /]# yum install cman* ipvsadm modcluster piranha system-config-cluster
    安装必要软件
    [root@zzh /]# scp root@192.168.0.10:/etc/sysconfig/ha/lvs.cf /etc/sysconfig/ha/lvs.cf
    lvs.cf文件
    [root@zzh /]# chgrp piranha /etc/sysconfig/ha/lvs.cf
    改属组
    [root@zzh /]# chmod 664 /etc/sysconfig/ha/lvs.cf
    改文件权限
     
    启动服务
    [root@zzh /]# /etc/init.d/piranha-gui start
    启动web页面管理服务
    [root@zzh /]# /usr/sbin/piranha-passwd
    设置WEB登陆密码
    [root@zzh /]# /etc/init.d/pulse start
    启动服务
     
     
     
     
    后台真实服务器配置
    在选择连接类型有NATDR(路由直连)、Tunneling三种,选择不同类型真实服务器也要对应不同的设置
     
    上面我们选择了DR类型,只要把每台真实服务器按着之前做路由直连时(ipvsadm),设置多台真实服务器就可以了
    [root@zzh /]# vim /etc/sysctl.conf
    编辑内核运行参数,添加下面字段
    net.ipv4.conf.lo.arp_ignore = 1
    net.ipv4.conf.lo.arp_announce = 2
    net.ipv4.conf.all.arp_ignore = 1
    net.ipv4.conf.all.arp_announce = 2
    [root@zzh /]# sysctl -p
    使上面的修改立即生效
     
    配置VIP地址
    [root@zzh /]# ifconfig  lo:0  192.168.0.100  broadcast  192.168.0.100  netmask 255.255.255.255 up
    [root@zzh /]# route  add  -host  192.168.0.100  dev   lo:0