lvs+keepalived

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介:

[背景]前段时间在dell1950上装了个KVM,跑了几个虚拟机。这两天就在这几台虚拟机里做了个LVS+Keepalived实验。
基本实现如下功能:
(1)    高可用性
(2)    可扩展性
(3)    负载均衡
拓扑如下,
 


[实现过程]
安装:
(I)客户端安装(apache服务已经运行),只需要执行一个脚本即可
#!/bin/bash
#description : start realserver
VIP=192.168.1.11
/etc/rc.d/init.d/functions
case "$1" in
start)
echo " start LVS of REALServer"
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
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
;;
stop)
/sbin/ifconfig lo:0 down
echo "close LVS Directorserver"
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
(II)DR端安装
(1)    ipvsadm,keepalived安装
(2)    DR主keepalived.conf
  ! Configuration File for keepalived

global_defs {
    router_id LVS_BADBOY1
}
vrrp_sync_group VDR {
    group {
        VI_cache
    }
}
vrrp_instance VI_cache {
     state MASTER                
     interface eth0
     lvs_sync_daemon_inteface eth0
     virtual_router_id 51
     priority 100    
     advert_int 1
     authentication {
         auth_type PASS
         auth_pass 1111
     }
     virtual_ipaddress {
         192.168.1.11  
     }
}

virtual_server 192.168.1.11 80 {
     delay_loop 6                  
     lb_algo rr                
     lb_kind DR                 
  #   persistence_timeout 60      
     protocol TCP               

     real_server 192.168.1.21 80 {
         TCP_CHECK {
         connect_timeout 10      
         nb_get_retry 3
         delay_before_retry 3
         connect_port 80
         }
     }
     real_server 192.168.1.22 80 {
         TCP_CHECK {
         connect_timeout 10
         nb_get_retry 3
         delay_before_retry 3
         connect_port 80
         }
      }
}
DR备keepalived.conf
  ! Configuration File for keepalived

global_defs {
    router_id LVS_BADBOY2
}

# 20081013 written by :netseek
# VIP1
vrrp_sync_group VDR {
    group {
        VI_cache
    }
}
vrrp_instance VI_cache {
     state BACKUP                
     interface eth0
     lvs_sync_daemon_inteface eth0
     virtual_router_id 51
     priority 90    
     advert_int 1
     authentication {
         auth_type PASS
         auth_pass 1111
     }
     virtual_ipaddress {
         192.168.1.11  
     }
}

virtual_server 192.168.1.11 80 {
     delay_loop 6                  
     lb_algo rr                
     lb_kind DR                 
     #persistence_timeout 60      
     protocol TCP               

     real_server 192.168.1.21 80 {
         #weight 3              
         TCP_CHECK {
         connect_timeout 10      
         nb_get_retry 3
         delay_before_retry 3
         connect_port 80
         }
     }
     real_server 192.168.1.22 80 {
         #weight 3
         TCP_CHECK {
         connect_timeout 10
         nb_get_retry 3
         delay_before_retry 3
         connect_port 80
         }
      }
}
(III)启动测试
Keepalived –D或者以服务形式运行service keepalived start

(IV)客户端测试脚本
#!/usr/bin/env python

import urllib
import threading
import Queue

class MyThread(threading.Thread):
    def __init__(self):
        threading.Thread.__init__(self)

    def run(self):
        doc=urllib.urlopen("http://192.168.1.11/index.html").read()
        print doc,

if __name__=='__main__':    
    for i in range(10000):
        obj=MyThread()
        obj.start()
        obj.join()



本文转自hahazhu0634 51CTO博客,原文链接:http://blog.51cto.com/5ydycm/371527,如需转载请自行联系原作者

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
10月前
|
负载均衡 应用服务中间件 Linux
Nginx系列教程(14) - LVS+KeepAlived+Nginx实现高性能负载均衡集群
Nginx系列教程(14) - LVS+KeepAlived+Nginx实现高性能负载均衡集群
786 0
|
4月前
|
运维 负载均衡 监控
keepalived+LVS实现高可用性集群
通过结合keepalived和LVS,你可以创建一个高可用性的负载均衡集群,确保服务器的稳定性和性能。这对于托管Web服务、应用服务器等关键服务的服务器集群非常有用。
104 1
|
4月前
|
负载均衡 监控 Linux
CentOS6.5高可用集群LVS+Keepalived(DR模式)
CentOS6.5高可用集群LVS+Keepalived(DR模式)
|
4月前
|
负载均衡 监控 调度
Keepalived+Lvs(dr)调度器主备配置小实验
Keepalived和LVS(Linux Virtual Server)是两个常用的开源软件,通常结合使用以提供高可用性和负载均衡的解决方案。 Keepalived是一种用于实现高可用性的软件,它可以监控服务器的健康状态,并在主服务器出现故障时自动切换到备份服务器。
153 2
|
10月前
|
负载均衡 算法 网络协议
Keepalived+LVS搭建高可用负载均衡
Keepalived+LVS搭建高可用负载均衡
276 1
|
9月前
|
负载均衡 网络协议 Linux
小白带你学习linux的keepalived+lvs和keepalived双机热备(三十七)
小白带你学习linux的keepalived+lvs和keepalived双机热备(三十七)
136 0
|
12月前
|
负载均衡 监控 Linux
LVS + keepalived
LVS + keepalived
103 1
|
存储 负载均衡 应用服务中间件
【web项目】keepalived高可用+LVS负载均衡+nginx动静分离+nfs共享存储
【web项目】keepalived高可用+LVS负载均衡+nginx动静分离+nfs共享存储
265 0
【web项目】keepalived高可用+LVS负载均衡+nginx动静分离+nfs共享存储
|
负载均衡 测试技术
LVS+KeepAlived构建高可用集群
LVS+KeepAlived构建高可用集群
83 0
|
缓存 负载均衡 网络协议
LVS+KeepAlived快速入门2
LVS+KeepAlived快速入门2
112 0