LVS负载均衡群集的搭建-(NAT模式)



一、群集的介绍

群集的类型:
负载均衡群集
高可用群集
高性能运算群集
LINUX中叫:
负载均衡群集(LB)
高可用群集(HA)
高性能运算群集(HPC)
WINDOWS中叫:
网络负载均衡群集(NLB)(最多32个节点)
故障转移群集
最多8个节点
高性能运算群集(HPC)

二、负载均衡群集分层结构
1)负载调度器 
访问群集的唯一入口

2)服务器池 
群集所提供的应用服务

3)共享存储 
为服务器池中的所有节点提供稳定一致的文件存取服务 确保群集同意性


三、负载均衡群集的工作方式

1)地址转换  简称 NAT模式 安全性能高

2)IP隧道  简称TUN  

3)直接路由 简称DR模式  

LVS虚拟服务器

中国 张文嵩博士 1998年5月创建   现在已经成文Linux内核中的一部分 
只要加载模块就能运行

[root@localhost ~]# modprobe ip_vs   //加载模块

[root@localhost ~]# cat /proc/net/ip_vs      //查看版本信息

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

  -> RemoteAddress:Port Forward Weight ActiveConn InActConn


LVS负载调度算法
轮询:收到的访问请求轮流发给各个节点
加权 轮询:根据真实服务器的处理能力来给服务器分配不同的访问
最少连接:看哪台服务器连接数量最少,就连哪台
加权最少连接:根据服务器真实处理能力来分配不同访问 如:这台服务器性能很好,可以连接很多,但我已经连接了很多,另一台服务器性能不好,难道也要让它连接那么多?这时候就要分配权重了。
NAT负载均衡 ↓

网络环境:
3台服务器 一台客户机  
调度器(整个群集的一个入口 BOSS的身份 下分支节点服务器 再下面就是共享存储)两块网卡 一块用于模拟外网一块用于内网服务器 

我用的虚拟机分别把调度器两块网卡桥接到了  VM2 VM8 其他两台服务器是VM2 VM2
客户机是VM8 
也就是说 VM2都是内网  第一个VM8是调度器的外网网卡 第二个就输客户机的IP地址了

1)配置负载调度器 

[root@localhost ~]# vi /etc/sysctl.conf                     //开启路由转发功能

……

net.ipv4.ip_forward = 1

[root@localhost ~]# sysctl -p                        //让修改生效

[root@localhost ~]# iptables -t nat -A POSTROUTING -s 192.168.7.0/24 -o eth0 -j SNAT --to-source 172.16.16.172                                           //让内网两台服务器能访问公网

[root@localhost ~]# service ipvsadm stop                     //先停止掉ipvsadm

[root@localhost ~]# ipvsadm -A -t 172.16.16.172:80 -s rr                //添加一台调度器

[root@localhost ~]# ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.21:80 -m       //添加节点

[root@localhost ~]# ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.22:80 -m        // - - -

[root@localhost ~]# ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.23:80 -m

[root@localhost ~]# ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.24:80 -m

[root@localhost ~]# ipvsadm-save  >  /etc/sysconfig/ipvsadm    //保存上面添加的

[root@localhost ~]# chkconfig ipvsadm on        //添加为系统开机启动项




2)客户端配置 

这里用WEB1 和 WEB2做两个WEB服务器   在WEB1里添加一个测试用的网页 
WEB2和WEB1添加不同的网页 (实验中是为了看出你的负载均衡成功了 现实中当然两个WEB站点必须是一样的)

现实生活中:
NFS共享:
使用NFS共享  
比如公司网站在/var/www/html/  那就共享这个目录 到另一台节点服务器去访问它的共享 这样就可以把网站复制一份了

具体是这样的:安装nfs-utils 和 rpcbind

NFS依赖于RPC(Remote Process Call 远端过程调用)


然后打开/etc/exprots
/var/www/html/        192.168.1.0/24(rw,sync,no_root_squash)

以上是格式
rw:读写权限 注意:ro 为只读 (read only)
sync:同步写入
no_root_squash: 客户机用ROOT访问时  给与root权限

然后启动服务 service XX ...   服务名称就是包名  nfs 和 rpcbind

showmount -e 查看本机的共享

然后客户机可以直接挂载

mount 192.168.1.1(远端IP):  /var/www/html/  /var/www/html/       

上面就是把远端的html挂到本地html 



配置完了客户端要检查IPTABLES规则是否写对了 

WEB1 2的网关都要指向 调度器

写完规则ping一下 调度器外网IP ping通说明规则写对了


3)最后就是客户机访问了

用可以和调度器外网通信的客户机访问调度器外网,这时候群集会生效 刷新网页 发现一下是网页WEB1网页 一下是WEB2网页 
说明成功了。




