集群概念课件1、linux化_第1页
集群概念课件1、linux化_第2页
集群概念课件1、linux化_第3页
集群概念课件1、linux化_第4页
集群概念课件1、linux化_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2、集群的分类4负载均衡集群 - LBC4高可用集群 HAC5高性能运算集群 HPC6二、负载均衡集群61、LVS 相关原理62、LVS 工作方式6LVS DR 模式7LVS NAT 模式8LVS TUN 模式8LVS 实验构建9LVS NAT 模式集群构建9LVS DR 模式集群构建10三、4、负载均衡集群相关调度算法12 静态调度算法12动态调度算法125、LVS 持久连接13 持久客户端连接13 持久端口连接13持久标记连接13三、高可用集群141、Keepalived 相关说明14相关介绍14实现原理142、Keepalived + LVS 高可用实验构建15 实验构建设计图15 实验

2、构建代码153、HeartBeat + Nginx 实验构建18 实验构建说明18 实验代码构建18一、集群概述1、集群是什么?定义:一组协同工作的服务器,对外表现为一个整体集群的意义:更好的利用现有资源实现服务的高度可用集群扩展方式垂直扩展:更换服务器硬件水平扩展:添加的服务器节点常见的集群拓扑2、集群的分类负载均衡集群 - LBC使用意图:减轻单台服务器的压力,将用户请求分担给多台主机一起处理实现方法:LVSRACNginx硬件:F5BIG-IP负载均衡集群架构拓扑调度器分类触发条件不同四层:传输层IP+PORT七层:应用层URL实现原理不同四层:TCP 连接只建立一次,客户端和正式服务器

3、七层:TCP 连接建立两次,客户端和负载调度器 负载调度器和真实服务器实现场景不同四层:TCP 应用 如:基于 C/S 机构的系统七层:HTTP 应用 如:根据用户的方式,判断用户语言安全性不同四层:转发 SYN七层:可以SYN使用范围:业务并发较大的应用程序高可用集群 HAC使用意图:最大限度的保证用户的应用持久,不间断的提供服务最大限度99%9987.6 小时99.9%9998.8 小时99.99%999953 分钟99.999%999995 分钟实现原理:心跳检测实现方法heartbeatlinux-HARHCSROSEkeepalived硬件F5特殊情况:脑可能出现:数据不完整、数据不

4、可解决方法:预防:冗余、:电源交换机使用范围:需要持续提供服务的应用程序高性能运算集群 HPC使用意图:提供单台计算机所不具备的计算能力LBC 与 HAC 的原理对比:负载均衡集群通过提高时间内执行的任务数来效率高性能运算集群通过缩短单个任务的执行时间来提高效率使用范围:天气计算、火箭弹道演算二、负载均衡集群1、LVS 相关原理LVS 的组成IPVS:运行在内核空间IPVSADM:运行在用户空间,管理集群服务令行工具LVS 的原理:根据用户请求的套接字判断,分流至真实服务器的工作模块2、LVS 工作方式工作模式LVS DR模式工作逻辑图模式特点集群节点,必须在一个网络中真实服务器网关指向路由器

5、RIP 既可以是私网地址,又可以是公网地址负载调度器只负责入站请求大大减轻负载调度器压力,支持的服务器节点 LVS NAT 模式工作逻辑图模式特点集群节点,必须在一个网络中真实服务器必须将网关指向负载调度器RIP 通常都是私有 IP,仅用于各个集群节点通信负载调度器必须位于客户端和真实服务器之间,充当网关支持端口负载调度器操作系统必须是Linux ,真实服务器可以使用任意系统 LVS TUN 模式工作逻辑图模式特点集群节点不必位于同一个物理网络但必须都拥有公网 IP(或都可以被路由)真实服务器不能将RIP 必须是公网地址指向负载调度器负载调度器只负责入站请求不支持端口功能发送方和接收方必须支持

6、隧道功能LVS三、实验构建LVS NAT 模式集群构建实验架构图构建代码负载调度器vi /etc/sysctl.conf# 开启路由转发功能net.ipv4.ip_forward=1sysctl -piptables -t nat -ATROUTING -s /24 -o eth0-j SNAT -to-source 1# 添加转换源地址为,当源地址是 内网网段 并且出口网卡为 eth0 的时候进行 SNAT 转换,卡地址iptables -t nat -L# 查看是否保存成功ipvsadm -A -t 1:80 -s rr# 添加 ipvsadm TCP 集群ipvsadm -a -t 1:

7、80 -r 2:80 -mipvsadm -Ln# 添加 ipvsadm 节点service ipvsadm savechkconfig ipvsadm on#保存 ipvs 集群设置到文件进行持久化真实服务器route add default gw IP 地址# 指定网关至负载调度器service httpd startchkconfig httpd on#开启 Apache 服务器LVS DR模式集群构建实验架构图构建代码负载调度器service NetworkManager stop# 关闭网卡守护进程cd /etc/sysconfig/network-scripts/ cp ifcfg

