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后端realserver lvs realserver配置vip_lvs后端realserver


3.安装ipvsadm并设置调度策略   这里采用DR模式   先配置server1 server4先不管

lvs后端realserver lvs realserver配置vip_服务器_02


设置VIP用于与客户端之间通信

lvs后端realserver lvs realserver配置vip_服务器_03


设置调度策略

查看后端Realserver的地址

lvs后端realserver lvs realserver配置vip_配置文件_04


lvs后端realserver lvs realserver配置vip_重启_05


 调度策略相关参数

-A 表示添加VIP

-a 表示添加站点

-t 表示指定为tcp

-u UDP协议的集群

-f  防火墙标记

-s 指定调度机制为轮询(RR)

-r 指定后端地址

-g 表示模式为DR模式  -i:TUN  -m:NAT  -w weight 定义服务器权重

-d 删除服务  

-e 修改rs

-l 查看

lvs后端realserver lvs realserver配置vip_服务器_06


如果添加策略时出错可以到/etc/sysconfig/ipvsadm里面进行修改      ##修改之后 reload才能生效

查看调度策略

ipvsadm -L -n --stats 统计每台服务器上的详细情况

lvs后端realserver lvs realserver配置vip_服务器_07



Realserver的配置     server2和server3上进行

1.安装arptables_jf 用于接收ARP请求但不响应 作用是将使用VIP地址直接与客户端通信,服务器对VIP请求不响应

lvs后端realserver lvs realserver配置vip_重启_08

server3安装

lvs后端realserver lvs realserver配置vip_配置文件_09


在两个Realserver上添加VIP

lvs后端realserver lvs realserver配置vip_配置文件_10


lvs后端realserver lvs realserver配置vip_lvs后端realserver_11


设置Realserver策略并保存 抑制服务器上的VIP,对VIP请求不做响应

-A 表示添加   -d 表示 目标地址  -j 为动作   -s 为源地址

lvs后端realserver lvs realserver配置vip_配置文件_12


lvs后端realserver lvs realserver配置vip_重启_13


启动Realserver上的Apache服务

lvs后端realserver lvs realserver配置vip_重启_14


lvs后端realserver lvs realserver配置vip_服务器_15


lvs后端realserver lvs realserver配置vip_配置文件_16


lvs后端realserver lvs realserver配置vip_重启_17


LVS在物理机测试

lvs后端realserver lvs realserver配置vip_配置文件_18



下面进行keepalived安装的相关操作

1.下载软件包keepalived-1.4.0.tar.gz 或者其他版本  解压 安装相关依赖性

lvs后端realserver lvs realserver配置vip_重启_19


指定安装路径

lvs后端realserver lvs realserver配置vip_重启_20


查看其支持的功能

lvs后端realserver lvs realserver配置vip_配置文件_21


编译并安装

lvs后端realserver lvs realserver配置vip_lvs后端realserver_22


查看安装是否成功

lvs后端realserver lvs realserver配置vip_服务器_23


添加配置链接、启动链接以及其他链接

lvs后端realserver lvs realserver配置vip_重启_24


启动服务进行测试

lvs后端realserver lvs realserver配置vip_服务器_25



高可用备用端配置

server1和server4都安装scp

lvs后端realserver lvs realserver配置vip_lvs后端realserver_26


传递配置文件包和yum源的配置文件

lvs后端realserver lvs realserver配置vip_lvs后端realserver_27


lvs后端realserver lvs realserver配置vip_配置文件_28


查看是否传递成功

lvs后端realserver lvs realserver配置vip_配置文件_29


在server4上安装ipvsadm

lvs后端realserver lvs realserver配置vip_重启_30


lvs后端realserver lvs realserver配置vip_重启_31


至此server1上的ipvsadm和keepalived安装完毕


keepalived服务配置

1.配置邮件服务相关配置

server1和server4上都安装邮件服务

lvs后端realserver lvs realserver配置vip_lvs后端realserver_32


配置keepalived配置文件  只修改选中部分

lvs后端realserver lvs realserver配置vip_重启_33


lvs后端realserver lvs realserver配置vip_服务器_34


进行邮件服务的测试

lvs后端realserver lvs realserver配置vip_配置文件_35



配置高可用  keepalived文件的参数下拉至最低部有关于配置文件的解释

lvs后端realserver lvs realserver配置vip_配置文件_36


lvs后端realserver lvs realserver配置vip_lvs后端realserver_37


server1重启keepalived服务看VIP是否生效   重启之后等一会VIP才会出现

lvs后端realserver lvs realserver配置vip_服务器_38


配置服务集群   删掉剩余部分

lvs后端realserver lvs realserver配置vip_服务器_39


重启服务

lvs后端realserver lvs realserver配置vip_lvs后端realserver_40


将配置文件传到备用服务器

lvs后端realserver lvs realserver配置vip_配置文件_41



在备用服务器server4上修改服务器状态

lvs后端realserver lvs realserver配置vip_服务器_42


lvs后端realserver lvs realserver配置vip_配置文件_43


修改完之后重启服务

lvs后端realserver lvs realserver配置vip_lvs后端realserver_44


web服务器server2和server3之前已经安装过Apache进行过ARP抑制 直接启动服务即可 server2和3都启动

lvs后端realserver lvs realserver配置vip_服务器_45


查看VIP VIP在master即server1上

lvs后端realserver lvs realserver配置vip_服务器_46


lvs后端realserver lvs realserver配置vip_重启_47


测试高可用:

当master停止服务时

lvs后端realserver lvs realserver配置vip_配置文件_48


VIP将自动切换到备用服务器

lvs后端realserver lvs realserver配置vip_lvs后端realserver_49


并且负载均衡依旧正常

lvs后端realserver lvs realserver配置vip_配置文件_50


在这里有可能会出现访问VIP无响应的情况 修改keepalived文件  重启服务即可

lvs后端realserver lvs realserver配置vip_重启_51



检测其健康检查

lvs后端realserver lvs realserver配置vip_lvs后端realserver_52


在这里有可能会出现下面这种情况  这种情况是因为keepalived没有及时将故障的服务器移出集群

lvs后端realserver lvs realserver配置vip_配置文件_53


解决方法

lvs后端realserver lvs realserver配置vip_重启_54


lvs后端realserver lvs realserver配置vip_lvs后端realserver_55


lvs后端realserver lvs realserver配置vip_重启_56


之后再次访问  就把坏的服务器剔除了

lvs后端realserver lvs realserver配置vip_配置文件_57


然后我们把server3的服务停掉把server2的apache服务开启 再次访问

lvs后端realserver lvs realserver配置vip_重启_58


可以看出 之前上面给出的解决方法可能是有问题的  可能keepalived把坏的服务器踢出集群需要时间把

下面是keepalived配置文件的部分参数解读

! Configuration File for keepalived

global_defs {
   notification_email {
    root@localhost   ##接受报警的邮箱
   }
   notification_email_from keepalived@localhost  ##邮件发送者
   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
        }
    }

}