系统扩展方式:
scale up:向上扩展
scale out:
集群类型:
LB:load balance 负载均衡集群,
HA:high availability,高可用集群
HP:很少用
Availability:平均无故障时间/平均无故障时间+故障修复时间
系统:
可扩展性;
可用性
容量
性能
系统运维:可用 --> 标准化 --> 自动化
构建高可用系统原则:避免串行化交互
GSLB:globe service load balance
SLB:service load balance
Vmvare网络接口类型
桥接:
仅主机:
nat:
LVS :
四层交换 路由
根据请求报文的目标IP和port转发至主机集群中的某一个
net filter:
PREROUTING --> input
PREOUTING -- > FORWARD --> POSTROUTING
OUTPUT --> POSTROUTING
lvs
ipvsadm/ipvs
ipvsadm:用户空间的命令行工具
ipvs:内核中net filter INPUT链上
支持 tcp udp ah esp ah_esp
lvs arch :
调度器:director dispatcher blancer
客户端 :CIP
调度器提供给客户端的IP:VIP
调度器自己IP:DIP
后端server:RIP
lvs type
lvs-nat
lvs-dr
lvs-tun
lvs-fullnat
lvs-nat:
多目标的DNAT
修改请求报文的目标IP地址(可能修改端口)挑选 出某RS的RIP
RIP与DIP使用私网地址,且RS网关指向DIP
请求和响应报文都要经由director转发
支持端口映射
RS可以使用任意OS
RS的RIP与director的DIP要在同一网段
lvs-dr:direct routing
DR:VIP DIP
RS:VIP RIP
修改请求报文的目标mac地址转发
请求报文经由dr,响应报文不经由dr
每个RS都有RIP公网私网地址都可 VIP
RS与DR在同一个物理网络中
不支持端口映射
RS可以是大多数OS
RS的网关不能指向DIP
保证路由器发送到dr
静态绑定
arptables
修改RS主机内核参数
arp_announce=2 0|1|2
arp_ignore =1 0|1|2
lvs(3)
fwm :防火墙标记
-j MARK --set-mark 10
ipvsadm -A -f 10
fwm定义集群的方法
在dr上net filter的mangle表的prerouting定义打标的规则
iptables -t mangle -aA PREROUTING -d $vip -p $protocol --dports $port -j MARK --set-mark
基于FWM定义集群服务
ipvsadm -A -f # -s scheduler
功用:将共享同一组的RS的集群服务统一进行调度
session保持
session绑定
session复制
session服务器
session绑定:lvs sh算法
对某一特定服务
lvs persistence:lvs持久连接
将来自于同一个client的请求始终调度到第一次分配的RS
持久连接模板:
source rs timer ipvsadm -p
持久连接实现方式
每端口持久:ppc persistence port 单服务持久调度
每FWM持久:防火墙标记持久
port affinity
每客户端持久:单客户端持久调度
dr上定义了多个集群服务
tcp udp ssh mysql
lvs高可用方案
DR:spof 单点故障
高可用集群
RS:让敌人做健康状态检测,自动添加移除RS
1、基于层次 检查
ip ping
传输层 tcp 检测端口开放与否 nmap
应用层 请求资源判断
2、检查频率
3、状态判断 多次检测
下线:ok -- failure -- failure --failure
上线:failure -- ok --ok
权重为0 下线
RS健康状态检测脚本
原文地址:https://blog.51cto.com/11296304/2412175
时间: 2024-10-08 15:20:49