8、-eth0 ifcfg-eth0:0vim ifcfg-eth0:0DEVICE=eth0:0 IPADDR=虚拟 IP NETMASK=ifup eth0:0# 拷贝 eth0 网卡子接口充当集群接口vim /etc/sysctl.conf# 关闭网卡重定向功能net.ipv4.conf.all.send_redirects = 0net.ipv4.conf.defauld_redirects = 0net.ipv4.conf.eth0.send_redirects = 0sysctl -pmodprobe ip_vs# 重载 ipvs 模块rpm -ivh ipvsadm-1.26l.#

9、安装 ipvsadm 命令行工具ipvsadm -v# 查看当前 ipvs ipvsadm -A -t 虚拟 IP:80 -s rr ipvsadm -a -t 虚拟 IP:80 -r ipvsadm -a -t 虚拟 IP:80 -r ipvsadm -Lnservice ipvsadm save# 保存集群内容# 添加 ipvs TCP 集群1:80 -g2:80 -g# 添加 ipvsadm 集群子节点ipvs 集群内容至文件,进行持久化chkconfig ipvsadm on# 设置为开机自启真实服务器service NetworkManager stopcd /etc/sysconf

10、ig/network-scripts/ cp ifcfg-lo ifcfg-lo:0# 关闭网卡守护进程vim ifcfg-lo:0DEVICE=lo:0# 拷贝回环网卡子接口IPADDR=虚拟 IPNETMASK=55vim /etc/sysctl.conf # 关闭对应 ARP 响应及公告功能net.ipv4.conf.all.arp_ignore = 1net.ipv4.conf.all.arp_announce = 2net.ipv4.conf.default.arp_ignore = 1net.ipv4.conf.default.arp_announce = 2net.ipv4.co

11、nf.lo.arp_ignore = 1net.ipv4.conf.lo.arp_announce = 2 sysctl -pifup lo: 0route add -host 虚拟 IP dev lo:0service httpd start# 添加路由,当VIP 交给lo:0 网卡接受4、负载均衡集群相关调度算法 静态调度算法特点:只根据算法本身去调度,不考虑服务器本身算法说明RR轮询:将每次用户的请求分配给后端的服务器,从第一台服务器开始到第N 台结束,然后循环WRR轮询:按照权重的比例实现在多台主机之间进行调度SH(source hash)源地址散列:将同一个 IP 的用户请求,发送给

12、同一个服务器DH(destination hash)目标地址散列:将同一个目标地址的用户请求发送给同一个真实服务器(提高缓存中率)动态调度算法特点:除了考虑算法本身,还要考虑服务器状态算法说明LC(lest-connection)最少连接:将新的连接请求,分配给连接数最少的服务器接 256 + 非活动连接活动连WLC最少连接:特殊的最少连接算法,权重越大承担的请求数越多(活动连接 256 + 非活动连接 ) /权重SED 最短期望延迟:特殊的WLC 算法 (活动连接 + 1) *256 /权重NQ 永不排队:特殊的 SED 算法,无需等待,如果有真实服务器的连接数等于 0 那就直接分配不需要运

13、算LBLC 特殊的DH 算法:即能提高缓存,又要考虑服务器性能LBLCRLBLC+缓存:尽可能提高负载均衡和缓存的折中方案5、LVS 持久连接 持久客户端连接定义:每客户端持久;将来自于同一个客户端的所有请求统统定向至此前选定的 RS;也就是只要 IP相同,分配的服务器始终相同演示代码ipvsadm -A -t :0 -s wlc -p 120# 添加一个 tcp 负载集群,集群地址为 ,算法为 wlc,持久化时间为 120s 持久端口连接定义:每端口持久;将来自于同一个客户端对同一个服务(端口)的请求,始终定向至此前选定的 RS演示代码ipvsadm -A -t :80 -s rr -p 1

14、20算法为 wlc,持久化时间为 120s# 添加一个 tcp 负载集群,集群地址为 :80 ,持久标记连接定义:将来自于同一客户端对指定服务(端口)的请求,始终定向至此选定的 RS;不过它可以将两个毫不相干的端口定义为一个集群服务演示代码iptables -t mangle -A PREROUTING -d -p tcp -dport 80 -j MARK -set-mark 10# 添加一个规则,当目标地址为 并且 目标端口为 80 时给数据包打一个标记,设置mark 值为 10iptables -t mangle -A PREROUTING -d -p tcp -dport 443 -j