一、群集的介绍

群集的类型:
负载均衡群集
高可用群集
高性能运算群集
LINUX中叫:
负载均衡群集(LB)
高可用群集(HA)
高性能运算群集(HPC)
WINDOWS中叫:
网络负载均衡群集(NLB)(最多32个节点)
故障转移群集
最多8个节点
高性能运算群集(HPC)

二、负载均衡群集分层结构
1)负载调度器 
访问群集的唯一入口

2)服务器池 
群集所提供的应用服务

3)共享存储 
为服务器池中的所有节点提供稳定一致的文件存取服务 确保群集同意性


三、负载均衡群集的工作方式

1)地址转换  简称 NAT模式 安全性能高

2)IP隧道  简称TUN  

3)直接路由 简称DR模式  

LVS虚拟服务器

中国 张文嵩博士 1998年5月创建   现在已经成文Linux内核中的一部分 

[root@localhost ~]# modprobe ip_vs   //加载模块

[root@localhost ~]# cat /proc/net/ip_vs      //查看版本信息

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

  -> RemoteAddress:Port Forward Weight ActiveConn InActConn


LVS负载调度算法
轮询:收到的访问请求轮流发给各个节点
加权 轮询:根据真实服务器的处理能力来给服务器分配不同的访问
最少连接:看哪台服务器连接数量最少,就连哪台
加权最少连接:根据服务器真实处理能力来分配不同访问 如:这台服务器性能很好,可以连接很多,但我已经连接了很多,另一台服务器性能不好,但是才连接了几个,这时候就要分配权重了。
NAT负载均衡 ↓

网络环境:
3台服务器 一台客户机  
调度器(整个群集的一个入口 BOSS的身份 下分支节点服务器 再下面就是共享存储)两块网卡 一块用于模拟外网一块用于内网服务器 

我用的虚拟机分别把调度器两块网卡桥接到了  VM2 VM8 其他两台服务器是VM2 VM2
客户机是VM8 
也就是说 VM2都是内网  第一个VM8是调度器的外网网卡 第二个就输客户机的IP地址了

1)配置负载调度器 

[root@localhost ~]# vi /etc/sysctl.conf                     //开启路由转发功能

……

net.ipv4.ip_forward = 1

[root@localhost ~]# sysctl -p                        //让修改生效

[root@localhost ~]# iptables -t nat -A POSTROUTING -s 192.168.7.0/24 -o eth0 -j SNAT --to-source 172.16.16.172                                           //让内网两台服务器能访问公网

[root@localhost ~]# service ipvsadm stop                     //先停止掉ipvsadm

[root@localhost ~]# ipvsadm -A -t 172.16.16.172:80 -s rr                //添加一台调度器

[root@localhost ~]# ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.21:80 -m       //添加节点

[root@localhost ~]# ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.22:80 -m        // - - -

[root@localhost ~]# ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.23:80 -m

[root@localhost ~]# ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.24:80 -m

[root@localhost ~]# ipvsadm-save  >  /etc/sysconfig/ipvsadm    //保存上面添加的

[root@localhost ~]# chkconfig ipvsadm on        //添加为系统开机启动项




2)客户端配置 

这里用WEB1 和 WEB2做两个WEB服务器   在WEB1里添加一个测试用的网页 
WEB2和WEB1添加不同的网页 (实验中是为了看出你的负载均衡成功了 现实中当然两个WEB站点必须是一样的)

现实生活中:
NFS共享:
使用NFS共享  
比如公司网站在/var/www/html/  那就共享这个目录 到另一台节点服务器去访问它的共享 这样就可以把网站复制一份了

具体是这样的:安装nfs-utils 和 rpcbind

NFS依赖于RPC(Remote Process Call 远端过程调用)


然后打开/etc/exprots
/var/www/html/        192.168.1.0/24(rw,sync,no_root_squash)

以上是格式
rw:读写权限 注意:ro 为只读 (read only)
sync:同步写入
no_root_squash: 客户机用ROOT访问时  给与root权限

然后启动服务 service XX ...   服务名称就是包名  nfs 和 rpcbind

showmount -e 查看本机的共享

然后客户机可以直接挂载

mount 192.168.1.1(远端IP):  /var/www/html/  /var/www/html/       

上面就是把远端的html挂到本地html 



配置完了客户端要检查IPTABLES规则是否写对了 

WEB1 2的网关都要指向 调度器

写完规则ping一下 调度器外网IP ping通说明规则写对了


3)最后就是客户机访问了

用可以和调度器外网通信的客户机访问调度器外网,这时候群集会生效 刷新网页 发现一下是网页WEB1网页 一下是WEB2网页 
说明成功了。



你可能感兴趣的:(技术文档)