码迷,mamicode.com
首页 > 其他好文 > 详细

vs+keepalived UDP负载

时间:2016-08-25 22:01:10      阅读:851      评论:0      收藏:0      [点我收藏+]

标签:lvs   keepalived   udp   

lvs+keepalived UDP负载 

一、 LVS简介

LVSLinux Virtual Server的简称,即Linux虚拟服务器。使用LVS技术要达到的目标是:通过LVS提供的负载均衡技术和Linux操作系统实现一个高性能、高可用的服务器群集,它具有良好可靠性、可扩展性和可操作性。从而以低廉的成本实现最优的服务性能。

二、网络拓扑

技术分享

三、接口IP及属性配置

1,在Master配置接口IP如下:

[root@localhost network-scripts]# ifconfig

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

       inet 192.168.230.10  netmask255.255.255.0  broadcast 192.168.230.255

       inet6 fe80::250:56ff:fe9a:55c5 prefixlen 64  scopeid0x20<link>

       ether 00:50:56:9a:55:c5 txqueuelen 1000  (Ethernet)

       RX packets 1201  bytes 94251 (92.0KiB)

       RX errors 0  dropped 0  overruns 0 frame 0

       TX packets 5964  bytes 390181(381.0 KiB)

       TX errors 0  dropped 0 overruns0  carrier 0  collisions 0

 

ens33:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

       inet 192.168.230.100  netmask255.255.255.255  broadcast192.168.230.100

       ether 00:50:56:9a:55:c5 txqueuelen 1000  (Ethernet)

2,在Slave配置接口IP如下:

[root@localhost ~]# ifconfig

ens33:flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

       inet 192.168.230.11  netmask255.255.255.0  broadcast 192.168.230.255

       inet6 fe80::250:56ff:fe9a:62e8 prefixlen 64  scopeid0x20<link>

       ether 00:50:56:9a:62:e8 txqueuelen 1000  (Ethernet)

       RX packets 3  bytes 620 (620.0 B)

       RX errors 0  dropped 0  overruns 0 frame 0

       TX packets 50  bytes 7844 (7.6KiB)

       TX errors 0  dropped 0 overruns0  carrier 0  collisions 0

 

ens33:0:flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

       inet 192.168.230.100  netmask255.255.255.255  broadcast192.168.230.100

       ether 00:50:56:9a:62:e8 txqueuelen 1000  (Ethernet)

3,在rs1上配置接口IP如下:

[root@localhost]# ifconfig

ens33:flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

       inet 192.168.230.12  netmask255.255.255.0  broadcast 192.168.230.255

       inet6 fe80::250:56ff:fe9a:daa prefixlen 64  scopeid0x20<link>

       ether 00:50:56:9a:0d:aa txqueuelen 1000  (Ethernet)

       RX packets 162543  bytes 11199233(10.6 MiB)

       RX errors 0  dropped 66  overruns 0 frame 0

       TX packets 74236  bytes 9216209(8.7 MiB)

       TX errors 0  dropped 0 overruns0  carrier 0  collisions 0

lo:0:flags=73<UP,LOOPBACK,RUNNING>  mtu65536

       inet 192.168.230.100  netmask 255.255.255.255

       loop  txqueuelen 0  (Local Loopback)

4,在rs2上配置接口IP如下:

[root@localhost]# ifconfig

ens33:flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

       inet 192.168.230.13  netmask255.255.255.0  broadcast 192.168.230.255

       inet6 fe80::250:56ff:fe9a:2be1 prefixlen 64  scopeid0x20<link>

       ether 00:50:56:9a:2b:e1 txqueuelen 1000  (Ethernet)

       RX packets 161840  bytes 11150452(10.6 MiB)

       RX errors 0  dropped 44  overruns 0 frame 0

       TX packets 73427  bytes 7893814(7.5 MiB)

       TX errors 0  dropped 0 overruns0  carrier 0  collisions 0

lo:0:flags=73<UP,LOOPBACK,RUNNING>  mtu65536

       inet 192.168.230.100  netmask255.255.255.255

       loop  txqueuelen 0  (Local Loopback)

5,在MasterSlave上开启转发功能

[root@localhost ~]# echo "1">/proc/sys/net/ipv4/ip_forward

