LVS笔记

以下记录自己自学的笔记,因为之前很少接触网络方面知识

Linux Cluster:

LB: 负载均衡

HA:高可用
MTBF:平均无故障时间
MTTR:平均恢复前时间(故障时间)
总时间:无故障时间/总时间
指标A:MTBF/(MTBF+MTTR)   #值越高高可用越好

HPC: 高性能

会话保持 :负债均衡
1.session sticky(会话粘滞)
(1)根据原地址(来自同一个IP的请求,调度器调度到后端同一台服务器上,调度器上记录了一个表会有记录)
(2)根据cookie (调度器根据请求信息携带的cookie转发到后端服务器)
实现原理:客户端A第一次访问后端服务器,后端服务器产生cookie并且把cookie信息发给客户端A机器,在客户端A机器的硬盘上就生产cookie文件,下次在访问的时候在请求报文中会携带cookie信息(调度器LVS来实现,来自同一台的请求都会被调度到后端同一台web服务器上),叫做session绑定。

2.session replication(回话复制)
(1)每台服务器都拥有全部session
用户量过大的时候这种方式不适合
3.session server:专门的session服务器
(1)Redis
(2)Memcached
搭建主从Redis专门存放session信息,web服务器都从redis上获取session信息。

keepalived :高可用解决方案,和lvs天生一对,解决Lvs单点故障的软件。
(1)vrrp协议

LVS介绍
lvs :负载调度器 , 被Linux内核收购 集成内核

VS: 负责调度
RS: 负责真正提供服务
L4:四层路由器或者交换机

工作原理:VS根据请求报文的目标IP和目标协议及端口将其调度转发至某RS,根据调度算法来挑选RS

iptables: 用户空间的管理工具
netfilter: 内核空间上的框架
流入:PREROUTING --> INPUT
流出:OUTPUT --> POSTROUTING
转发:PREROUTING --> FORWARD --> POSTROUTING
DNAT: 目标地址转换 ;PREROUTING

IP地址冲突原理:
A机器做ARP广播 这个地址谁在用 ,B机器说我在用并且B给A发一个确认包 这样就造成IP地址冲突。

(1)在路由器上做MAC地址绑定
(2)ARPtable
不推荐以上两种方式要修改内核参数
在RS上修改内核参数已限制arp通告及响应级别 /proc/sys/net/ipv4/conf/all/arp_ignore , /proc/sys/net/ipv4/conf/all/arp_announce

在多个主机中配置同一个IP的方式:
解决方法:
(1)不问谁在用这个IP地址
(2)其他机器不回答谁在使用这个IP地址

 

 

 

原文地址:https://www.cnblogs.com/394510636-ff/p/11975760.html