Linux下集群服务简介&LVS详解html
Linux下集群服务简介:前端
Clusterlinux
LB:Load Balancing,负载均衡算法
负载均衡集群目的是提供和节点个数成正比的负载能力,这种集群很适合提供大访问 量的Web服务。负载均衡集群每每也具备必定的高可用性特色。后端
高可用性集群运行于两个或多个节点上,目的是在系统出现某些故障的状况下,仍能继续对外提供服务。高可用性集群的设计思想就是要最大限度地减小服务中断时间。这类集群中比较著名的有Turbolinux TurboHA、Heartbeat、Kimberlite等。缓存
4层:TCP/IP port(相似DNAT)安全
应用层:5/7 代理服务器服务器
LVS: Linux Virtual Server(章文嵩)网络
LVS:ipvsadm/ipvsoracle
ip1:80 s rr
2. ip1:80 -r server1
ip2:80 -r server2
HA 高可用性
通常性:99.9%
关键性:99.999%
节点:
群集分裂 (split-brain)
解决方法: stonith(电源交换机,ssh,meatware)fence机器模块设备
Ø das : 直接附加存储 scsi 磁盘柜
Ø nas : 网络附加存储 samba nfs 文件级的共享 效率低
Ø san : 存储区域网络 fc-san(光纤) ip-san(iscsi:ip)效率高
故障转移域
多个节点:群集工做票数:quorum dc
实现方式:
heartbeat v1 v2 v3
群集资源:
群集ip,服务进程(服务脚本) 存储
压力测试工具:ab –c 100 –n 1000 http://172.16.100.1/index.html
Linux下集群服务之LVS详解:
1.LVS简介:
LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最先出现的自由软件项目之一。
目前有三种IP负载均衡技术(VS/NAT、VS/TUN和VS/DR);
十种调度算法(rrr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq)。
2.LVS的三种实现技术:
一、 经过NAT实现虚拟服务器(VS/NAT)
特色:
Ø IP DIP必须在同一网段,并且必须为私有地址
二、 经过直接路由实现虚拟服务器(VS/DR)
特色:
Ø RIP DIP必须在同一网段,都没必要是私有地址,
三、 经过IP隧道实现虚拟服务器(VS/TUN)
特色:
Ø IP DIP 都必须为公网地址,DIP RIP之间数据经过网络Internet传送。
3.LVS的调度算法:
在内核中的链接调度算法上,IPVS已实现了如下十种调度算法:
静态算法:只是根据算法进行调度并不考虑后端REALSERVER的实际链接状况
调度器经过"轮叫"调度算法将外部请求按顺序轮流分配到集群中的真实服务器上,它均等地对待每一台服务器,而无论服务器上实际的链接数和系统负载。
调度器经过"加权轮叫"调度算法根据真实服务器的不一样处理能力来调度访问请求。这样能够保证处理能力强的服务器处理更多的访问流量。调度器能够自动问询真实服务器的负载状况,并动态地调整其权值
"目标地址散列"调度算法根据请求的目标IP地址,做为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,不然返回空。
"源地址散列"调度算法根据请求的源IP地址,做为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,不然返回空。
动态算法:前端的调度器会根据后端REALSERVER的实际链接状况来分配请求
调度器经过"最少链接"调度算法动态地将网络请求调度到已创建的连接数最少的服务器上。若是集群系统的真实服务器具备相近的系统性能,采用"最小链接"调度算法能够较好地均衡负载。
在集群系统中的服务器性能差别较大的状况下,调度器采用"加权最少连接"调度算法优化负载均衡性能,具备较高权值的服务器将承受较大比例的活动链接负载。调度器能够自动问询真实服务器的负载状况,并动态地调整其权值。
基于SED算法的改进,不排队。Never Queue从不排队,若第二个要给没有链接数的服务器,不至于让另外一个服务器特别闲,在权重差异比较大的时候特别有用。
基于本地的最少链接,DH算法的动态算法,会计算缓存上如今处于活动链接的。
带复制的基于本地的最少链接,基于icp协议缓存复制来完成的。
4.IPVS命令用法:
-A|E –t|u vip:port -s SCHEDULING(方法)
-a | e -t|u vip:port -g|i|m (模式 dr,tun,nat)
ipvsadm -A|E -t|u|f service-address [-s scheduler]
[-p [timeout]] [-M netmask]
ipvsadm -D -t|u|f service-address
ipvsadm -C
ipvsadm -R
ipvsadm -S [-n]
ipvsadm -a|e -t|u|f service-address -r server-address
[-g|i|m] [-w weight] [-x upper] [-y lower]
ipvsadm -d -t|u|f service-address -r server-address
ipvsadm -L|l [options]
ipvsadm -Z [-t|u|f service-address]
ipvsadm --set tcp tcpfin udp
ipvsadm --start-daemon state [--mcast-interface interface]
[--syncid syncid]
ipvsadm --stop-daemon state
ipvsadm -h
-A——add-service在内核的虚拟服务器表中添加一条新的虚拟服务器记录。也就是增长一台新的虚拟服务器。
-E ——edit-service 编辑内核虚拟服务器表中的一条虚拟服务器记录。
-D ——delete-service 删除内核虚拟服务器表中的一条虚拟服务器记录。
-C ——clear清除内核虚拟服务器表中的全部记录。
-R ——restore恢复虚拟服务器规则
-Z ——zero虚拟服务表计数器清零(清空当前的链接数量等)
——set tcp tcpfin udp 设置链接超时值
——start-daemon启动同步守护进程。他后面能够是master 或backup,用来讲明LVS Router 是master 或是backup.在这个功能上也能够采用keepalived 的VRRP 功能。
——stop-daemon 中止同步守护进程
-h ——help显示帮助信息其余的选项:-t ——tcp-service service-address 说明虚拟服务器提供的是tcp 的服务[vip:port] or [real-server-ip:port] -u ——udp-service service-address 说明虚拟服务器提供的是udp 的服务[vip:port] or [real-server-ip:port] -f ——fwmark-service fwmark 说明是通过iptables 标记过的服务类型。
-s ——scheduler scheduler 使用的调度算法,有这样几个选项rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq,默认的调度算法是: wlc. -p ——persistent [timeout] 持久稳固的服务。这个选项的意思是来自同一个客户的屡次请求,将被同一台真实的服务器处理。timeout 的默认值为300 秒。
-M ——netmask netmask persistent granularity mask
-r ——real-server server-address真实的服务器[Real-Server:port]
-g ——gatewaying指定LVS 的工做模式为直接路由模式(也是LVS 默认的模式)
-i ——ipip 指定LVS 的工做模式为隧道模式-m ——masquerading 指定LVS 的工做模式为NAT 模式-w ——weight weight 真实服务器的权值——mcast-interface interface 指定组播的同步接口-c ——connection 显示LVS 目前的链接 如:ipvsadm -L -c——timeout 显示tcp tcpfin udp 的timeout 值 如:ipvsadm -L ——timeout——daemon 显示同步守护进程状态——stats 显示统计信息——rate 显示速率信息——sort 对虚拟服务器和真实服务器排序输出——numeric -n 输出IP 地址和端口的数字形式
压力测试工具:ab –c 100 –n 1000 http://172.16.100.1/index.html
LVS-DR模型