NAT实现Discuz负载均衡

集群:是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高可用性和可缩放性。集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高可用性和可缩放性。

Linux服务器LB群集之LVS-NAT

Linux下群集服务之LB集群-LVS-NAT模式

LVS-NAT+ipvsadm实现RHEL 5.7上的服务集群

Linux虚拟服务器LVS-NAT 和 LVS-DR 模型的实现

集群分为:

HA:High Availability 高可用集群

LB:Load Balancing 高可拓展,伸缩集群

HP:High Performance 高性能集群

LVS的类型:nat,dr,tun

nat类型的特性:

1、RS应用使用私有地址;RS的网关必须指向DIP;

2、请求和响应都要经过Director;高负载场景中,Director易成为性能瓶颈;

3、支持端口映射;

4、RS可以使用任意OS;

dr类型的特性:

1、保证前端路由将目标地址为VIP的报文统统发往Directory,而不能是RS;

解决方案:

(1) 静态地址绑定:在前端路由器上操作

问题:未必有路由操作权限

(2) aprtables

(3) 修改RS上内核参数,将RS上的VIP配置在lo接口的别名上,并限制其不能响应对VIP地址解析请求;

2、RS可以使用私有地址;但也可以使用公网地址,此时可通过互联网通过RIP对其直接访问;

3、RS跟Directory必须在同一物理网络中;

4、请求报文经由Director,但响应报文必须不能经过Director;

5、不支持端口映射;

6、RS可以是大多数常见的OS;

7、RS的网关绝不允许指向DIP;

tun类型的特性:

1、RIP、VIP、DIP全部是公网地址;

2、RS的网关不会也不可能指向DIP;

3、请求报文经由Director,但响应报文必须不能经过Director;

4、不支持端口映射;

5、RS的OS必须支持隧道功能;

下边我们讲一下Load Balancing的实现。LB实现高拓展集群的方法有软件,硬件两种。由于条件限制而我们只作软件实验

LB实验用到的软件为LVS:Linux Virtual Server虚拟服务器。

lvs分为两部分,ipvsadm和ipvs,ipvs是工作在内核上的。所以我们只需要安装ipvsadm即可。

实验环境准备:

host1:CentOS6.5 

网卡两个:eth0 工作在172.16.249.138/16,是VIP是公网IP  ;eth1工作在10.0.0.1/24 是DIP 私网IP

host2:CentOS6.5

单网卡,私网IP:10.0.0.2

ipvsadm版本 :ipvsadm-1.26-2.el6

实验模型:nat类型

LVS-NAT实现Discuz负载均衡

实验内容:

对web服务请求做负载均衡,将请求的分发到不同的web服务器上去,降低对单个服务器的压力。

1,配置环境

host1主机配置:

为两块网卡配置IP:

ifconfig eth0 172.16.249.138/16       

ifconfig eth1 10.0.0.1/24 up

将eth0设为桥接。eth1设为指定本地网络

yum install ipvsadm        #安装ipvsadm软件

host2主机配置:

ifconfig eth0 10.0.0.2/24

eth0设为本地网络

route add default gw 10.0.0.1

所以host1 的eth1与host2 的eth0 都无法直接访问公网网络。

2,为host2主机提供web服务。

yum install httpd          #安装httpd,有的就无需安装。

配置httpd,创建虚拟主机,模拟两台服务器模式工作。


#DocumentRoot "/var/www/html"                  #注销掉根目录

NameVirtualHost *:80                                  #启用

<VirtualHost 10.0.0.8:80>

ServerAdmin    aolens@aolens.com

DocumentRoot    /www/host1/

ServerName   

ErrorLog    /www/host1_error.log

CustomLog    /www/host1_access.log

</VirtualHost>

<VirtualHost 10.0.0.9:80>

ServerAdmin    aolens@aolens.com

DocumentRoot    /www/host2/

ServerName   

ErrorLog    /www/host2_error.log

CustomLog    /www/host2_access.log

</VirtualHost>

保存

httpd -t          #是否有语法错误。

service httpd reload

mkdir -pv /www/{host1,host2}              #创建文件的目录。为web服务提供两个不同的页面,方便可观察访问的是哪个服务器。

为两台虚拟主机提供访问页面:

vim  /www/host1/index.html

<h1> </h1>

vim  /www/host2/index.html

<h1> </h1>

3,添加一个集群服务

service ipvsadm start                                    #启动ipvsadm服务

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/3ae9f971ceccd5f616b627ab05bb48b1.html