负载均衡LVS实验构建

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介:

LVS实验构建

LVS-DR 模式构建

实验架构图

DR模式的特点:

  • 集群节点必须在一个网络中
  • 真实服务器网关指向路由器
  • RIP既可以是私网地址,又可以是公网地址
  • 负载调度器只负责入站请求
  • 大大减轻负载调度器压力,支持更多的服务器节点

构建过程

负载调度器 Drectory
#关闭网卡守护进程
service NetworkManager stop
chkconfig NetworkManager off

#拷贝eth0网卡子接口充当集群入口接口
cd /etc/sysconfig/network-scripts/
cp -a ifcfg-eth0 ifcfg-eth0:0

vim !$
#删除mac/uuid和网卡类型
DEVICE=eth0:0
IPADDR=10.10.10.100
NETMASK=255.255.255.0
ifup eth0:0  #开启子接口

#关闭网卡重定向功能
vim /etc/sysctl.conf
#添加:
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.eth0.send_redirects = 0

sysctl -p #刷新

#重载ipvs模式
modprobe ip_vs

#安装ipvsadm命令行工具
yum -y install ipvsadm

  ipvsadm -v #查看当前ipvs集群内容
  ipvsadm -A -t 虚拟IP:80 -s rr    添加ipvs TCP集群
  ipvsadm -a -t 虚拟IP:80 -r 网站:80 -g #添加ipvsadm集群子节点
   # -a 添加节点
   # -r 指定真实服务器
   # -g 代表的是DR模式
#执行命令: 
ipvsadm -A -t 10.10.10.100:80 -s rr  #rr轮询算法,
ipvsadm -a -t 10.10.10.100:80 -r 10.10.10.12:80 -g
ipvsadm -a -t 10.10.10.100:80 -r 10.10.10.13:80 -g

[root@011 ~]# ipvsadm -Ln     #检查
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.10.10.100:80 rr
  -> 10.10.10.12:80               Route   1      0          0         
  -> 10.10.10.13:80               Route   1      0          0      
  
#保存ipvs集群内容至文件,进行持久化存储
service ipvsadm save
#设置为开机自启
chkconfig ipvsadm on
真实服务器 RS1 RS2
#关闭网卡守护进程
service NetworkManager stop && chkconfig NetworkManager off

#拷贝环回网卡子接口

cp -a ifcfg-lo ifcfg-lo:0
vim !$
DEVICE=lo:0
IPADDR=10.10.10.100
NETMASK=255.255.255.255

#关闭对应ARP相应及公告功能
vim /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2

sysctl -p #刷新

#开启环回网卡子接口
ipup lo:0

#添加路由记录,当访问虚拟iP(vip)时交给lo:0网卡
route add -host 10.10.10.100 dev lo:0

#新建html测试页面,实验中使用不同的页面,生产环境应是相同网页
echo "this is server 1" >> /var/www/html/index.html
echo "this is server 2" >> /var/www/html/index.html

#开启httpd服务
service httpd start
验证

浏览器访问负载调度器的eth0子接口eth0:0 的IP时,负载调度器使用轮询算法,将访问的页面负载到RS1和RS2上

[root@011 ~]# ipvsadm -Ln --stats
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port               Conns   InPkts  OutPkts  InBytes OutBytes
  -> RemoteAddress:Port
TCP  10.10.10.100:80                    20      104        0     9645        0
  -> 10.10.10.12:80                     10       51        0     4690        0
  -> 10.10.10.13:80                     10       53        0     4955        0

LVS-NAT 模式构建

实验架构图

NAT模式特点:

  • 集群节点必须在一个网络中
  • 真实服务器必须将网关指向负载调度器
  • RIP通常都是私有IP,仅用于各个集群节点通信
  • 负载调度器必须位于客户机和真实服务器之间,充当网关
  • 支持端口映射
  • 负载调度器操作系统必须是Linux系统,真实服务器可以使用任何系统

构建过程

负载调度器
#关闭网卡守护进程
service NetworkManager stop && chkconfig NetworkManager off

#开启路由转发功能
net.ipv4.ip_forward = 1
sysctl -p

#开启防火墙
service iptables start
chkconfig iptables on

#添加防火墙记录,当源地址是"内网网段",并且出口网卡为"eth0"时进行SNAT转换,转换源为外网卡地址
iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth0 -j SNAT --to-source 20.20.20.11

service iptables save  #保存防火墙规则配置

#安装ipvsadm命令行工具
yum -y install ipvsadm

