Lvs+Keepalived配置篇

1.配置安装LVS
server1(master):  keepalived、ipvsadm  IP:172.25.62.1
server4(backup): keepalived、ipvsadm   IP:172.25.62.4
server2:Apache、arptables  IP:172.25.62.2
server3:Apache、arptables  IP:172.25.62.3
2.配置yum源    yum源中的参数可以在/var/www/html/rhel6.5/ 镜像挂载的目录下找到
Lvs+Keepalived配置篇
3.安装ipvsadm并设置调度策略   这里采用DR模式   先配置server1 server4先不管
Lvs+Keepalived配置篇
设置VIP用于与客户端之间通信
Lvs+Keepalived配置篇
设置调度策略
查看后端Realserver的地址
Lvs+Keepalived配置篇
Lvs+Keepalived配置篇
 调度策略相关参数
-A 表示添加VIP
-a 表示添加站点
-t 表示指定为tcp
-s 指定调度机制为轮询(RR)
-r 指定后端地址
-g 表示模式为DR模式
Lvs+Keepalived配置篇
如果添加策略时出错可以到/etc/sysconfig/ipvsadm里面进行修改      ##修改之后 reload才能生效
查看调度策略
Lvs+Keepalived配置篇

Realserver的配置     server2和server3上进行
1.安装arptables_jf 用于接收ARP请求但不响应 作用是将使用VIP地址直接与客户端通信,服务器对VIP请求不响应
Lvs+Keepalived配置篇

server3安装
Lvs+Keepalived配置篇
在两个Realserver上添加VIP
Lvs+Keepalived配置篇
Lvs+Keepalived配置篇
设置Realserver策略并保存 抑制服务器上的VIP,对VIP请求不做响应
-A 表示添加   -d 表示 目标地址  -j 为动作   -s 为源地址
Lvs+Keepalived配置篇
Lvs+Keepalived配置篇
启动Realserver上的Apache服务
Lvs+Keepalived配置篇
Lvs+Keepalived配置篇
Lvs+Keepalived配置篇
Lvs+Keepalived配置篇
LVS在物理机测试
Lvs+Keepalived配置篇

下面进行keepalived安装的相关操作
1.下载软件包keepalived-1.4.0.tar.gz 或者其他版本  解压 安装相关依赖性
Lvs+Keepalived配置篇
指定安装路径
Lvs+Keepalived配置篇
查看其支持的功能
Lvs+Keepalived配置篇
编译并安装
Lvs+Keepalived配置篇
查看安装是否成功
Lvs+Keepalived配置篇
添加配置链接、启动链接以及其他链接
Lvs+Keepalived配置篇
启动服务进行测试
Lvs+Keepalived配置篇

高可用备用端配置
server1和server4都安装scp
Lvs+Keepalived配置篇
传递配置文件包和yum源的配置文件
Lvs+Keepalived配置篇
Lvs+Keepalived配置篇
查看是否传递成功
Lvs+Keepalived配置篇
在server4上安装ipvsadm
Lvs+Keepalived配置篇
Lvs+Keepalived配置篇
至此server1上的ipvsadm和keepalived安装完毕

keepalived服务配置
1.配置邮件服务相关配置
server1和server4上都安装邮件服务
Lvs+Keepalived配置篇
配置keepalived配置文件  只修改选中部分
Lvs+Keepalived配置篇
Lvs+Keepalived配置篇
进行邮件服务的测试
Lvs+Keepalived配置篇

配置高可用  keepalived文件的参数下拉至最低部有关于配置文件的解释
Lvs+Keepalived配置篇
Lvs+Keepalived配置篇
server1重启keepalived服务看VIP是否生效   重启之后等一会VIP才会出现
Lvs+Keepalived配置篇
配置服务集群   删掉剩余部分
Lvs+Keepalived配置篇
重启服务
Lvs+Keepalived配置篇
将配置文件传到备用服务器
Lvs+Keepalived配置篇

在备用服务器server4上修改服务器状态
Lvs+Keepalived配置篇
Lvs+Keepalived配置篇
修改完之后重启服务
Lvs+Keepalived配置篇
web服务器server2和server3之前已经安装过Apache进行过ARP抑制 直接启动服务即可 server2和3都启动
Lvs+Keepalived配置篇
查看VIP VIP在master即server1上
Lvs+Keepalived配置篇
Lvs+Keepalived配置篇
测试高可用:
当master停止服务时
Lvs+Keepalived配置篇
VIP将自动切换到备用服务器
Lvs+Keepalived配置篇
并且负载均衡依旧正常
Lvs+Keepalived配置篇
在这里有可能会出现访问VIP无响应的情况 修改keepalived文件  重启服务即可
Lvs+Keepalived配置篇

检测其健康检查
Lvs+Keepalived配置篇
在这里有可能会出现下面这种情况  这种情况是因为keepalived没有及时将故障的服务器移出集群
Lvs+Keepalived配置篇
解决方法
Lvs+Keepalived配置篇
Lvs+Keepalived配置篇
Lvs+Keepalived配置篇
之后再次访问  就把坏的服务器剔除了
Lvs+Keepalived配置篇
然后我们把server3的服务停掉把server2的apache服务开启 再次访问
Lvs+Keepalived配置篇
可以看出 之前上面给出的解决方法可能是有问题的  可能keepalived把坏的服务器踢出集群需要时间把
下面是keepalived配置文件的部分参数解读

! Configuration File for keepalived

global_defs {
   notification_email {
    [email protected]   ##接受报警的邮箱
   }
   notification_email_from [email protected]  ##邮件发送者
   smtp_server 127.0.0.1
   smtp_connect_timeout 30   ##连接smtp的超时时间
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
   #vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state MASTER      ##备用机需要改成BACKUP
    interface eth0     ##高可用 检测网络接口
    virtual_router_id 51   ##主 备的id必须一致 在0-255之间默认51
    priority 100         ##主机的优先级 备用机比这个小 
    advert_int 1          ##主备之间的通告时间间隔妙数
    authentication {
        auth_type PASS    ##设置验证类型
        auth_pass 1111     ##设置验证码
    }
    virtual_ipaddress {
        172.25.62.100   ##vip
    }
}

virtual_server 172.25.62.100 80 {
    delay_loop 3     ##每隔三秒查询realserver的状态
    lb_algo rr     ##  rr轮叫算法
    lb_kind DR    ## LVS的DR模式
    #persistence_timeout 50   ##保持会话使用的时长ftp服务类型
    protocol TCP          ##tcp协议

    real_server 172.25.62.2 80 {   ##RS
        weight 1      #权重
        TCP_CHECK {     ##realserver的状态检测设置部分、
            connect_timeout 3   ##3秒无相应超时
            retry 3     ##重试次数
            delay_before_retry 3   ##重试间隔
        }
    }

    real_server 172.25.62.3 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 3
            retry 3
            delay_before_retry 3
        }
    }

}