6,在rs1rs2配置接口属性

[root@localhost ~]# echo "1">/proc/sys/net/ipv4/conf/lo/arp_ignore

[root@localhost ~]# echo "2">/proc/sys/net/ipv4/conf/lo/arp_announce

[root@localhost ~]# echo "1">/proc/sys/net/ipv4/conf/all/arp_ignore

[root@localhost ~]# echo "2">/proc/sys/net/ipv4/conf/all/arp_announce

[root@localhost ~]# sysctl -p

net.ipv4.conf.ens33.arp_announce = 2

net.ipv4.conf.ens33.arp_ignore = 1

net.ipv4.conf.lo.arp_announce = 2

net.ipv4.conf.lo.arp_ignore = 1

四、软件安装

1,在Master上安装ipvsadmkeepalived

[root@localhost ~]# yum install -ykeepalived ipvsadm

2,同样在Slave上安装ipvsadmkeepalived

[root@localhost ~]# yum install -ykeepalived ipvsadm

五、keepalived配置

1,在Master配置如下:

[root@localhost keepalived]# cat/etc/keepalived/keepalived.conf

! Configuration File for keepalived

 

global_defs {

  notification_email {

     acassen@test.com        #全局配置,邮件通知配置。

    failover@test.com

    sysadmin@

test.com

   }

  notification_email_from Alexandre.Cassen@test.com

  smtp_server 192.168.200.1

  smtp_connect_timeout 30

  router_id LVS_DEVEL

}

 

vrrp_instance VI_1 {         #配置vrrp实例

   state MASTER          #配置vrrp状态,Mater配置为MASTER,Slave配置为SLAVE

   interface ens33        #关联端口,根据实际修改

   virtual_router_id 55         #vrrpidMasterSlave需配置一致

   priority 100      #vrrp优先级,Mater配置100Slave应该配置小于100就行

   advert_int 1

   authentication {

       auth_type PASS

       auth_pass 1111

    }

   virtual_ipaddress {

       192.168.230.100     #vip对应

    }

}

 

virtual_server 192.168.230.100 69 { #配置虚拟服务属性

   delay_loop 6

   lb_algo rr          #配置算法,默认rr(轮询算法)

   lb_kind DR        #配置lvs模式

    #persistence_timeout5  #会话保持时间

    protocolUDP   #协议配置为udp

 

   real_server 192.168.230.12 69 {     #真实服务器属性

       weight 1            #权重

    }

   real_server 192.168.230.13 69 {

       weight 1

    }

}

2,在Slave上配置如下:

[root@localhost keepalived]# cat/etc/keepalived/keepalived.conf

! Configuration File for keepalived

 

global_defs {

  notification_email {

    acassen@test.com

    failover@test.com

    sysadmin@test.com

   }

  notification_email_from Alexandre.Cassen@test.com

  smtp_server 192.168.200.1

  smtp_connect_timeout 30

  router_id LVS_DEVEL

}

 

vrrp_instance VI_1 {

   state BACKUP         #vrrp状态slave配置为SLAVE

   interface ens33

   virtual_router_id 55

   priority 90         #Slave优先级低于Mater的优先级

   advert_int 1

   authentication {

       auth_type PASS

       auth_pass 1111

    }

   virtual_ipaddress {

       192.168.230.100

    }

}

 

virtual_server 192.168.230.100 69 {

   delay_loop 6

   lb_algo rr

   lb_kind DR

    #persistence_timeout5

   protocol UDP

 

   real_server 192.168.230.12 69 {

       weight 1

    }

   real_server 192.168.230.13 69 {

       weight 1

    }

}

3,在MasterSlave上配置开机自启动服务

[root@localhost ~]# chkconfig keepalived on

4,配置完在MasterSlave上重启keepalived服务

[root@localhost keepalived]# servicekeepalived restart

六、测试

1,客户端通过vip访问,每次轮询获取到不同服务器上的文件。

技术分享

 


本文出自 “丁同学1990” 博客,请务必保留此出处http://dingtongxue1990.blog.51cto.com/4959501/1842318

vs+keepalived UDP负载

标签:lvs   keepalived   udp   

原文地址:http://dingtongxue1990.blog.51cto.com/4959501/1842318

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!