#添加ipvsadm tcp集群
ipvsadm -A -t 20.20.20.11:80 -s rr

#添加ipvsadm节点
ipvsadm -a -t 20.20.20.11:80 -r 10.10.10.12:80 -m
ipvsadm -a -t 20.20.20.11:80 -r 10.10.10.13:8080 -m
#检查
[root@011 ~]# service ipvsadm status
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  20.20.20.11:80 rr
  -> 10.10.10.12:80               Masq    1      0          0         
  -> 10.10.10.13:8080             Masq    1      0          0         

#ipvs持久化
service ipvsadm save

#设为开机自启
chkconfig ipvsadm on
真实服务器 RS1 RS2
#关闭网卡守护进程
service NetworkManager stop && chkconfig NetworkManager off

#配置网关为负载调度器的eth1网卡IP(内网IP)
echo "GATEWAT=10.10.10.11" >> /etc/sysconfig/network-scripts/ifcfg-eth0 
service network restart  #重启网络
 
#指定网关至负载调度器
route add default gw 10.10.10.11

#编写html的测试页面开启apache服务
service httpd start

#RS2 编辑apache配置文件的监听端口
vim /etc/httpd/conf/httpd.conf
Listen 8080
service httpd restart    #重启服务
#验证:
[root@013 local]# curl 127.0.0.1:8080
this is server 2
相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
1月前
|
存储 负载均衡 监控
如何利用Go语言的高效性、并发支持、简洁性和跨平台性等优势,通过合理设计架构、实现负载均衡、构建容错机制、建立监控体系、优化数据存储及实施服务治理等步骤,打造稳定可靠的服务架构。
在数字化时代,构建高可靠性服务架构至关重要。本文探讨了如何利用Go语言的高效性、并发支持、简洁性和跨平台性等优势,通过合理设计架构、实现负载均衡、构建容错机制、建立监控体系、优化数据存储及实施服务治理等步骤,打造稳定可靠的服务架构。
33 1
|
6月前
|
缓存 负载均衡 算法
解读 Nginx:构建高效反向代理和负载均衡的秘密
解读 Nginx:构建高效反向代理和负载均衡的秘密
130 2
|
3月前
|
运维 负载均衡 网络协议
LVS+Keepalived 负载均衡
LVS+Keepalived 负载均衡
93 8
LVS+Keepalived 负载均衡
|
3月前
|
域名解析 运维 负载均衡
LVS+Keepalived 负载均衡(二)28-1
【8月更文挑战第28天】LVS+Keepalived 负载均衡 配置 LVS VIP
74 5
|
7月前
|
负载均衡 网络协议 算法
LVS 负载均衡部署的三种模式 与搭建dr模式具体步骤
LVS 负载均衡部署的三种模式 与搭建dr模式具体步骤
|
4月前
|
负载均衡 网络协议
使用LVS搭建集群实现负载均衡(二)安装使用
【8月更文挑战第8天】使用LVS搭建集群实现负载均衡(二)安装使用
81 5
|
4月前
|
存储 负载均衡 算法
使用LVS搭建集群实现负载均衡(一)
【8月更文挑战第8天】使用LVS搭建集群实现负载均衡
178 5
|
4月前
|
缓存 负载均衡 算法
在Linux中, LVS负载均衡有哪些策略?
在Linux中, LVS负载均衡有哪些策略?
|
5月前
|
Kubernetes Cloud Native 微服务
企业级容器部署实战:基于ACK与ALB灵活构建云原生应用架构
这篇内容概述了云原生架构的优势,特别是通过阿里云容器服务Kubernetes版(ACK)和应用负载均衡器(ALB)实现的解决方案。它强调了ACK相对于自建Kubernetes的便利性,包括优化的云服务集成、自动化管理和更强的生态系统支持。文章提供了部署云原生应用的步骤,包括一键部署和手动部署的流程,并指出手动部署更适合有技术背景的用户。作者建议在预算允许的情况下使用ACK,因为它能提供高效、便捷的管理体验。同时,文章也提出了对文档改进的建议,如添加更多技术细节和解释,以帮助用户更好地理解和实施解决方案。最后,展望了ACK未来在智能化、安全性与边缘计算等方面的潜在发展。水文一篇,太忙了,见谅!
|
5月前
|
负载均衡 网络协议 算法
使用IPVSADM配置LVS负载均衡
使用IPVSADM配置LVS负载均衡
下一篇
DataWorks