LVS 集群搭建

概述

LVS 就是 Linux Virtual Server,即 Linux 虚拟服务器,是通过软件建立的一个虚拟服务器集群系统

LVS 集群采用 IP 负载均衡技术,因此也被称为“IP 负载均衡”或“四层负载均衡”,一般分为三层结构:

 

  1. 负载调度器:是整个集群的前端机,负责将客户请求发送到一组服务器上执行,通过修改 http 包的 IP 地址并转发包,让用户无法感知到这一过程的存在
  2. 服务器池:一组真正处理请求的服务器
  3. 共享存储:通过为服务器池提供一个共享的存储区域,让服务器提供相同的数据服务

 

 

 

LVS 的安装

Linux2.6 内核默认支持 LVS 功能

下载 ipvsadm 包并安装:

tar zxvf ipvsadm-1.24.tar.gz

cd ipvsadm-1.24

make

make install

 

 

LVS 配置

我们选择 192.168.1.140 作为前端机

真实机器有:

192.168.1.140

192.168.1.141

192.168.1.142

对外服务的虚拟IP为:192.168.1.200

 

 

前端机虚拟 IP 设置

 

首先在前端机上绑定一个虚拟 IP,用于对外服务:

ifconfig eth0:0 192.168.1.200 broadcast 192.168.1.200 netmask 255.255.255.255 up

 

我们在 eth0 设备上绑定了一个虚拟设备 eth0:0,并且设置了一个虚拟 IP 192.168.1.200,然后制定了广播地址为 192.168.1.200,同时,设定了子网掩码为 255.255.255.255

 

然后为设备 eth0:0 指定一条路由,执行下列指令:

route add -host 192.168.1.200 dev eth0:0

 

 

接着启用系统的包转发功能,从而使系统充当路由器,执行如下指令:

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

 

ip_forward 文件就是系统用来控制 IP 转发的,为 1 启用 IP 转发,为 0 则禁止

 

 

ipvs 配置

 

执行下面脚本中的命令:

ipvsadm -C

ipvsadm -A -t 192.168.1.200:80 -s rr

ipvsadm -a -t 192.168.1.200:80 -r 192.168.1.140:80 -g

ipvsadm -a -t 192.168.1.200:80 -r 192.168.1.141:80 -g

ipvsadm -a -t 192.168.1.200:80 -r 192.168.1.142:80 -g

 

一系列操作,首先清楚内核虚拟服务器列表中的所有记录,然后添加了一条新的虚拟 IP 记录,同时指定策略为轮询

之后再新加的虚拟 IP 记录中添加两条新的 Real Server 记录,并指定工作模式为直接路由模式

 

ipvs 配置的过程中,通过新加 Real Server 时的参数指定 lvs 的工作模式:

  • lvs 工作模式
  1. -g: getway 直接路由
  2. -i: internet 隧道模型
  3. -m: masq 伪装 NAT 模式

 

Real Server 配置

在 lvs 的 DR 和 TUN 模式下,用户的访问请求到达真实服务器后,处理结果将直接返回给用户,而不再经过前端机,这样,就必须在每个 Real Server 节点上增加虚拟的 VIP 地址,这样才能够完成这一系列操作

 

通过执行下面的命令让网络请求地址恢复为虚拟 IP 地址,在回环设备上绑定虚拟 IP 并设定子网掩码为 255.255.2555.255

ifconfig lo:0 192.168.1.200 broadcast 192.168.1.200 netmask 255.255.255.255 up

route add -host 192.168.1.200 dev lo:0

 

执行下面脚本中的命令,禁止本机的 ARP 请求

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

sysctl -p

 

为什么要禁止本机的 APR 请求呢?

由于虚拟 IP 也就是上面的 VIP 地址是在 Director Server 和所有 Real Server 中共享的,当 ARP 请求 VIP 地址时,Director Server 和所有 Real Server 都会做出应答,显然这是不合理的

因此,这里禁止了 Real Server 的 ARP 请求,只让 Director Server 去做出响应

 

至此,我们的 lvs 集群搭建完毕,可以通过编写简单的 web 页面去测试具体的路由情况

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

牛路

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

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

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

打赏作者

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

抵扣说明:

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

余额充值