2321321hhh 发表于 2017-1-13 16:24:53

最详细的keepalived+lvs-dr配置文档

四台台机器:

分发器主:192.168.0.154

分发器备:192.168.0.171

    rs_1:192.168.0.131

    rs_2:192.168.0.132

keepalived安装:

yum install keepalived

ipvsadm安装:(可选keepalived就可以实现负载功能安装只是可以查看状态)

yum install ipvsadm

rs上http安装:(测试)

yum install httpd

rs_1:echo 11111111 >/var/www/html/index.html

rs_2:echo 22222222 >/var/www/html/index.html

分发器主配置:(keepalived主)

vim /etc/keepalived/keepalived.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
   
! Configuration File for keepalived
global_defs {               ##全局配置部分
    router_id LVS_MASTER       ##运行keepalived机器的一个标识
}
vrrp_instance VI_1 {       ##设置vrrp组,唯一且同一LVS服务器组要相同
    state MASTER               ##备份LVS服务器设置为BACKUP
    interface eth0             # #设置对外服务的接口
    virtual_router_id 51       ##设置虚拟路由标识
    priority 100               #设置优先级,数值越大,优先级越高,backup设置小于100,当master宕机后自动将backup高的变为master。
    advert_int 1               ##设置同步时间间隔
    authentication {         ##设置验证类型和密码,master和buckup一定要设置一样
    auth_type PASS
    auth_pass 1111
    }
virtual_ipaddress {      ##设置VIP,可以多个,每个占一行
    192.168.0.60
    }
}
virtual_server 192.168.0.60 80 {
    delay_loop 6               ##健康检查时间间隔,单位s
    lb_algo wrr                ##负载均衡调度算法设置为加权轮叫
    lb_kind DR               ##负载均衡转发规则
    nat_mask 255.255.255.0   ##网络掩码,DR模式要保障真是服务器和lvs在同一网段
    #persistence_timeout 5   ##会话保持时间,单位s
    protocol TCP               ##协议
    real_server 192.168.0.131 80 {      ##真实服务器配置,80表示端口
      weight 3                   ##权重
      TCP_CHECK {                ##服务器检测方式设置
      connect_timeout 5          ##连接超时时间
      nb_get_retry 3
      delay_before_retry 3
      connect_port 80
      }
    }
    real_server 192.168.0.132 80 {
      weight 3
      TCP_CHECK {
      connect_timeout 10
      nb_get_retry 3
      delay_before_retry 3
      connect_port 80
      }
    }
}

分发器备:(keepalived从)

从机以下两个位置其他配置相同

state MASTER 改为 BACKUP

priority 100 改为 小于100就可以


web rs_1:

执行以下命令
1
2
3
4
5
   
ifconfig lo:0 192.168.0.60 netmask 255.255.255.255 broadcast 192.168.0.60
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

web rs_2:

执行以下命令
1
2
3
4
5
   
ifconfig lo:0 192.168.0.60 netmask 255.255.255.255 broadcast 192.168.0.60
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

命令说明:

arp_ignore: 定义接收到ARP请求时的响应级别

    0:只要本地配置的有相应地址,就给予响应;默认

    1:仅在请求的目标地址配置在到达的接口上的时候,才给予响应

arp_announce:定义将自己地址向外通告时的通告级别

    0:将本地任何接口上的任何地址向外通告;默认

    1:试图仅向目标网络通告与其网络匹配的地址

    2:仅向与本地接口上地址匹配的网络进行通告

启动:

分发主:/etc/init.d/keepalived start

分发备:/etc/init.d/keepalived start

   ipvsadm -ln 可以查看



rs_1:/etc/init.d/httpd start

rs_2: /etc/init.d/httpd start

   ifconfig lo:0 查看:



测试:

浏览器访问192.168.0.60


页: [1]
查看完整版本: 最详细的keepalived+lvs-dr配置文档