LVS相关应用

lvs
安装lvs
配置规则,查看所有的规则,如果已经配置好规则,重启之后就没了

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

配置vip网卡
1.在编辑虚拟网络中创建桥接模式的网卡,并且桥接到有网的适配器上

2.在vmware的虚拟主机资源管理器找到虚拟主机,右键菜单,设置

3.添加新的网卡,自定义为刚才创建的桥接模式网卡

4.此时在虚拟主机中使用ifconfig无法找到新的网卡

5.ip 啊能够查看到新的ens36网卡,没有路由

6.编辑网卡配置

7.重启network服务

配置ipvs规则

[root@ds01 ~]# ipvsadm -A -t 192.168.2.173:80 -s rr
[root@ds01 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.2.173:80 rr
添加rs web01 web02 添加规则

[root@ds01 ~]# ipvsadm -a -t 192.168.2.173:80 -r 192.168.2.32:80 -m
[root@ds01 ~]# ipvsadm -a -t 192.168.2.173:80 -r 192.168.2.33:80 -m
[root@ds01 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.2.173:80 rr
  -> 192.168.2.32:80              Masq    1      0          0         
  -> 192.168.2.33:80              Masq    1      0          0         
[root@ds01 ~]# vim /etc/sysctl.conf

[root@ds01 ~]# sysctl -p
net.ipv4.ip_forward = 1        说明已经支持ip转发了

在web01主机和web02主机上临时修改网关,网关必须只想dip(调度服务器的对内的ip)

[root@web01 ~]# route del default
[root@web01 ~]# route add default gw 192.168.2.126        这个ip是ds01上ens160上的ip

这也要求了rs ip 和dip在同一个网段上面,因为dip是要作为网关存在的

lvs-nat模式的优点是配置简单,缺点是请求和响应都必须经过ds,容易称为瓶颈期

请求的时候使用input链进行负载均衡,响应的时候就不要警告ds,直接由rs响应给客户端

在nat模式的时候,请求vip,接受vip的响应

构想 请求vip,接收rip的响应,这是不允许的

ds脚本

DR模式(不支持端口映射)
1.性能更优,回路不在经过ds

2.ds和rs为了保证用户响应,都要求配置统一的vip

3.由于rs是直接响应client,网关一定不能设置为ds的dip

4.对rs的vip进行抑制,让ds的vip接收请求,让rs的vip不接收请求

1.ds上ens160网卡上挂一个虚拟的vip 192.168.2.35

[root@dr ~]# ifconfig ens160:0 192.168.2.36 broadcast 192.168.2.36 netmask 255.255.255.0 up

[root@ds01 ~]# route add -host 192.168.2.36 dev ens160:0        也能够在这里接收数据包

192.168.2.137 dip

192.168.2.35 vip        在rs上的vip和这个vip相同

2.设置规范ipvsadm

[root@ds01 ~]# yum -y insatll ipvsadm

设置规则

ipvs -A -t 192.168.2.137:80 -s rr

ipvsadm -a -t 192.168.2.137:80 -r 192.168.2.32 -g

ipvsadm -a -t 192.168.2.137:80 -r 192.168.2.33 -g

rs不需要指定端口,dr不支持端口映射,vip是80端口,

设置rs主机
在lo接口上挂载一个vip

1.在lo接口上绑定vip

[root@web01 ~]# ifconfig lo:0 10.1.1.102 broadcast 10.1.1.102 netmask 255.255.255.255 up

2.设置主机路由

3.抑制rs接收请求

4.生成脚本,对web02使用

# 安装ipvsadm yum -y install ipvsadm

$ 设置规则

ipvsadm -A -t 10.1.1.102:80 -s rr

ipvsadm -a -t 10.1.1.102:80 -r 10.1.1.200 -g

ipvsadm -a -t 10.1.1.102:80 -r 10.1.1.201 -g

# rs不在需要指定端口,dr不支持端口映射,vip上是80端口,最终就是80端 口

# -m nat -g gateway

[root@web01 ~]# ifconfig lo:0 10.1.1.102 broadcast 10.1.1.102 netmask 255.255.255.255 up [root@web01 ~]# route add -host 10.1.1.102 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

5.测试使用,查看状态

[root@dr03 ~]# ipvsadm -Ln --stats

ds脚本

#!/bin/bash

#在ens33上挂载一个ip地址

read -p "vip:" vip

read -p "mac:" mac

read -p "num" num

ifconfig $mac:$num $vip broadcast $vip netmask 255.255.255.255

# 主机路由

route add -host $vip dev $mac:$num rs

#安装ipvsadm

yum list installed|grep ipvsadm if [ $? -ne 0 ] ; then

yum -y install ipvsadm fi

#配置规则(不需要设置ip_forword)

ipvsadm -C read -p "rule:" rule

read -p "port:" port ipvsadm -A -t $vip:$port -s $rule

read -p "rip1:" rip1 ipvsadm -a -t $vip:$port -r $rip1 -g

read -p "rip2:" rip2 ipvsadm -a -t $vip:$port -r $rip2 -g

rs脚本

#!/bin/bash

#在ens33上挂载一个ip地址

read -p "vip:" vip read -p "mac:" mac

read -p "num" num

ifconfig $mac:$num $vip broadcast $vip netmask 255.255.255.255

# 主机路由

route add -host $vip dev $mac:$num

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

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值