Linux服务器集群方案介绍之 nginx,lvs

服务(器)集群,涉及的知识点相对偏操作系统底层,所以想理解并掌握整体的方案,需要将相关的知识点系统化的学习。

centos7+nginx+keepalived实践,及原理分析
centos7+lvs+keepalived实践,及原理分析
本文尽可能的关注解决方案的整体与关键点,弱化介绍方案中各软件应用的参数配置.

依赖知识点

大致可分为三块:
OS(Centos7,不同系统、版本间会有细微差异),
网络(协议,拓扑,流向),
应用(上层应用,如tomcat,mysql,等).

概念名词

Linux, Cluster, Load Balancer(LB), High Availability(HA), High Performance(HPC), Node, DNS, FailOver, VRRP
Director,RealServer, Proxy
DR,NAT,TUN
Nginx, Keepalived, LVS, F5, IPVS, KTCPVS, NetFilter
集群,负载,高可用,负载均衡器,节点
扩展性
二层、三层、四层交换机、路由器,四层交换,七层交换,反向代理,中间人

常见问题

方案选型
安装配置、启动
问题及排查
服务器要求/性能?

场景介绍

nginx独立负载

单台负载调度器 + 多台真实服务器,实现负载能力.
nginx实现负载,老版本支持七层负载,新版本也支持四层负载了。
参考连接:
nginx负载均衡配置
nginx四层负载均衡配置代理Mysql集群

nginx独立负载+主备

双台负载调度器 + 多台真实服务器; 主备
nginx实现负载,keepalived实现HA。
参考连接:
Nginx+Keepalived实现站点高可用

LVS负载场景

单台负载调度器 + 多台真实服务器; 负载

参考连接:
LVS(NAT和DR)模式详细与配置
LVS: LVS-DR
LVS: LVS-NAT

双台负载调度器 + 多台真实服务器; 主备

通常又分两种模式,NAT模式,DR模式
参考连接:
1.LVS + Keepalived NAT模式
17.7 Configuring Load Balancing Using Keepalived in NAT Mode

2.LVS + Keepalived DR模式
17.8 Configuring Load Balancing Using Keepalived in DR Mode

LocalNode+单负载+多真实服务器

lvs 单负载调度器,集成在某台真实服务器,实现负载.
1.1 NAT模式
未尝试

1.2 DR模式
未尝试

LocalNode+两台负载负载+多真实服务器

lvs + keepalived 两台负载调度器,集成在某两台真实服务器中,实现负载及高可用。
2.1 NAT模式
未尝试

2.2 DR模式
参考连接:
Building Two-Node Directors/Real Servers using LVS and Keepalived
LVS DR模式的一些问题
Failover and loadbalancer using keepalived (LVS) on two machines -ok

场景图说明

lvs + keepalived NAT mode:
lvs + keepalived NAT模式

lvs + keepalived DR mode:
lvs + keepalived DR模式

场景详解

参见每个具体的场景介绍

All machines in the LVS have the VIP: only the VIP on the director replies to arp requests, the VIP on the realservers must be on a non-arping device (eg lo:0, dummy).

详细配置参见lvs+keepalived DR

参考资料

发现好些资料都指向了archive.linuxvirtualserver.org,但这个网站显示服务器意外中断,以https访问时也显示页面不存在。