Linux搭建负载均衡集群,使用LVS的NAT模式

Linux Cluster
LB(负载均衡集群)

负载均衡集群,通常有两种实现方式,基于硬件或基于软件。
基于硬件:BIP
基于软件:
基于OSI第四层传输层:LVS(Linux Virtual Server)
基于OSI第期层传输层:nginx

1.LVS

1.1认识LVS

LVS,全称Linux Virtual Server,由国人章文嵩博士提出并实现。
LVS有三种工作模式:DR直接路由模式、NAT地址转换模式、TUN隧道模式

2.基于LVS搭建 LB Linux Cluster

2.1 LVS的NAT模式实现

2.1.1 实验拓扑图

2.1.2 实验简介

Director具备两张网卡,一张连接外网,一张连接内网中的realserver。
realserver单网卡配置内网IP,运行http服务,挂上简单的测试web。

2.1.3 实验准备

物理机上安装virtualbox软件上创建一台centos5.5,最小化安装即可,作为Director。
桌面可装可不装,使用6.X,7.X也是可以的,这里使用centos5.5是因为my computer才8G内存
virtualbox的虚拟介质管理,复制2台刚才安装好的centos5.5硬盘,明明为realserver1,realserver2
新建虚拟机作为realserver时,选择存储介质选择现有的磁盘,路径指向刚才复制的centos5.5

2.1.4 实验步骤

0).ipvs在2.6.X版本后的内核中默认安装有,我们需要安装ipvsadm进行管理,
**注意:ipvsadm与iptables不能同时使用,实验前需关闭iptables与selinux**
关闭iptables:
setup
或:
service iptables stop  #停止iptables服务
chkconfig iptables off #iptables开机不自启
关闭selinux:
setup
或:
vim /etc/sysconfig/selinux  #修改selinux的配置文件
SELINUX=disabled   #将SELINUX等号右边的值修改为disabled
1).Director设置双网卡,外网网卡选择桥接模式,内网网卡选择host-only模式
2).为Director安装ipvsadm
yum -y install ipvsadm
    检查是否安装成功只需输入ipvsadm,无输出则未安装有,若已安装则输出如下字样
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
    -> RemoteAddress:Port     Forward Weight ActiveConn InActConn
3).配置director的IP地址,启动realserver,网卡模式选择host-only并配置IP地址,realserver网关指向director的内网IP
4).配置测试网页
   为每台realserver安装http,并启动httpd服务
 yum install http
service httpd start
echo "this is realserver1 test web" > /var/www/html/index.html
echo "this is realserver2 test web" > /var/www/html/index.html
echo "this is realserver3 test web" > /var/www/html/index.html
#分别创建测试页
curl http://ipaddress    #访问测试页
5).配置ipvsadm规则
   在director上配置
ipvsadm -A -t 192.168.8.28:80 -s rr   #添加集群服务 tcp服务类型 服务的ip与端口号 使用调度算法为 rr
ipvsadm -a -t 192.168.8.28:80 -r 192.168.56.102 -m #添加服务器,工作模式为NAT
ipvsadm -a -t 192.168.8.28:80 -r 192.168.56.103 -m
ipvsadm -a -t 192.168.8.28:80 -r 192.168.56.104 -m
ipvsadm -l -n  #查看当前就群信息连接数等
输出结果如下
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port       Forward Weight ActiveConn InActConn
TCP  192.168.8.28:80 rr
-> 192.168.56.103:80            Masq    1      0          0         
-> 192.168.56.102:80            Masq    1      0          0  
6).测试
在director打开网卡转发
echo 1 > /proc/sys/net/ipv4/ip_forward  #默认为0,不打开网卡转发
使用物理机的浏览器输入http://director的ip地址
不断刷新即可看到效果   

3.注意事项

在集群中服务器与director之间的时间误差不能超过一秒
解决办法:
办法一:运行ntp服务,与网络上的ntp服务器进行时间同步即可
service ntpd start
办法二:把director当作时间服务器使realserver与director进行时间同步
director运行service ntpd start
realserver运行ntpd directorIP,如ntpd 192.168.56.101

4.ipvsadm命令的用法

-A --add-service      在内核的虚拟服务器表中添加一条新的虚拟服务器记录。 
-E --edit-service     编辑内核虚拟服务器表中的一条虚拟服务器记录。 
-D --delete-service   删除内核虚拟服务器表中的一条虚拟服务器记录。 
-C --clear           清除内核虚拟服务器表中的所有记录。 
-R --restore         恢复虚拟服务器规则 
-S --save            保存虚拟服务器规则,输出为-R 选项可读的格式 
-a --add-server      在内核虚拟服务器表的一条记录里添加一条新的真实服务器记录。
-e --edit-server     编辑一条虚拟服务器记录中的某条真实服务器记录 
-d --delete-server   删除一条虚拟服务器记录中的某条真实服务器记录 
-L|-l --list         显示内核虚拟服务器表 
-t --tcp-service service-address     说明虚拟服务器提供的是tcp  
-u --udp-service service-address     说明虚拟服务器提供的是udp 
-s --scheduler scheduler             使用的调度算法,有这样几个选项rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq,默认的调度算法是: wlc.
#本节ipvsadm的用法来自http://linux.51yip.com/

5.常见的调度算法

director收到用户请求后,需要通过一定的调度算法来决定将请求分发给那台realserver处理。
分为动态调度与静态调度,静态调度为 rr wrr,不考虑服务器性能与当前连接数,将请求轮流分发;
动态调度为wlc|lblc|lblcr|dh|sh|sed|nq,若不指定调度算法默认为wlc,一句当前服务器的
性能当前连接数与权重,进行运算,将用户请求分给相对较为空闲的realserver。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LVSLinux Virtual Server)是一个开源项目,可以在Linux内核中实现一个高性能、高可用性的服务器集群。其中,NAT模式LVS集群的一种常见部署方式,可以将外部请求通过LVS集群中的虚拟IP地址映射到后端真实服务器上。 以下是LVS集群搭建NAT模式的步骤: 1. 安装LVS软件包 在LVS集群中,需要安装ipvsadm和keepalived这两个软件包来实现负载均衡和高可用性。可以使用以下命令安装: ``` sudo apt-get install ipvsadm keepalived ``` 2. 配置LVS集群LVS集群中,需要至少有一个Director服务器和多个Real服务器。Director服务器是LVS集群中的核心部分,负责接收外部请求并将它们转发到Real服务器上。Real服务器是LVS集群中的后端服务器,负责处理来自Director服务器的请求。 在Director服务器上,需要进行以下配置: - 配置网络接口,将其绑定到虚拟IP地址上; - 配置ipvsadm规则,将请求映射到Real服务器上; - 配置keepalived,实现高可用性。 在Real服务器上,需要关闭iptables和ARP扫描功能,并配置正确的网络接口。 3. 测试LVS集群 在完成LVS集群的配置后,可以使用curl等工具测试其性能和可用性。例如,可以使用以下命令发送一个HTTP请求: ``` curl http://<虚拟IP地址>/ ``` 如果一切正常,请求应该被转发到Real服务器上,并返回正确的响应。 以上是LVS集群搭建NAT模式的基本步骤,具体的操作细节和配置方法可以参考LVS官方文档或相关的教程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值