`
haoningabc
  • 浏览: 1477838 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

lvs的helloworld

lvs 
阅读更多
###################lvs#############

LVS-NAT:地址转换
三台服务器测试
192.168.139.161
192.168.139.193
192.168.139.194

参考http://www.cnblogs.com/MacoLee/p/5856858.html
yum install ipvsadm -y

cat /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/ip_forward

ipvsadm -A -t 192.168.139.161:80 -s rr

[root@LVS ~]# ipvsadm -A -t 192.168.139.161:80 -s rr #定义一个集群服务
[root@LVS ~]# ipvsadm -a -t 192.168.139.161:80 -r 192.168.139.193 -m #添加RealServer并指派调度算法为NAT
[root@LVS ~]# ipvsadm -a -t 192.168.139.161:80 -r 192.168.139.194 -m #添加RealServer并指派调度算法为NAT
[root@LVS ~]# ipvsadm -L -n #查看ipvs定义的规则列表

错测试几次,发现是平均切换193和194的
curl http://192.168.139.161/index.html


修改权重
ipvsadm -E -t 192.168.139.161:80 -s wrr 
ipvsadm -e -t 192.168.139.161:80 -r 192.168.139.193 -m -w 3
ipvsadm -e -t 192.168.139.161:80 -r 192.168.139.194 -m -w 1

错测试几次,发现切换193和194的比例是3:1
curl http://192.168.139.161/index.html
永久保存
#第一种方法:
# service ipvsadm save
ipvsadm: Saving IPVS table to /etc/sysconfig/ipvsadm: [确定]

#第二种方法:
ipvsadm -S > /etc/sysconfig/ipvsadm.s1

清空:
ipvsadm -C

恢复
ipvsadm -R < /etc/sysconfig/ipvsadm.s1

#################LVS-DR:直接路由方式
http://blog.csdn.net/gzh0222/article/details/8566516
####################在realserver上
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 
#以上命令需填加到/etc/rc.local文件中让其开机自动生效 

# vim /etc/sysconfig/network-scripts/ifcfg-lo:0 内容如下 
DEVICE=lo:0  
IPADDR=10.3.3.100
NETMASK=255.255.255.255 
BROADCAST=10.3.3.100
ONBOOT=yes 
NAME=loopback  


ifdown lo:0
ifup lo:0 
route add -host 10.3.3.100 dev lo:0
echo "route add -host 10.3.3.100 dev lo:0" >> /etc/rc.local

############################

在Director Server上做以下配置
######################
# vim /etc/sysconfig/network-scripts/ifcfg-eth2:0 内容如下
DEVICE=eth2:0 
IPADDR=10.3.3.100
NETMASK=255.255.255.255
BROADCAST=10.3.3.100
ONBOOT=yes 

#命令
ifdown eth2:0 
ifup eth2:0 
route add -host 10.3.3.100 dev eth2:0 
echo "route add -host 10.3.3.100 dev eth2:0" >> /etc/rc.local 
echo "1" > /proc/sys/net/ipv4/ip_forward 
echo "echo 1 > /proc/sys/net/ipv4/ip_forward" >> /etc/rc.local 
ipvsadm -A -t 10.3.3.100:80 -s wlc
ipvsadm -a -t 10.3.3.100:80 -r 10.3.3.3 -g -w 2
ipvsadm -a -t 10.3.3.100:80 -r 10.3.3.4 -g -w 1

###################

从外面访问 curl http://10.3.3.100  测试
tcpdump -i eth2 -e -l -s 0 -w 194.pcp
然后用wireshark看每台机器上的网卡流量

############tun方式

健康检查
##check-lvs-health.sh
#!/bin/bash
# VIP=172.16.100.100
CPORT=80 
FAIL_BACK=127.0.0.1
RS=("10.3.3.3" "10.3.3.4")
declare -a RSSTATUS
RW=("2" "1")
RPORT=80 
TYPE=g 
CHKLOOP=3 
LOG=/var/log/ipvsmonitor.log
addrs() { 
ipvsadm -a -t $VIP:$CPORT -r $1:$RPORT -$TYPE -w $2
[ $? -eq 0 ] && return 0 || return 1
} 
delrs() { 
ipvsadm -d -t $VIP:$CPORT -r $1:$RPORT
[ $? -eq 0 ] && return 0 || return 1
} 
checkrs() {  
local I=1 
while [ $I -le $CHKLOOP ]; 
do 
        if curl --connect-timeout 1 http://$1 &> /dev/null; 
        then 
        return 0 
        fi 
        let I++ 
done 
return 1 
} 
initstatus() {  
local I local COUNT=0;
for I in ${RS[*]}; 
do 
        if ipvsadm -L -n | grep "$I:$RPORT" && > /dev/null ; 
        then
                RSSTATUS[$COUNT]=1
        else
                RSSTATUS[$COUNT]=0
                A++ 
                Dir[0]=$A  
        fi 
        let COUNT++
done
} 
initstatus  
while :;
do 
        let COUNT=0 
        for I in ${RS[*]}; 
        do 
        if checkrs $I; 
        then 
                if [ ${RSSTATUS[$COUNT]} -eq 0 ]; 
                then
                        addrs $I ${RW[$COUNT]}
                        [ $? -eq 0 ] && RSSTATUS[$COUNT]=1 && echo "`date +'%F %H:%M:%S'`, $I is back." >> $LOG
                fi 
        else 
                if [ ${RSSTATUS[$COUNT]} -eq 1 ]; 
                then
                        delrs $I 
                        [ $? -eq 0 ] && RSSTATUS[$COUNT]=0 && echo "`date +'%F %H:%M:%S'`, $I is gone." >> $LOG
                fi 
        fi 
        let COUNT++ 
        done 
        sleep 5 
done

######
分享到:
评论

相关推荐

    cadence 615中跑lvs流程

    ### cadence 615中跑LVS流程详解 #### LVS概述 LVS(Layout Versus Schematic)是集成电路设计中的一个重要环节,主要用于验证电路布局(Layout)与原理图(Schematic)的一致性。在反向整理电路时,LVS能够帮助...

    LVS的安装与配置 LVS入门与详解

    LVS安装与配置入门与详解 LVS(Linux Virtual Server)是一种开源的负载均衡器,可以将多个服务器组成一个虚拟服务器,提供高可用性和高性能的服务。LVS的安装与配置是一个复杂的过程,本文将详细介绍LVS的安装与...

    lvs实现负载均衡

    ### LVS 实现负载均衡详解 #### 一、LVS简介与重要性 LVS (Linux Virtual Server) 是一种在 Linux 平台上实现负载均衡的技术。它可以有效地将大量的网络请求分发到多个后端服务器上处理,从而提高系统的整体响应...

    LINUX+LVS,LVS原理

    ### LVS原理与Linux+LVS+Keepalived负载均衡详解 #### LVS概念与原理 LVS(Linux Virtual Server)是一种开源的负载均衡技术,主要用于处理大规模的网络请求,通过构建一个虚拟服务器集群,将任务分发到多个后端的...

    8.1: 集群及LVS简介 、 LVS-NAT集群 、 LVS-DR集群 、 总结与答疑.docx

    集群及LVS简介、LVS-NAT集群、LVS-DR集群 本文档主要讲解了Linux虚拟服务器(LVS)的基本概念和实现方法,涵盖了LVS的集群模式、LVS-NAT集群、LVS-DR集群等内容。同时,文档还提供了一些实际的案例,包括使用...

    LVS笔记.docx

    ### LVS集群环境搭建详解 #### 一、LVS简介及应用场景 **LVS**(Linux Virtual Server)是一种基于Linux内核的虚拟服务器集群系统,它能够实现高效的负载均衡和服务高可用性。对于需要处理大量并发连接和高流量的...

    LVS和keepalived详细

    LVS和keepalived详细 LVS(Linux Virtual Server)是一种开源的IP负载均衡解决方案,能够将来自Internet的访问请求分配到多个后端服务器上,以提高整个系统的可用性和性能。_keepalived_是LVS的配套软件,用于监控...

    LVS安装配置说明.pdf

    LVS

    lvs相关资料包

    **LVS(Linux Virtual Server)相关资料包** LVS,全称为Linux Virtual Server,是基于Linux操作系统的高性能、高可用的网络服务器群集技术。它通过将多台物理服务器虚拟化为一个整体,实现了网络层的负载均衡,...

    lvs负载均衡源码

    LVS(Linux Virtual Server)是基于Linux操作系统的高性能负载均衡解决方案,由章文嵩博士在1998年创建。它的设计目标是提供一个高可用、高性能的服务器集群系统,使得用户可以透明地访问服务器群集,而无需关心背后...

    Keepalived+LVS+Nginx

    ### Keepalived+LVS+Nginx 架构深度解析 #### 一、体系架构概述 在现代互联网架构中,为了提升系统的可用性和扩展性,采用Keepalived、LVS和Nginx组合构建的高可用性负载均衡体系是常见且高效的做法。此架构主要由...

    LVS在淘宝的应用

    LVS,即Linux Virtual Server(Linux虚拟服务器),是一款开源软件,由国防科技大学毕业生章文嵩博士于1998年5月创立。LVS的设计目的在于在Linux平台上实现负载均衡功能,广泛应用于大规模网络环境,特别是在大型...

    lvs搭建过程详解

    **LVS(Linux Virtual Server)详解** Linux Virtual Server(LVS)是一种在Linux操作系统上实现的负载均衡技术,由章文湘博士于1998年开发,旨在为网络服务提供高可用性和高性能的解决方案。LVS通过将请求分发到多...

    Lvs设置指南.docx

    【LVS(Linux Virtual Server)负载均衡设置指南】 LVS,全称为Linux Virtual Server,是基于Linux操作系统的一种高性能、高可用的网络服务器集群技术。它通过将请求分发到多个真实的服务器,实现了负载均衡,提高...

    LVS-IPTUNNEL安装文档及介质

    **LVS-IPTUNNEL详解** LVS(Linux Virtual Server)是基于Linux操作系统的一种高性能的负载均衡技术,它能够将网络请求分散到多个后端服务器上,以提高系统的可用性和处理能力。IPTUNNEL是LVS中的一种工作模式,...

    lvs安装配置 入门与详解

    Linux LVS(Linux Virtual Server)是一种高性能的网络负载均衡技术,它通过在内核级别实现虚拟服务器集群,将流入的网络请求智能地分发到后端的真实服务器(Real Server),从而提高了服务的可用性和响应效率。...

    linux lvs 的DR 模式

    ### Linux LVS的DR模式详解 #### 一、概述 Linux Virtual Server (LVS) 是一个基于 Linux 内核的高性能负载均衡解决方案,它能够通过调度算法将客户端请求分发到多个后端服务器(Real Server),从而实现负载均衡...

Global site tag (gtag.js) - Google Analytics