LVS(Linux Virtual Server)Linux 虚拟服务器介绍及配置(负载均衡
一,简介
LVS(Linux Virtual Server) 是Unix-like系统中的一个虚拟服务器,是国内贡献给开源组织的一个最优秀的项目之一。LVS在Unix-like系统中
是作为一个前端(Director)存在的,又称为调度器,它本身不提供任何的服务,只是将通过互联网进来的请求接受后再转发给后台运行的真正的
服务器(RealServer)进行处理,然后响应给客户端。
LVS有两个重要的组件:一个是IPVS,一个是IPVSADM。ipvs是LVS的核心组件,它本身只是一个框架,类似于iptables,工作于内核空间中。
ipvsadm 是用来定义LVS的转发规则的,工作于用户空间中。
LVS有三种转发类型:
1.LVS-NAT模型,称为网络地址转换,实现起来比较简单。
2.LVS-DR模型,称为直接路由模型,应用比较广泛。
3.LVS-TUN模型,称为隧道模型。
二、LVS的三种模型的工作属性:
1.LVS-NAT模型的工作属性或特: (1).所有的RealServer集群节点和前端调度器Director都要在同一个子网中 (2).通常情况下RealServer的IP地址(以下简成RIP)为私有地址,便于RealServer集群节点之间进行通信 (3).通常情况下前端的Director有两个IP地址,一个为VIP,是虚拟的IP地址,客户端向此IP地址发起请求。 一个是DIP,是真正的Director的IP地址,RIP的网关要指向Director的DIP。 (4).这种模型可以实现端口映射 (5).RealServer的操作系统可以是任意操作系统 (6).前端的Director既要处理客户端发起的请求,又要处理后台RealServer的响应信息,将RealServer响应的信息再转发给客户端 (7).前端Director很容易成为整个集群系统性能的瓶颈。 2.LVS-DR模型的工作属性或特征:此种模型通过MAC地址转发工作,如何转发后面将会介绍。 (1).所有的RealServer集群节点和前端调度器Director都要在同一个物理网络中 (2).RIP可以使用公网的IP (3).RIP的网关不能指向DIP (4).前端的Director只处理客户端的请求,然后将请求转发给RealServer,由后台的RealServer直接响应客户端,不再经过Director (5).此种模型不支持端口映射 (6).RealServer可以使用大多数的操作系统 (7).此种模型的性能要优于LVS-NAT 3.LVS-TUN模型的基本工作属性或特征 (1).RealServer服务器与前端的Director可以在不同的网络中 (2).RIP一定不能是私有IP (3).前端的Director只处理客户端的请求,然后将请求转发给RealServer,由后台的RealServer直接响应客户端,不再经过Director (4).此种模型也不支持端口映射 (5).RealServer只能使用哪些支持IP隧道的操作系统
三。LVS Scheduling Method LVS的调度方法:
1.Fixed Scheduling Method 静态调服方法 (1).RR 轮询 (2).WRR 加权轮询 (3).DH 目标地址hash (4).SH 源地址hash 2.Dynamic Scheduling Method 动态调服方法 (1).LC 最少连接 (2).WLC 加权最少连接 (3).SED 最少期望延迟 (4).NQ 从不排队调度方法 (5).LBLC 基于本地的最少连接 (6).LBLCR 带复制的基于本地的最少连接 四、ipvsadm组件定义规则的格式:
1.定义集群服务格式: (1).添加集群服务: ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p [timeout]] [-M netmask] -A: 表示添加一个新的集群服务 -E: 编辑一个集群服务 -t: 表示tcp协议 -u: 表示udp协议 -f: 表示firewall-Mark,防火墙标记 service-address: 集群服务的IP地址,即VIP -s 指定调度算法 -p 持久连接时长,如#ipvsadm -Lcn ,查看持久连接状态 -M 定义掩码 ipvsadm -D -t|u|f service-address 删除一个集群服务 ipvsadm -C 清空所有的规则 ipvsadm -R 重新载入规则 ipvsadm -S [-n] 保存规则 2.向集群服务添加RealServer规则: (1).添加RealServer规则 ipvsadm -a|e -t|u|f service-address -r server-address [-g|i|m] [-w weight] -a 添加一个新的realserver规则 -e 编辑realserver规则 -t tcp协议 -u udp协议 -f firewall-Mark,防火墙标记 service-address realserver的IP地址 -g 表示定义为LVS-DR模型 -i 表示定义为LVS-TUN模型 -m 表示定义为LVS-NAT模型 -w 定义权重,后面跟具体的权值 ipvsadm -d -t|u|f service-address -r server-address --删除一个realserver ipvsadm -L|l [options] --查看定义的规则 如:#ipvsadm -L -n ipvsadm -Z [-t|u|f service-address] --清空计数器 五、LVS-NAT模型实例
1。先配置好网络环境,要三个虚拟机(本次实验在虚拟机上完成),一台用作Director,其他两台分别为RealServer1 和RealServer2 其中Director要两个网卡,Eth0网卡为桥接(Birdged),Eth1网卡为仅主机(Host-only),RealServer1 和RealServer2的网卡也都是仅主机 类型的。 2.为了演示效果,将Director的两块网卡配置成不在同一个网段的IP地址,RealServer1 和RealServer2的IP地址为同一网段,规划如下图:
本文出自 “知识体系” 博客
二、LVS的三种模型的工作属性:
1.LVS-NAT模型的工作属性或特: (1).所有的RealServer集群节点和前端调度器Director都要在同一个子网中 (2).通常情况下RealServer的IP地址(以下简成RIP)为私有地址,便于RealServer集群节点之间进行通信 (3).通常情况下前端的Director有两个IP地址,一个为VIP,是虚拟的IP地址,客户端向此IP地址发起请求。 一个是DIP,是真正的Director的IP地址,RIP的网关要指向Director的DIP。 (4).这种模型可以实现端口映射 (5).RealServer的操作系统可以是任意操作系统 (6).前端的Director既要处理客户端发起的请求,又要处理后台RealServer的响应信息,将RealServer响应的信息再转发给客户端 (7).前端Director很容易成为整个集群系统性能的瓶颈。 2.LVS-DR模型的工作属性或特征:此种模型通过MAC地址转发工作,如何转发后面将会介绍。 (1).所有的RealServer集群节点和前端调度器Director都要在同一个物理网络中 (2).RIP可以使用公网的IP (3).RIP的网关不能指向DIP (4).前端的Director只处理客户端的请求,然后将请求转发给RealServer,由后台的RealServer直接响应客户端,不再经过Director (5).此种模型不支持端口映射 (6).RealServer可以使用大多数的操作系统 (7).此种模型的性能要优于LVS-NAT 3.LVS-TUN模型的基本工作属性或特征 (1).RealServer服务器与前端的Director可以在不同的网络中 (2).RIP一定不能是私有IP (3).前端的Director只处理客户端的请求,然后将请求转发给RealServer,由后台的RealServer直接响应客户端,不再经过Director (4).此种模型也不支持端口映射 (5).RealServer只能使用哪些支持IP隧道的操作系统
三。LVS Scheduling Method LVS的调度方法:
1.Fixed Scheduling Method 静态调服方法 (1).RR 轮询 (2).WRR 加权轮询 (3).DH 目标地址hash (4).SH 源地址hash 2.Dynamic Scheduling Method 动态调服方法 (1).LC 最少连接 (2).WLC 加权最少连接 (3).SED 最少期望延迟 (4).NQ 从不排队调度方法 (5).LBLC 基于本地的最少连接 (6).LBLCR 带复制的基于本地的最少连接 四、ipvsadm组件定义规则的格式:
1.定义集群服务格式: (1).添加集群服务: ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p [timeout]] [-M netmask] -A: 表示添加一个新的集群服务 -E: 编辑一个集群服务 -t: 表示tcp协议 -u: 表示udp协议 -f: 表示firewall-Mark,防火墙标记 service-address: 集群服务的IP地址,即VIP -s 指定调度算法 -p 持久连接时长,如#ipvsadm -Lcn ,查看持久连接状态 -M 定义掩码 ipvsadm -D -t|u|f service-address 删除一个集群服务 ipvsadm -C 清空所有的规则 ipvsadm -R 重新载入规则 ipvsadm -S [-n] 保存规则 2.向集群服务添加RealServer规则: (1).添加RealServer规则 ipvsadm -a|e -t|u|f service-address -r server-address [-g|i|m] [-w weight] -a 添加一个新的realserver规则 -e 编辑realserver规则 -t tcp协议 -u udp协议 -f firewall-Mark,防火墙标记 service-address realserver的IP地址 -g 表示定义为LVS-DR模型 -i 表示定义为LVS-TUN模型 -m 表示定义为LVS-NAT模型 -w 定义权重,后面跟具体的权值 ipvsadm -d -t|u|f service-address -r server-address --删除一个realserver ipvsadm -L|l [options] --查看定义的规则 如:#ipvsadm -L -n ipvsadm -Z [-t|u|f service-address] --清空计数器 五、LVS-NAT模型实例
1。先配置好网络环境,要三个虚拟机(本次实验在虚拟机上完成),一台用作Director,其他两台分别为RealServer1 和RealServer2 其中Director要两个网卡,Eth0网卡为桥接(Birdged),Eth1网卡为仅主机(Host-only),RealServer1 和RealServer2的网卡也都是仅主机 类型的。 2.为了演示效果,将Director的两块网卡配置成不在同一个网段的IP地址,RealServer1 和RealServer2的IP地址为同一网段,规划如下图:









本文出自 “知识体系” 博客
顶(0)
踩(0)
- 最新评论
