lvs+keepalived+nginx (httpd)部署

时间:2022-12-19 11:13:40

1:

  192.168.22.109      lvs1

  192.168.22.110      lvs2

  192.168.22.240      VIP

 

 

 

4:lvs的三种模式图

  lvs-net  http://www.linuxvirtualserver.org/VS-NAT.html

  lvs+keepalived+nginx (httpd)部署

 

  LVS-TUN http://www.linuxvirtualserver.org/VS-IPTunneling.html

  lvs+keepalived+nginx (httpd)部署

 

  LVS-DR http://www.linuxvirtualserver.org/VS-DRouting.html

  lvs+keepalived+nginx (httpd)部署

 

  lvs的三种模式比较参考:http://www.uml.org.cn/zjjs/201211124.asp,此文章说的很详细

注:LVS部署方式:http://www.cnblogs.com/liangsky/p/4585747.html

 

5)安装keepalived(两台)

  wget http://www.keepalived.org/software/keepalived-1.2.17.tar.gz

  ./configure 

  make && make install

  cp /root/keepalived-1.2.17/keepalived/etc/init.d/keepalived.rh.init /etc/init.d/keepalived

  cp /root/keepalived-1.2.17/keepalived/etc/init.d/keepalived.sysconfig /etc/sysconfig/keepalived

  mkdir /etc/keepalived/

  cp /root/keepalived-1.2.17/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/

  cp /usr/local/sbin/keepalived /usr/sbin/

 

   

  [root@master init.d]# service keepalived start

  Starting Keepalived for LVS: [确定]


6)配置keepalived

  先master

  

global_defs {
notification_email {
11@163.net    
71@qq.com              #需要发送的告警的邮箱地址
}
notification_email_from yw_xunjian@test.com  #从哪个邮箱发送过来
smtp_server mail.test.com  #发送邮箱服务端地址
smtp_connect_timeout 30
router_id LVS_master
}

vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
#192.168.200.16
#192.168.200.17
192.168.22.240
}
}


virtual_server 192.168.22.240 80 {
delay_loop 6
lb_algo rr
lb_kind DR
persistence_timeout 50
protocol TCP

#sorry_server 192.168.200.200 1358

real_server 192.168.22.109 80 {
weight 1

TCP_CHECK{
connect_timeout 3
nb_get_retry 3
delay_before_retry 3

connect_port 80
}

}

real_server 192.168.22.110 80 {
weight 1

TCP_CHECK{
connect_timeout 3
nb_get_retry 3
delay_before_retry 3

 connect_port 80

}

}

 

备机配置:

global_defs {
notification_email {
zhaoliang@zdsoft.net
79790562@qq.com
}
notification_email_from ywb_xunjian@winupon.com
smtp_server mail.winupon.com
smtp_connect_timeout 30
router_id LVS_master
}

vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 99
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
#192.168.200.16
#192.168.200.17
192.168.22.240
}
}


virtual_server 192.168.22.240 80 {
delay_loop 6
lb_algo rr
lb_kind DR
persistence_timeout 50
protocol TCP

#sorry_server 192.168.200.200 1358

real_server 192.168.22.109 80 {
weight 1

TCP_CHECK{
connect_timeout 3
nb_get_retry 3
delay_before_retry 3

connect_port 80
}

}

real_server 192.168.22.110 80 {
weight 1

TCP_CHECK{
connect_timeout 3
nb_get_retry 3
delay_before_retry 3

 connect_port 80

}

}

在两机上执行service keepalived start

查看IP地址:ip a

可以看到VIP地址在主机上

 

在主机上执行service keepalived stop

可以看到VIP已经到了备机   

 

# PS:这里说的LVS.并不是用ipvsadm软件配置.而是直接用keepalived的virtual_server配置项控制的.
#  安装ipvsadm只是可以看到负载状况.其实只需要keepalived也可以实现负载均衡集群.

 

 

 

yum -y install httpd 

主机上执行ipvsadm

 

[root@master html]# service ipvsadm status
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.22.240:80 rr persistent 50
-> 192.168.22.109:80 Local 1 0 0
-> 192.168.22.110:80 Route 1 0 0

 

备机上执行

[root@slave ~]# ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn

 

 

 sed -i 's/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g' /etc/sysctl.conf