lvs学习实践

本文介绍了LVS的两种模式——net模式和dr模式的具体实践过程。通过搭建实验环境,详细展示了如何配置各服务器角色,包括负载均衡器和真实服务器等,并进行负载均衡效果测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前一直使用nginx做负载均衡,没有使用过lvs,趁着年假有点时间赶紧学习一下充充电。

一、lvs-net 模式实践

1.准备3台centos5.6 虚拟机

其中:

centos作为DS(DirectorServer 负载均衡服务器),双网卡,IP配置如下:

centos_2 ,centos_3为RS(RealServer),IP配置如下:

 

 

服务器名称

IP

作用

Centos

Eth0:192.168.184.135

Eth1:10.0.0.1

负载均衡器

VIP

192.168.184.100

虚拟IP(对外开放),配置在负载均衡器上。

Centos_2

Eth0:10.0.0.11

应用服务器

Centos_3

Eth0:10.0.0.12

应用服务器

 

2.安装必要的软件

2.1在Centos上安装ipvsadm软件,并启用

测试是否成功:

 

2.2在Centos_2,Centos_3 上安装httpd,启动,并建立一个网页作为测试。

yum install httpd

service  httpd   start

vi  /var/www/html/index.html

 

内容随便写。比如一个写:web 11,另一个写web12

3. 配置ipvsadm

创建脚本:lvsnet,并放到  /etc/init.d/目录下

#!/bin/bash

#LVS script NAT

VIP=192.168.184.100

RIP1=10.0.0.11

RIP2=10.0.0.12

case "$1" in

start)

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

        /sbin/iptables -F

        /sbin/ipvsadm -C

        /sbin/ifconfig eth0:0 $VIP netmask 255.255.255.0 up

        /sbin/ipvsadm -A -t $VIP:80 -s rr

        /sbin/ipvsadm -a -t $VIP:80 -r $RIP1 -m

        /sbin/ipvsadm -a -t $VIP:80 -r $RIP2 -m

        /sbin/ipvsadm

        echo "start LVS of DirectorServer NAT"

        ;;

stop)

        echo "0" > /proc/sys/net/ipv4/ip_forward

        /sbin/ipvsadm -C

        /sbin/ifconfig eth0:0 down

        echo "stop LVS of DirectorServer NAT"

        ;;

*)

        echo "Usage: $0 {start|stop}"

        exit 1

 

esac

 

4. 启动lvs 服务:

 

service lvsnet  start

 

5.测试负载均衡效果:

 

 

 

6. 查看ipvsadm 负载统计:

 

 

负载分布很均匀。

 

 

 

二、lvs-dr 模式实践

 

1. 准备3台机器,ip规划如下:

服务器名称

IP

作用

VIP

192.168.184.9

虚拟IP(对外开放)

Centos

Eth0:192.168.184.10

负载均衡器

Centos_2

Eth0: 192.168.184.11

应用服务器

Centos_3

Eth0: 192.168.184.12

应用服务器

 

2. 在Centos机器上创建脚本 lvsdsdr,并放到/etc/init.d/目录下

 

#!/bin/bash

#description: start LVS of Directorserver DR

VIP=192.168.184.9

RIP1=192.168.184.11

RIP2=192.168.184.12

. /etc/rc.d/init.d/functions

case "$1" in

start)

echo " start LVS of DirectorServer DR"

/sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up

 

/sbin/route add -host $VIP dev eth0:0

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

/sbin/ipvsadm -C

/sbin/ipvsadm -A -t $VIP:80 -s rr

/sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g

/sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g  

/sbin/ipvsadm

;;

stop)

echo " stop LVS of DirectorServer DR"

echo "0" >/proc/sys/net/ipv4/ip_forward

/sbin/ipvsadm -C

/sbin/ifconfig eth0:0 down

;;

*)

echo "Usage: $0 {start|stop}"

exit 1

esac

 

 

 运行脚本

 

chmod  +x  /etc/init.d/lvsdsdr

 

service  lvsdsdr  start

 

启动后网卡信息:

3.节点服务器配置

建立脚本  /etc/init.d/lvsrsdr

 

#!/bin/bash

#description : start realserver DR

VIP=192.168.184.9

. /etc/rc.d/init.d/functions

case "$1" in

start)

echo " start LVS of RealServer DR"

/sbin/ifconfig lo:0 $VIP broadcast $VIP  netmask 255.255.255.255 up

/sbin/route add -host $VIP dev lo:0

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 of RealServer DR"

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

 

运行:

chmod+x lvsrsdr

service  lvsrsdr  start

 

把脚本复制到另一个节点上,两个节点操作完全一样

 

scp  /etc/init.d/lvsrsdr  192.168.184.12:/etc/init.d/lvsrsdr

 

启动后网卡信息:

另一个节点:

 

4.测试负载均衡效果:

 

5.查看ipvsadm 负载统计:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吕哥架构

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值