网上的资料很多也比较零散,针对集群的相关知识以本人的理解整理成文档,不妥之处请更正。

1、集群的基本概念:将多台计算机组合起来,为完成某种特定的任务和目标组合而成的多台计算机;目前有三种方式:

LB(loadBalancing):负载均衡     代表的应用:LVS、Haproxy

HA(High Availablity):高可用                heartbeat、RHCS(corosync+openais)、Keepalived

HP(High Performance):高性能                bowerful


2、以上三种方式的侧重特点和区别:

LB:将某个访问量特别大的应用分摊到各节点机器,以提供高并发、高容量的需求。

HA:将多台计算机组合起来,避免某个服务因某台计算机故障而导致服务中断;主要目的是保证服务

    的连续性、服务随时可以得到响应。

HP:为了解决一个复杂的计算问题而组合起来的一组计算机集合。

   (应用场景为top500的应用,如:计算全国人口按照性别分布情况、各雷达天气数据等)


3集群服务的3个特点:for higher throughut(吞吐量)

                      for redundancy(冗余)

                      for adaptability(灵活适应性)

以LVS为例:LVS: ipvsadm/ipvs

NAT

routing

tunneling

4、IP地址角色:

Virtual IP (VIP) address:The IP address the Director uses to offerservices to client computers

Real IP (RIP) address:The IP address used on the cluster nodes

Director's IP (DIP) address:The IP address the Director uses to connect tothe D/RIP network

Client computer's IP (CIP) address:The IP address assigned to a client computer thatit uses as a source IP address for requests sent to the cluster

如图:

cluster_第1张图片

5、三种模式优属性或特点:

模式 属性
NAT模式

1、集群节点不需同一个网络。

2、Rip通常使用私有地址,仅用于于DIP进行通讯。

3、DR将处理所有的进出通讯。

4、RS必须把DIP作为默认网关。

5、DR支持端口映射。(VIP和RIP可以不是同一个端口)

6、RS可以是任意OS。

6、请求和响应报文都要经由DR转发,使得DR容易成为系统瓶颈。


DR模式

1、RS必须与DR同一个物理网络中。

2、RIP可以使用公网地址,也可以使用私有地址。

3、DR只处理发来的请求,出站的数据包不经过DR。

4、RS的网关一定不能指向DR。

5、DR不能做端口映射。

6、大多数的OS都可以用于RS。

 

TUN模式

1、Real Server和Director可以在不同的物理网络中。

2、RIP必须是公网地地址。

3、DR只需处理入站请求。

4、不能做端口映射。

5、DR、RS必须支持隧道协议

实践部分(以下内容由于时间关系,来自转载)

1、LVS-NAT 

   LVS-NAT模式应用了NAT这一特性,将内部的一组服务器映射到一个虚拟的IP上,然后以虚拟服务节点的身份对外提供服务。由于客户端请求和响应都必须经过Director Server,所以Director容易成为集群的瓶颈,这也使得LVS-NAT模式支持的集群数较少。

cluster_第2张图片    

    配置好网络环境并在Real server上安装web服务,在Directory server上进行如下操作:   

    ]# echo "1" > /proc/sys/net/ipv4/ip_forward  #打开路由转发功能

    ]# ipvsadm -A -t 192.168.1.106:80 -s rr

    ]# ipvsadm -a -t 192.168.1.106:80 -r 192.168.10.3:80 -m

    ]# ipvsadm -a -t 192.168.1.106:80 -r 192.168.10.2:80 -m

 

  2、LVS-DR

    工作原理:Director根据不同的调度算法,选取一个Real Server,不修改也不封装IP报文,而是将数据帧的MAC地址改为选出服务器的MAC地址,再将修改后的数据帧在与服务器组的局域网上发送。因为数据帧的MAC地址是选出的服务器,所以服务器肯定可以收到这个数据帧,从中可以获得该IP报文。当服务器发现报文的目标地址VIP是在本地的网络设备上,服务器处理这个报文,然后根据路由表将响应报文直接返回给客户。

     LVS-DR模式下Real Server和Director必须在同一物理网络。

cluster_第3张图片

 

    Director Server上配置:

     ~]# ifconfig eth2:0 192.168.145.200 netmask 255.255.255.255

     ~]# route add -host 192.168.145.200 dev eth2:0

     ~]# ipvsadm -At 192.168.145.200:80 -s rr

     ~]# ipvsadm -at 192.168.145.200:80 -r 192.168.145.203:80 -g

      ~]# ipvsadm -at 192.168.145.200:80 -r 192.168.145.205:80 -g

 

     Real Server上由于设置了VIP,所以需要关闭arp广播功能,配置入下:

     ~]# ifconfig lo:0 192.168.145.200 netmask 255.255.255.255

     ~]# route add -host 192.168.145.200 dev lo:0

     ~]# echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore

     ~]# echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce

     ~]# echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore

     ~]# echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce

       

  3、LVS-TUN

    采用NAT技术时,由于请求和响应报文都必须经过调度器地址重写,当客户请求越来越多时,调度器的处理能力将成为瓶颈。为了解决这个问题,调度器把请求报文通过IP隧道转发至真实服务器,而真实服务器将响应直接返回给客户,所以调度器只处理请求报文,与LVS-DR不同的是LVS-TUN采用IP隧道技术,所以Real ServerDirector可以在不同的物理网络。

cluster_第4张图片    

        Director Server上配置:

     ~]# ifconfig tunl0 192.168.145.200 netmask 255.255.255.255 up

     ~]# route add -host 192.168.145.200 dev tunl0

     ~]# ipvsadm -At 192.168.145.200:80 -s rr

     ~]# ipvsadm -at 192.168.145.200:80 -r 192.168.145.203:80 -i

      ~]# ipvsadm -at 192.168.145.200:80 -r 192.168.145.205:80 -i

 

     Real Server上由于设置了VIP,所以需要关闭arp广播功能,配置如下:

     ~]# ifconfig tunl0 192.168.145.200 netmask 255.255.255.255 up

     ~]# route add -host 192.168.145.200 dev tunl0

     ~]# echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore

     ~]# echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce

     ~]# echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore

     ~]# echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce

。。。。。。有些arp_announce概念需要解释,待续。。。。。。。。