一、集群的类型

1、负载均衡集群(LB)

2、高可用集群(HA)

3、高性能集群(HP/HPC)


二、集群的实现

1、负载均衡集群的实现

(1)硬件设备

F5、BIG IP、Citrix、Netscaler、A10等

(2)软件设备

四层:LVS,七层:nginx、haproxy等

2、高可用集群的实现

三、集群的特点

高可伸缩性、高可管理性、高可用性

四、集群的部署

五、LVS集群

1、lvs的三种类型

(1)NAT:地址转换

特点:

集群节点跟director必须在同一个ip网络中;

Rip通常是私有地址,仅用于各集群节点间的通信;

Dirctor位于client和real server之间,并负责处理进出的所有通信;

Real server必须将网关指向dip;

支持端口映射;

Real server可以使用任意os;

在较大规模应用场景中,director易成为系统瓶颈;

(2)DR:直接路由

特点:

集群节点跟director必须在同一个物联网络中;

Rip可以使用公网地址,实现便捷的远程管理和监控;

Director仅负责处理入站请求,响应报文则由director直接发给客户端;

Real server不能将网关指向dip;

不支持端口映射;

(3)TUN:隧道

特点:

集群节点可以跨越internet;

RIP必须是公网地址;

Director仅负责处理入站请求,响应报文则由real server直接发送给客户端;

Real server网关不能指向director,响应报文不能通过dir;

只有支持隧道功能的os才能用于real server;

不支持端口映射;

2、lvs的调度方法

(1)固定调度(静态调度)

rr:轮询、轮调

wrr:加权轮调

sh:源地址hash;将同一客户端的用户请求发送至同一个real server

dh:主要用于缓存,不考虑cache的连接数

(2)动态调度

lc:最少连接;计算当前后端每个real server的动态连接数和非动态连接数总数并做比较以后哪一个数目小就挑选哪一个

计算方法:active*256+inactive 谁的小,挑谁

wlc:加权最少连接;默认,最理想的方法;

计算方法:(active*256+inactive)/weight 谁小,挑谁

nq:永不排队;权重大的先被发送连接,不考虑非连接的活动状况

sed:最短期望延迟,不再计算inactive的连接数

计算方法:(active*256)/weight 谁小,挑谁

LBLC:基于本地的最少连接;wlc算法,和dh差不多,考虑cache连接数

LBLCR:基于本地的带复制功能的最少连接;缓存复制机制

3、lvs工具

(1)ipvsadm:管理集群服务的命令行工具

主要功能:

a、管理集群服务:

添加:-A |E -t|u|f service-address [-s scheduler]

-t:TCP协议的集群

-u:UDP协议的集群

Service-address: IP:PORT

-f:firwallMark(FWM)防火墙标记

Service-address: Mark Number

示例:ipvsadm -A -t 172.16.100.1:80 -s rr //添加一个集群服务

删除:-D -t|u|f service-address

修改:-E

b、管理集群服务中的real server

添加:-a|e -t|u|f service-address -r server-address [-g|i|m] [-x upper] [-y lower]

-t|u|f Service-address:事先已经定义好的某集群服务地址

-r server-address:某real server的地址,在NAT模型中可以使用IP:PORT形式实现端口映射

[-g|i|m]:lvs的类型

-g:DR 默认

-i:TUN

-m:NAT

[-g|i|m]:lvs的类型:定义服务器权重

删除:-d -t|u|f service-address -r server-address

修改:-e

示例:ipvsadm -a -t 172.16.100.1:80 -r 192.168.4.101 -m //添加real server服务器

c、查看

-L|l [options] 可与以下参数一起使用

-n:数字格式显示主机地址和端口

--stats:统计数据

--rate:速率

CPS:每秒连接个数 InPPS:每秒入站报文的个数 OutPPS:每秒出站的包个数 InBPS: 每秒入站的字节个数 OutBPS:每秒出站的字节个数

--timeout:显示tcp、tcpfin、udp的会话超时时间长度

--daemon:显示进程,不常用

--sort:排序,默认升序

-c:显示当前ipvs有多少个客户端连接

示例:ipvsadm -L -n --stats

d、删除所有集群服务

-C:清空ipvs规则

e、保存规则

-S

示例:ipvsadm -S > /path/to/somefile

f、载入此前的规则:

-R

示例:ipvsadm -R > /path/from/somefile

(2)ipvs:内核模块

Grep -i ‘ipvs’ /boot/config-补全 //查看内核中是否有ipvs的功能

标签: Linux, server, 示例, web, address, 集群, ipvsadm, real

相关文章推荐

添加新评论,含*的栏目为必填