-NAT实现Di

[复制链接]
查看245 | 回复0 | 2019-6-3 13:30:39 | 显示全部楼层 |阅读模式
集群:是一组相互独立的、通过高速网络互联的盘算机,它们构成了一个组,并以单一体系的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群设置是用于进步可用性和可缩放性。集群是一组相互独立的、通过高速网络互联的盘算机,它们构成了一个组,并以单一体系的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群设置是用于进步可用性和可缩放性。
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即可。
实行情况预备:
网卡两个: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范例
源码多多:-NAT实现Di
实行内容:
对web服务哀求做负载平衡,将哀求的分发到差别的web服务器上去,低落对单个服务器的压力。
1,设置情况
host1主机设置:
为两块网卡设置IP:
ifconfig eth0 172.16.249.138/16
ifconfig eth1 10.0.0.1/24 up
将eth0设为桥接。eth1设为指定当地网络
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                                  #启用

DocumentRoot    /www/host1/
ServerName    www.aolens.com
ErrorLog    /www/host1_error.log


DocumentRoot    /www/host2/
ErrorLog    /www/host2_error.log
生存
httpd -t          #是否有语法错误。
service httpd reload
mkdir -pv /www/{host1,host2}              #创建文件的目次。为web服务提供两个差别的页面,方便可观察访问的是哪个服务器。
为两台假造主机提供访问页面:
vim  /www/host1/index.html
www.node1.com


vim  /www/host2/index.html
www.node2.com


3,添加一个集群服务
service ipvsadm start                                    #启动ipvsadm服务
ipvsadm -A -t 172.16.249.138:80 -s rr            #添加一个集群 VIP:Port=172.16.249.138:80      调理方式选择rr 轮询,如许便于观察访问
ipvsadm -a -t 172.16.249.138:80 -r 10.0.0.8 -m  #为集群添加RS1
ipvsadm -a -t 172.16.249.138:80 -r 10.0.0.9 -m  #为集群添加RS2
[root@www ~]# cat /proc/sys/net/ipv4/ip_forward            #检察转发功能是否开启,开启为1,关闭是0
[root@www ~]# echo 1 > /proc/sys/net/ipv4/ip_forward
ipvsadm的简朴用法:
添加一个集群服务: ipvsadm -A|E -t|u|f service-address [-s scheduler]
service-address:
-t|u: VIP:Port
向一个已经存在集群服务添加一个RS: ipvsadm -a|e -t|u|f service-address -r server-address [options]
-r RS-ADDR
-w weight
--gatewaying -g gatewaying (direct routing) (default)
--ipip -i ipip encapsulation (tunneling)
--masquerading -m masquerading (NAT)
检察已经界说的集群服务及RS: ipvsadm -L -n
清空全部的集群服务: ipvsadm -C
删除集群服务: ipvsadm -D -t|u|f service-address
从集群服务中删除RS: ipvsadm -d -t|u|f service-address -r server-address
生存集群服务界说:
ipvsadm -S > /path/to/some_rule_file
ipvsadm-save > /path/to/some_rule_file
让规则文件中的规则见效:
ipvsadm -R < /path/from/some_rule_file
ipvsadm-restore < /path/from/some_rule_file
在物理主机上访问172.16.249.138.
当访问到的数据时www.node2.com是,下个访问数据将会是www.node1.com  ,也可以革新一个访问会不绝变更表现效果,显着,每一次的访问到的服务器端都是差别。当两个服务器数据一样是。这就实现了负载平衡
源码多多:-NAT实现Di
但是假如同意用户访问同一数据,还不绝的做轮询如许不光斲丧资源而且缓存机制的作用被大大减小了。那么怎样实现让同一用户访问同一数据去往同一服务器呢?实现此方法就要用到Session的长期机制。
Session长期机制:
1、session绑定:始终未来自同一个源IP的哀求定向至同一个RS;没有容错本领;有损平衡结果;
2、session复制:在RS之间同步session,每个RS拥有集群中的全部的session;对规模集群不实用;
3、session服务器:使用单独摆设的服务器来同一管理集群中的session;
[root@www ~] # ipvsadm -E -t 172.16.249.138:80 -s sh                #修改集群调理算法为sh
在物理主机上访问172.16.249.138.第一次访问到的是什么效果,那么今后一段时间内访问到的数据效果就是雷同的。
源码多多:-NAT实现Di
后边的实现都将172.16.249.138改为192.168.1.128.    ipvsadm的集群界说也一样。
更多详情见请继承阅读下一页的出色内容:
楼主热帖

3

主题

0

帖子

38

积分

普通用户

Rank: 1

积分
38