15、 MARK -set-mark 10# 添加一个规则,当目标地址为 并且 目标端口为 443时给数据包打一个标记,设置mark 值为 10service iptables save# 保存规则持久化生效# 添加一个负载调度器,当 markipvsadm -A -f 10 -s wlc -p 120值为10时进行负载均衡使用wlc 算法,持久化生效时间为 120s三、高可用集群1、Keepalived 相关说明相关介绍案例环境专为 LVS 和HA 设计的一款健康检查工具支持故障自动切换(Failover)支持节点健康状态检查(Health Checking):实现原理VRRP(Virtual R

16、outer Redundancy Protocol,虚拟路由冗余协议)一主 + 多备,共用同一个 IP 地址,但优先级不同2、Keepalived + LVS高可用实验构建实验构建设计图 实验构建代码构建前提先构建 LVS-DR 模式的负载均衡集群,可参照上文进行构建负载调度器-1yum -y install kernel-devel openssl-devel popt-devel gcc*# 安装相关keepalived 依赖tar -zxf keepalived.cd keep.# 源码安装 Keepalived./configure -prefix=/ -with-kernel-dir

17、=/usr /src/kernels/2.6.32./makemake installchkconfig -add keepalived# 设置 Keepalived 开机自启chkconfig keepalived onvi /etc/keepalived/keepalived.conf global_defs # 修改 Keepalived配置router_id R1#命名主机名vrrp_instance VI-1 se MASTER# 设置服务类型主/从(MASTER/SLAVE)erface eth0virtual_router_id# 指定那块网卡用来66# 设置组号, 如果是一组就

18、是相同的 ID 号,一个主里面只能有一个主服务器和多个从服务器priority 100# 服务器优先级, 主服务器优先级高# 心跳时间, 检测对方存活# 存活验证advert_1authenticetionauth_type PASSauth_pass 1111virtual_ipaddress 00#设置集群地址virtual_server 00 80 # 设置集群地址 以及端delay_loop 6 lb_algorr lb_kind DRprotocol TCP# 健康检查间隔 # 使用轮询调度算法 # DR 模式的群集# 使用的协议real_server 80 # 管理的节点以及使用端

19、口weight 1# 权重, 优先级 在原文件基础上删除修改TCP_CHECK # 状态检查方式connect_port 80# 检查的目标端口connect_timeout 3nb_get_retry 3# 连接超时(秒)重试次数#delay_before_retry 4# 重试间隔(秒)real_server 80 # 管理的第二个节点以及使用端口weight 1# 权重, 优先级 在原文件基础上删除修改TCP_CHECK #connect_port 80connect_timeout 3nb_get_retry 3delay_before_retry 4状态检查方式# 检查的目标端口#

20、连接超时(秒)# 重试次数# 重试间隔(秒)* 多余删除scp keepalived.conf.xx: /etc/keepalived/负载调度器-2yum -y install kernel-devel openssl-devel popt-devel gcc*# 安装相关 keepalived 依赖tar -zxf keepalived.cd keep.# 源码安装 Keepalived./configure -prefix=/ -with-kernel-dir=/usr /src/kernels/2.6.32./makemake installchkconfig -add keepali

21、vedchkconfig keepalived on# 设置 Keepalived 开机自启修改从 负载调度器-1 拷贝的 Keepalived 配置文件 vi /etc/keepalived/keepalived.conf修改 1:se MASTER修改至 se SLAVE修改 2:priority 100 修改至 priority 47一般建议与主服务器差值为 50service NetworkManager stopcd /etc/sysconfig/network-scripts/ cp ifcfg-eth0 ifcfg-eth0:0# 启动虚拟借口,必须关闭此服务vim ifcfg-

22、eth0:0# 配置虚拟借口DEVICE=eth0:0IPADDR=虚拟 IPNETMASK=ifup eth0:0# 启动虚拟网卡vi /etc/sysconfig/network-script/ifup-eth注释此区域# 如果 报错修改文件 257vim /etc/sysctl.conf 修改内核参数。 防止相同网络地址广播net.ipv4.conf.eth0.send_redirects = 0net.ipv4.conf.all.send_redirects = 0, 如果有多快网卡需要设置多行net.ipv4.conf.defauld_redirects = 0net.ipv4.conf.eth0.send_redirects = 0 sysctl -p 刷新内核参数modprobe ip_vs 查看内核是否加载, 无法应则以加载cat /proc/net/ip_vs 参看版本, 确认知否正确加载cd /mnt/cdrom/Packages/ 进入光盘挂载目录rpm -ivh ipvsadm-1.26l安装 ipvsadm 管理工具ipvsadm -vipvsadm -A -t 虚拟 IP:80 -s rripvsadm -Ln 查看设置的 ipvsadm 如果没有子项, 那么手动添加ipvsadm -a -t 虚拟

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论