LB 负载均衡集群配置学习

回复 收藏
本帖最后由 linson 于 2016-8-19 13:58 编辑

LB 负载均衡集群配置学习load balance   

处理并发数   1W/s

nginx 应用层级别的负载均衡配置   工作在第七层(应用层)
LVS    工作在第四层(网络层)

keepalived   支持负载均衡的开源软件

F5  商业版的支持负载均衡的硬件设备
Netscale   支持负载均衡的硬件设备




LVS   详细配置三种模式(实现方式):

NAT    配置简单  但存在瓶颈  双向转发

TUN  

DR   生产常用的




LVS   详细配置八种算法:

固定调度算法:rr   wrr    dh    sh

动态调度算法:wlc   lc     lblc     lblcr



开始配置NAT模式,rr算法

需要一台双网卡主机做分发器主机()dir   (虚拟机添加一个网卡即可,配置为仅连接主机,然后自动dhcp该网卡即可)
192.168.0.151   服务端       192.168.200.128    模拟客户端网络(仅主机连接自动获取)

需要两台模拟服务主机  配置即可
192.168.0.152
192.168.0.153




进行如下配置:


分发器主机配置
hostname dir
bash

服务主机两台分别为;
hostname rs1
bash


hostname rs2
bash


接下来进行配置环境:
分发器核心软件安装
yum install -y ipvsadm

一会做实验需要测试80端口,所以两台服务器如果没安装服务,请yum install -y nginx

编写管理脚本
vi /usr/local/sbin/lvs_nat.sh

#! /bin/bash
# director  服务器上开启路由转发功能:
echo 1 > /proc/sys/net/ipv4/ip_forward
# 关闭ICMP的重定向
echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth1/send_redirects

# director 设置NAT防火墙
iptables -t nat -F
iptables -t nat -X
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
# director 设置ipvsadm
IPVSADM='/sbin/ipvsadm'
$IPVSADM -A -t 192.168.200.128:80 -s rr
$IPVSADM -a -t 192.168.200.128:80 -r 192.168.0.152:80 -m
$IPVSADM -a -t 192.168.200.128:80 -r 192.168.0.153:80 -m




保存退出

sh /usr/local/sbin/lvs_nat.sh  执行脚本

ipvsadm -ln   查看ipvsadm  转发服务列




配置rs1、rs2:

配置rs1、rs2   的默认网关为dir的内网ip地址 192.168.0.151
启动80端口
service nginx start
配置rs1、rs2 服务器的nginx主页为不同内容,简单方法:
rs1  操作:
echo "1111111rs1" > /usr/share/nginx/html/index.html


rs2  操作:
echo 2222222rs2" > /usr/share/nginx/html/index.html

netstat -lnp


分别:curl localhost   可以看到不同的页面





2016-08-18 22:38 举报
已邀请:
0

linson

赞同来自:

LVS 的 DR模式配置(缺点是浪费公网的ip)

如果前面配置过NAT模式,则需要清空配置规则
ipvsadm -C

iptables -t nat -F   清空nat规则

取消director 外网ip(不同网段的ip)
修改rs1、rs2的网关为正常的地址

设定三个主机同网段假设都为公网的ip

还需在前面director的主机上多添加一个vip(虚拟ip)不用单独设置

进行如下配置:


分发器主机配置
hostname dir
bash

服务主机两台分别为;
hostname rs1
bash


hostname rs2
bash


接下来进行配置环境:
分发器核心软件安装
yum install -y ipvsadm

一会做实验需要测试80端口,所以两台服务器如果没安装服务,请yum install -y nginx

编写管理脚本
vi /usr/local/sbin/lvs_nat.sh

#! /bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
ipv=/sbin/ipvsadm
vip=192.168.0.200
rs1=192.168.0.152
rs1=192.168.0.153
ifconfig eth0:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip dev eth0:0
$ipv -C
$ipv -A -t $vip:80 -s rr
$ipv -a -t $vip:80 -r $rs1:80 -g -w 1
$ipv -a -t $vip:80 -r $rs2:80 -g -w 1





运行脚本


配置rs1、rs2(都需要配置)
vim /usr/local/sbin/lvs_rs.sh

#! /bin/bash
vip=192.168.200.100
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip 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/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: