[network] IPVS / Load balancer / Linux Virtual Server
IPVS: http://kb.linuxvirtualserver.org/wiki/IPVS
NAT: http://kb.linuxvirtualserver.org/wiki/LVS/NAT
VIP: http://kb.linuxvirtualserver.org/wiki/VIP
ARP: http://kb.linuxvirtualserver.org/wiki/ARP_Issues_in_LVS/DR_and_LVS/TUN_Clusters
TUN: http://kb.linuxvirtualserver.org/wiki/LVS/TUN
http://www.linuxvirtualserver.org/VS-IPTunneling.html
DR:http://kb.linuxvirtualserver.org/wiki/LVS/DR
http://www.linuxvirtualserver.org/VS-DRouting.html
FNAT: <<LVS_FULLNAT概要设计.docx>> 可以从下面的链接里download。
中文资料:http://linuxvirtualserver.org/zh/index.html
LVS集群的通用体系结构
负载调度器(load balancer)
服务器池(server pool)
共享存储(shared storage)
分布式锁管理器(Distributed Lock Manager)
高可用性
- 一般来说,调度器的可靠性较高,因为调度器上运行的程序较少而且大部分程序早已经遍历过,但我们不能排除硬件老化、网络线路或者人为误 操作等主要故障。为了避免调度器失效而导致整个系统不能工作,
我们需要设立一个从调度器作为主调度器的备份。两个心跳(Heartbeat)进程[]分 别在主、从调度器上运行,它们通过串口线和UDP等心跳线来相互定时地汇报各自的健康状况。
当从调度器不能听得主调度器的心跳时,从调度器通过ARP欺骗 (Gratuitous ARP)来接管集群对外的Virtual IP Address,同时接管主调度器的工作来提供负载调度服务。
当主调度器恢复时,这里有两种方法,一是主调度器自动变成从调度器,二是从调度器释放 Virtual IP Address,主调度器收回Virtual IP Address并提供负载调度服务。
这里,多条心跳线可以使得因心跳线故障导致误判(即从调度器认为主调度器已经失效,其实主调度器还在正常工作)的概论 降到最低。- 通常,当主调度器失效时,主调度器上所有已建立连接的状态信息将丢失,已有的连接会中断。客户需要向重新连接,从调度器才会将新连接调 度到各个服务器上,这对客户会造成一定的不便。
为此,IPVS调度器在Linux 内核中实现一种高效状态同步机制,将主调度器的状态信息及时地同步到从调度器。当从调度器接管时,绝大部分已建立的连接会持续下去。
负载均衡的发展历史,以及NAT、TUN、DR三种方式优缺点的比较
http://linuxvirtualserver.org/zh/lvs3.html
PrivateLink是啥
https://docs.aws.amazon.com/aws-technical-content/latest/aws-vpc-connectivity-options/aws-privatelink.html
在支持fullnat的基础上,可以通过配置实现 PrivateLink
LVS集群的负载调度
http://linuxvirtualserver.org/zh/lvs4.html
LVS项目下的软件,包括:http://www.linuxvirtualserver.org/software/index.html
IPVS: http://www.linuxvirtualserver.org/software/ipvs.html
包括,内核模块: /linux-4.18-rc2/net/netfilter/ipvs
管理工具:ipvsadm https://mirrors.edge.kernel.org/pub/linux/utils/kernel/ipvsadm/
看代码:
/linux-4.18-rc2/net/netfilter/ipvs
入口:
- module_init(ip_vs_init);
hook
- static const struct nf_hook_ops ip_vs_ops[] = {
- /* After packet filtering, change source only for VS/NAT */
- {
- .hook = ip_vs_reply4,
- .pf = NFPROTO_IPV4,
- .hooknum = NF_INET_LOCAL_IN,
- .priority = NF_IP_PRI_NAT_SRC - ,
- },
- /* After packet filtering, forward packet through VS/DR, VS/TUN,
- 2125 * or VS/NAT(change destination), so that filtering rules can be
- 2126 * applied to IPVS. */
- {
- .hook = ip_vs_remote_request4,
- .pf = NFPROTO_IPV4,
- .hooknum = NF_INET_LOCAL_IN,
- .priority = NF_IP_PRI_NAT_SRC - ,
- 。。。 。。。
为了清楚 hook点的进入条件和场景:
阅读 netfilter相关内容: 跳转至
[network] netfilter
[network] IPVS / Load balancer / Linux Virtual Server的更多相关文章
- LVS(Linux Virtual Server)
LVS的英文全称是Linux Virtual Server,即Linux虚拟服务器.它是我国的章文嵩博士的一个开源项目.在linux内存2.6中,它已经成为内核的一部分,在此之前的内核版本则需 ...
- LVS : Linux Virtual Server 负载均衡,集群,高并发,robust
1 LVS : Linux Virtual Server http://www.linuxvirtualserver.org/ http://www.linuxvirtualserver.org/zh ...
- LVS (Linux Virtual Server) 负载均衡
[大型网站技术实践]初级篇:借助LVS+Keepalived实现负载均衡 一.负载均衡:必不可少的基础手段 1.1 找更多的牛来拉车吧 当前大多数的互联网系统都使用了服务器集群技术,集群即将相同服 ...
- 服务器负载均衡lvs(Linux Virtual Server)
服务器负载均衡lvs(Linux Virtual Server) 一.总结 LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统. 三.Linu ...
- LVS (Linux Virtual Server) - 负载均衡集群 - keepalived
今天稍微了解了LVS 的原理和使用,在网络上找到不少好文章,稍微加以处理并在这里备份: 原理介绍:Linux Virtual Server 关于:http://www.linuxvirtualserv ...
- Linux Virtual Server技术
1 LVS简单介绍 Linux VirtualServer是一个高扩展和高可用性server,在一个真正server的集群中构建而成,包括Linux操作系统中的负载均衡. server的架构对于终端用 ...
- LVS (Linux Virtual Server) 思维导图笔记
- 数据链路层负载均衡 Linux Virtual Server
w 李智慧
- Data Center手册(3): Load Balancer
Load Balancer的类型 DNS Round-Robin 这是一种很常见的分流的方式,具体配置如下: name server有一个zone文件,对于同一个domain,有多个IP www.ex ...
随机推荐
- [svc]openssl对称非对称加密实战
OpenSSL进行aes加密解密-对称加密(symmetry) 建立文件test.txt, 特意写入中英文 # cd /tmp # echo "test测试" > test. ...
- C++ 类占用空间计算方式
1.一个类占用的空间主要是属性占用空间,而成员函数一般不占用空间,但是虚函数占用空间,需要说明的是,无论多少个虚函数,只要占用4个字节即可,也就是索引指向一个虚拟表的首位置.另外需要说明的是占用空间都 ...
- linux每日命令(6):rm命令
rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除.对于链接文件,只是删除了链接,原有文件均保持不变. rm是一个危险的命令,使用的 ...
- CentOS 上开启 BBR 加速
BBR 算法需要 Linux 4.9 及以上的内核支持,所以想要使用该方式的需要先升级内核版本. 在 Cent OS 7 上的 Linux 内核是 3.10, 使用 uname -r 查看内核版本 [ ...
- 基音检测算法的性能:Performance Evaluation of Pitch Detection Algorithms
http://access.feld.cvut.cz/view.php?cisloclanku=2009060001 Vydáno dne 02. 06. 2009 (15123 přečtení) ...
- Msf提权步骤
1.生成反弹木马(脚本,执行程序) msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=&l ...
- Linux系统排查4——网络篇
用于排查Linux系统的网络故障. 网络排查一般是有一定的思路和顺序的,其实排查的思路就是根据具体的问题逐段排除故障可能发生的地方,最终确定问题. 所以首先要问一问,网络问题是什么,是不通,还是慢? ...
- DataTable导出为word,excel,html,csv,pdf,.txt
using System; using System.Data; using System.Configuration; using System.Collections; using System. ...
- 【代码审计】YzmCMS_PHP_v3.6 任意文件删除漏洞分析
0x00 环境准备 YzmCMS官网:http://www.yzmcms.com/ 程序源码下载:http://pan.baidu.com/s/1pKA4u99 测试网站首页: 0x01 代码分析 ...
- mysqldump命令的安装
author:headsen chen date:2019-03-14 11:31:00 安装:yum -y install mysql-client / apt-get install mys ...