前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LVS简单搭建使用

LVS简单搭建使用

作者头像
Tianlin_Zz
发布2022-11-01 14:32:00
4730
发布2022-11-01 14:32:00
举报
文章被收录于专栏:运维日常

192.168.222.236(DIP) ,10.10.0.10(VIP)

lvs

lvs

192.168.222.232(RIP)

rs1

ceph1

192.168.222.233 (RIP)

rs2

ceph2

192.168.222.237 ,10.10.0.20(CIP)

client

client

了解:LVS是基于OSI模型的内核层的下四层,也是附着与netfilter的input练上

环境

1.机器准备

代码语言:javascript
复制
# cat > /etc/hosts <<END
192.168.222.232 ceph1
192.168.222.233 ceph2
192.168.222.236 lvs
192.168.222.237 client
END

代码语言:javascript
复制
# 在每台机器上使用system.sh初始化os系统脚本。
# git clone https://github.com/linjiangyu2/K.git 
cd K 
./system.sh //依次输入DEVICE,IP,HOSTNAME,yes
最后在rs机器上
# sed -ri 's/^(GATEWAY=).*/\1192.168.222.236/g' /etc/sysconfig/network-scripts/ifcfg-ens33
# systemctl restart network
在client机器上
# sed -ri 's/^(GATEWAY=).*/\110.10.0.10/g' /etc/sysconfig/network-scripts/ifcfg-ens33
在lvs服务器上
# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1 
# sysctl -p
# sysctl -a | grep 'ip_forward' //可以查看一下

2.时间同步

代码语言:javascript
复制
在lvs服务器搭建一个ntp服务器或者使用xinetd服务器(需要在各个节点上下载rdate,command:rdata lvs)

3.在rs真实后端服务器上搭建Web服务用于测试

代码语言:javascript
复制
# yum install -y nginx
[root@ rs1]# echo 'rs1' > /usr/share/nginx/html/index.html
[root@ rs2]# echo 'rs2' > /usr/share/nginx/html/index.html

4.开始简单的LVS配置

如果rs和client的网络无法连通外网的话,需要先ifup ens33,让可连通外网的lvs网卡的网关先成为默认的网关,让节点的机器可以yum安装软件

代码语言:javascript
复制
#可以了解一下lvs的模块以及支持的协议
# grep -i ipvs -C 10 /boot/config*

代码语言:javascript
复制
[root@ lvs]# yum install -y ipvsadm
[root@ lvs]# ipvsadm -A -t 10.10.0.10:80 -s rr
[root@ lvs]# ipvsadm -a -t 10.10.0.10:80 -r 192.168.222.232 -m
[root@ lvs]# ipvsadm -a -t 10.10.0.10:80 -r 192.168.222.233 -m
[root@ lvs]# ipvsadm -Ln //查看

5.测试

代码语言:javascript
复制
[root@ client]# for i in `seq 1 10`;do curl 10.10.0.10;done
#可以看到显示5个rs1和5个rs2,实现了一个平均分配的负载均衡

6.分配权重

代码语言:javascript
复制
[root@ lvs]# ipvsadm -E -t 10.10.0.10:80 -s wrr   //修改调度策略
[root@ lvs]# ipvsadm -e -t 10.10.0.10:80 -r 192.168.222.232 -m -w 8 //权重设置为8
[root@ lvs]# ipvsadm -e -t 10.10.0.10:80 -r 192.168,222,233 -m -w 2 //权重设置为2
[root@ lvs]# ipvsadm -Z   //清空计数
[root@ lvs]# ipvsadm -Ln --rate  //查看
 
[root@ client]# for i in `seq 1 10`;do curl 10.10.0.10;done  //测试
#可以看到10个请求中,8个发给了rs1,2个发给了rs2

7.sh(类似于nginx负载均衡upstream里面的hash)

代码语言:javascript
复制
# ipvsadm -E -t 10.10.0.10:80 -s sh
# ipvsadm -Z
# ipvsadm -Ln
[root@ client]# for i in `seq 1 3`;do curl 10.10.0.10;done
rs1
rs1
rs1
or
rs2
rs2
rs2

8.wlc(DO/weight) //按RS服务器的负荷,通过调度算法分配

代码语言:javascript
复制
# 懒得写了,自己悟吧。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2.时间同步
  • 3.在rs真实后端服务器上搭建Web服务用于测试
  • 5.测试
  • 6.分配权重
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的四七层流量分发服务,访问流量经由 CLB 可以自动分配到多台后端服务器上,扩展系统的服务能力并消除单点故障。轻松应对大流量访问场景。 网关负载均衡(Gateway Load Balancer,GWLB)是运行在网络层的负载均衡。通过 GWLB 可以帮助客户部署、扩展和管理第三方虚拟设备,操作简单,安全性强。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档