




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linux负载均衡软件LVS 主讲人 高俊峰 华章培训网 华章培训网版权所有 Linux负载均衡软件LVS 华章培训网 华章培训网版权所有 内容概述LVS集群的体系结构以及特点通过LVS Keepalived搭建高可用的负载均衡集群系统测试LVS Keepalived高可用负载均衡集群 Linux负载均衡软件LVS第二讲 通过LVS Keepalived搭建高可用的负载均衡集群系统 主讲人 高俊峰 华章培训网 华章培训网版权所有 1 安装LVS软件 1 安装前准备操作系统 统一采用Centos5 3版本 地址规划如下 更详细的信息如下图所示 图中的VIP指的是虚拟IP地址 还可以叫做LVS集群的服务IP 在DR TUN模式中 数据包是直接返回给用户的 所以 在DirectorServer上以及集群的每个节点上都需要设置这个地址 此IP在RealServer上一般绑定在回环地址上 例如lo 0 同样 在DirectorServer上 虚拟IP绑定在真实的网络接口设备上 例如eth0 0 各个RealServer可以是在同一个网段内 也可以是相互独立的网段 还可以是分布在internet上的多个服务器 通过LVS Keepalived搭建高可用的负载均衡集群系统 第4页 1 安装LVS软件 1 安装前准备安装的LVS负载均衡集群拓扑图 通过LVS Keepalived搭建高可用的负载均衡集群系统 第5页 1 安装LVS软件 2 安装操作系统需要注意的事项Centos5 3版本的Linux 内核默认支持LVS功能 为了方便编译安装IPVS管理软件 在安装操作系统时 建议选择如下这些安装包 桌面环境 xwindowssystem GNOMEdesktopenvironment 开发工具 developmenttools xsoftwaredevelopment gnomesoftware development kdesoftwaredevelopment 系统安装完毕 可以通过如下命令检查kernel是否已经支持LVS的ipvs模块 root localhost modprobe l grepipvs lib modules 2 6 18 194 11 1 el5 kernel net ipv4 ipvs ip vs ko lib modules 2 6 18 194 11 1 el5 kernel net ipv4 ipvs ip vs dh ko如果有类似上面的输出 表明系统内核已经默认支持了IPVS模块 接着就可以安装IPVS管理软件了 通过LVS Keepalived搭建高可用的负载均衡集群系统 第6页 1 安装LVS软件 3 在DirectorServe上安装IPVS管理软件IPVS提供的软件包有源码方式的也有rpm方式的 这里介绍下源码方式安装IPVS 首先从http www linuxvirtualserver org software ipvs html下载对应版本的ipvs源码 由于我们这里采用的操作系统为Centos5 3版本 因此 下载对应的ipvsadm 1 24版本 接着进行安装 root localhost tarzxvfipvsadm 1 24 tar gz root localhost cdipvsadm 1 24 root localhost make root localhost makeinstall注意 在make时可能会出现错误编译信息 这是由于编译程序找不到对应内核的原因 按照如下操作就可以正常编译 root localhost ln s usr src kernels 2 6 18 128 el5 i686 usr src linux也可以下载rpm安装包 通过rpm方式进行安装 root localhost rpm ivhipvsadm 1 24 6 1 i386 rpm然后执行 root localhost ipvsadm help如果看到帮助提示 表明IPVS已经成功安装 通过LVS Keepalived搭建高可用的负载均衡集群系统 第7页 1 安装LVS软件 4 ipvsadm的用法 通过LVS Keepalived搭建高可用的负载均衡集群系统 第8页 1 安装LVS软件 4 ipvsadm的用法举例如下 root localhost ipvsadm A t192 168 12 135 80 srr p600以上表示在内核的虚拟服务器列表中添加一条192 168 12 135的虚拟服务器记录 并且指定此虚拟服务器的服务端口为80 然后指定此虚拟服务器的调度策略为轮询调度 并且在每个realserver上的持续服务时间为600秒 即10分钟 root localhost ipvsadm A t192 168 12 188 21 swlc以上表示在内核的虚拟服务器列表中又添加了一条192 168 12 188的虚拟服务器 此虚拟服务器的服务端口为21 即FTP服务 使用的调度策略为wlc 即加权最少链接算法 root localhost ipvsadm a t192 168 12 135 80 r192 168 12 246 80 g root localhost ipvsadm a t192 168 12 135 80 r192 168 12 237 80 g以上两条设置表示在虚拟服务器192 168 12 135中添加两条新的RealServer记录 两个RealServer的IP分别为192 168 12 246和192 168 12 237 参数 g 指定了虚拟服务器的工作模式为直接路由模式 即DR模式 通过LVS Keepalived搭建高可用的负载均衡集群系统 第9页 2 开始配置LVS集群下面通过搭建www服务的负载均衡实例 讲述基于DR模式的LVS集群配置 1 DirectorServer的配置在DirectorServer上配置LVS负载均衡集群 有两种方法 通过ipvsadm命令行进行配置通过Redhat提供的工具piranha来配置LVS1 通过ipvsadm命令行方式配置LVS安装IPVS后 就可以配置LVS集群了 首先在DirectorServer上绑定一个虚拟IP 也叫VIP 此IP用于对外提供服务 执行如下命令 root localhost ifconfigeth0 0192 168 12 135broadcast192 168 12 135netmask255 255 255 255up此处在eth0设备上绑定了一个虚拟设备eth0 0 同时设置了一个虚拟IP是192 168 12 135 也就是上面我们规划的IP地址 然后指定广播地址也为192 168 12 135 需要特别注意的是 这里的子网掩码为255 255 255 255 然后给设备eth0 0指定一条路由 执行如下指令 root localhost routeadd host192 168 12 135deveth0 0 root localhost echo 1 proc sys net ipv4 ip forward指令中 参数值为1时启用ip转发 为0时禁止ip转发 其实在DR模式中 开启系统的包转发功能不是必须的 而在NAT模式下此操作是必须的 通过LVS Keepalived搭建高可用的负载均衡集群系统 第10页 2 开始配置LVS集群下面通过搭建www服务的负载均衡实例 讲述基于DR模式的LVS集群配置 1 DirectorServer的配置在DirectorServer上配置LVS负载均衡集群 有两种方法 通过ipvsadm命令行进行配置通过Redhat提供的工具piranha来配置LVS1 通过ipvsadm命令行方式配置LVS然后开始配置ipvs 执行如下操作 root localhost ipvsadm C root localhost ipvsadm A t192 168 12 135 80 srr p600 root localhost ipvsadm a t192 168 12 135 80 r192 168 12 246 80 g root localhost ipvsadm a t192 168 12 135 80 r192 168 12 237 80 g上面操作中 第一行是清除内核虚拟服务器列表中的所有记录 第二行是添加一条新的虚拟IP记录 这个新的IP是192 168 12 135 同时指定持续服务时间为600秒 第三 四行是在新加虚拟IP记录中添加两条新的RealServer记录 并且指定LVS的工作模式为直接路由模式 最后 启动LVS服务 执行如下操作 root localhost ipvsadm这样 LVS在DirectorServer上的配置就完成了 为了管理和配置的方便 可以将上面的操作写成一个脚本文件 脚本内容如下 通过LVS Keepalived搭建高可用的负载均衡集群系统 第11页 2 开始配置LVS集群 通过LVS Keepalived搭建高可用的负载均衡集群系统 第12页 2 开始配置LVS集群2 通过Redhat提供的工具piranha来配置LVSPiranha是REDHAT提供的一个基于Web的LVS配置软件 可以省去手工配置LVS的繁琐工作 同时 也可单独提供cluster功能 例如 可以通过Piranha激活DirectorServer的后备主机 也就是配置DirectorServer的双机热备功能 Piranha工具的安装非常简单 下载Piranha的rpm包 进行安装即可 root localhost rpm ivhpiranha 0 8 2 1 i386 rpmPiranha安装完毕后 会产生 etc sysconfig ha lvs cf文件 默认此文件是空的 可以通过Piranha提供的web界面配置此文件 也可以直接手动编辑此文件 编辑好的lvs cf文件内容类似如下 通过LVS Keepalived搭建高可用的负载均衡集群系统 第13页 2 开始配置LVS集群2 通过Redhat提供的工具piranha来配置LVS 通过LVS Keepalived搭建高可用的负载均衡集群系统 第14页 2 开始配置LVS集群2 通过Redhat提供的工具piranha来配置LVS 通过LVS Keepalived搭建高可用的负载均衡集群系统 第15页 2 开始配置LVS集群2 通过Redhat提供的工具piranha来配置LVS编辑完成 然后启动pulse服务 即启动lvs服务 root localhost servicepulsestart同理 此种方式下也要启用系统的包转发功能 root localhost echo 1 proc sys net ipv4 ip forward到此为止 Piranha工具方式配置DirectorServer完毕 3 Realserver的配置在lvs的DR和TUn模式下 用户的访问请求到达真实服务器后 是直接返回给用户的 而不再经过前端的DirectorServer 因此 就需要在每个Realserver节点上增加虚拟的VIP地址 这样数据才能直接返回给用户 增加VIP地址的操作可以通过创建脚本的方式来实现 创建文件 etc init d lvsrs 脚本内容如下 通过LVS Keepalived搭建高可用的负载均衡集群系统 第16页 3 Realserver的配置 bin bashVIP 192 168 12 135 sbin ifconfiglo 0 VIPbroadcast VIPnetmask255 255 255 255up sbin routeadd host VIPdevlo 0echo 1 proc sys net ipv4 conf lo arp ignoreecho 2 proc sys net ipv4 conf lo arp announceecho 1 proc sys net ipv4 conf all arp ignoreecho 2 proc sys net ipv4 conf all arp announcesysctl p end此操作是在回环设备上绑定了一个虚拟IP地址 并设定其子网掩码为255 255 255 255 与DirectorServer上的虚拟IP保持互通 然后禁止了本机的ARP请求 由于虚拟ip 也就是上面的VIP地址 是DirectorServer和所有的Realserver共享的 如果有ARP请求VIP地址时 DirectorServer与所有Realserver都做应答的话 就出现问题了 因此 需要禁止Realserver响应ARP请求 而lvsrs脚本的作用就是使RealServer不响应arp请求 通过LVS Keepalived搭建高可用的负载均衡集群系统 第17页 4 在Director上配置冗余策略Ldirectord在heartbeat中 ldirectord其实是作为它的一个插件出现的 所以它默认包含在heartbeat软件包中 Ldirectord的核心作用是监控RealServer节点状态 当RealServer失效时 把它从虚拟服务器列表中删除 恢复时重新添加到列表 同时 它还能调用ipvsadm自动创建LVS路由表 这点从下面要讲述的ldirectord cf中可以看出 这里需要说明的是 ldirectord和Piranha都具有监控RealServer的功能 如果要通过ldirectord监控节点状态 只需启动ldirectord服务 整个集群系统就可以运行起来 而无需执行上面我们配置的LVS脚本 因为ldirectord会自动调用ipvsadm创建LVS路由表 而我们上面讲述的利用ipvsadm命令行方式配置LVS 是为了让读者能更深入的了解ipvsadm的实现细节和实现机制 如果是通过Piranha工具配置LVS 就无需使用ldirectord Piranha工具对应的系统进程是pluse 此进程也会自动调用ipvsadm创建LVS路由表 同时会利用自身的nanny守护进程监控realserver的状态 ldirectord的安装非常简单 直接通过yum就可以安装完成 root localhostroot yuminstallheartbeat ldirectord安装完成后 默认的安装路径为 etc ha d 同时需要将模板配置文件拷贝到这个目录下 执行如下命令 root localhostroot rpm qheartbeat ldirectord d usr share doc heartbeat ldirectord 2 1 3 ldirectord cf usr share man man8 ldirectord 8 gz root localhostroot cp usr share doc heartbeat ldirectord 2 1 3 ldirectord cf etc ha d可以通过执行如下命令启动或关闭ldirectord服务 etc init d ldirectord start stop Ldirectord的配置文件是 etc ha d ldirectord cf 下面详述下这个文件每个参数的含义 通过LVS Keepalived搭建高可用的负载均衡集群系统 第18页 4 在Director上配置冗余策略Ldirectord下面是需要配置的选项 注意 号后面的内容为注释 GlobalDirectiveschecktimeout 20 判定realserver出错的时间间隔 checkinterval 10 指定ldirectord在两次检查之间的间隔时间 fallback 127 0 0 1 80 当所有的realserver节点不能工作时 web服务重定向的地址 autoreload yes 是否自动重载配置文件 选yes时 配置文件发生变化 自动载入配置信息 logfile var log ldirectord log 设定ldirectord日志输出文件路径 quiescent no 当选择no时 如果一个节点在checktimeout设置的时间周期内没有响应 ldirectord将会从LVS的路由表中直接移除realserver 此时 将中断现有的客户端连接 并使LVS丢掉所有的连接跟踪记录和持续连接模板 如果选择为yes 当某个realserver失效时 ldirectord将失效节点的权值设置为0 新的连接将不能到达 但是并不从LVS路由表中清除此节点 同时 连接跟踪记录和程序连接模板仍然保留在Director上 注意 以上几行为ldirectord cf文件的 全局 设置 它们可以应用到下面多个虚拟主机 下面是每个虚拟主机的配置 通过LVS Keepalived搭建高可用的负载均衡集群系统 第19页 4 在Director上配置冗余策略Ldirectord下面是需要配置的选项 注意 号后面的内容为注释 Sampleforanhttpvirtualservicevirtual 192 168 12 135 80 指定虚拟的IP地址和端口号 注意 在virtual行后面的行必须缩进4个空格或以一个tab字符进行标记 real 192 168 12 246 80gate 指定RealServer服务器地址和端口 同时设定LVS工作模式 用gate表示DR模式 ipip表示TUNL模式 masq表示NAT模式 real 192 168 12 237 80gatefallback 127 0 0 1 80gateservice http 指定服务的类型 这里是对http服务做负载均衡 request index html ldirectord将根据指定的RealServer地址 结合该选项给出的请求路径 发送访问请求 检查RealServer上的服务是否正常运行 确保这里给出的页面地址是可访问的 不然ldirectord会误认为此节点已经失效 发生错误监控现象 receive TestPage 指定请求和应答字串 scheduler rr 指定调度算法 这里是rr 轮叫 算法 protocol tcp 指定协议的类型 LVS支持TCP和UDP协议 checktype negotiate 指定Ldirectord的检测类型 默认为negotiate checkport 80 指定监控的端口号 virtualhost 虚拟服务器的名称 随便指定 通过LVS Keepalived搭建高可用的负载均衡集群系统 第20页 5 启动LVS集群服务LVS负载均衡管理和使用有两种方式 这里以Piranha工具为主进行介绍 首先 启动每个realserver节点的服务 root localhost etc init d lvsrsstartstartLVSofREALServer然后 在DirectorServer启动pulse服务 root DR1 etc init d pulsestart root DR1 ipvsadm LIPVirtualServerversion1 2 0 size 4096 ProtLocalAddress PortSchedulerFlags RemoteAddress PortForwardWeightActiveConnInActConnTCP192 168 12 135 httprrpersistent600 192 168 12 246 httpRoute1322 192 168 12 237 httpRoute1910 通过LVS Keepalived搭建高可用的负载均衡集群系统 第21页 5 启动LVS集群服务此时查看pulse服务的系统日志信息如下 root localhost tail f var log messagesNov2215 52 55lvslvs 7031 active 80Nov2215 52 55lvslvs 7031 create 通过LVS Keepalived搭建高可用的负载均衡集群系统 第22页 6 LVS Keepalived构建拓扑图 通过LVS Keepalived搭建高可用的负载均衡集群系统 第23页 7 安装Keepalivedkeepalived起初是为LVS设计的 专门用来监控集群系统中各个服务节点的状态 后来又加入了VRRP的功能 VRRP是VirtualRouterRedundancyProtocol 虚拟路由器冗余协议 的缩写 VRRP出现的目的就是为了解决静态路由出现的单点故障问题 它能够保证网络的不间断 稳定的运行 所以 keepalived一方面具有服务器健康检测功能 另一方面也具有HAcluster功能 Keepalived的官方站点是http www keepalived org 可以在这里下载到各种版本 我们这里下载的是keepalived 1 1 19 tar gz 安装步骤如下 root DR1 tarzxvfkeepalived 1 1 19 tar gz root DR1 cdkeepalived 1 1 19 root DR1keepalived 1 1 19 configure sysconf etc with kernel dir usr src kernels 2 6 18 8 el5 i686 root DR1keepalived 1 1 19 make root DR1keepalived 1 1 19 makeinstall root DR1keepalived 1 1 19 ln s usr local sbin keepalived sbin 在编译选项中 sysconf 指定了Keepalived配置文件的安装路径 即路径为 etc Keepalived Keepalived conf with kernel dir 这是个很重要的参数 但这个参数并不是要把Keepalived编译进内核 而是指定使用内核源码里面的头文件 就是include目录 如果要使用LVS时 才需要用到此参数 否则是不需要的 通过LVS Keepalived搭建高可用的负载均衡集群系统 第24页 8 配置KeepalivedKeepalived的配置非常简单 仅仅需要一个配置文件即可完成HAcluster和lvs服务节点监控功能 Keepalived的安装已经在上面章节进行了介绍 在通过Keepalived搭建高可用的LVS集群实例中 主 备DirectorServer都需要安装Keepalived软件 安装成功后 默认的配置文件路径为 etc Keepalived Keepalived conf 一个完整的keepalived配置文件 有三个部分组成 分别是全局定义部分 vrrp实例定义部分以及虚拟服务器定义部分 下面详细介绍下这个配置文件中每个选项的详细含义和用法 通过LVS Keepalived搭建高可用的负载均衡集群系统 第25页 8 配置Keepali
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 环境灾害应急物资储备库建设国家标准重点基础知识点归纳
- 乐趣与色彩春节淡蓝故事
- 土木工程项目中的BIM技术标准化应用
- 公司股权激励项目方案
- 春节里的淡蓝梦幻
- 外墙防水分格缝设置
- 保险公司新春年货活动方案
- 保险公司美食汇活动方案
- 保险公司高客活动方案
- 保险沙龙活动方案
- 关于若干历史问题的决议(1945年)
- 云南省昆明市成考专升本2023年医学综合真题及答案
- 气管切开非机械通气患者气道护理规范(2020年版指南解读)
- 班主任基本功比赛专题培训:育人故事+带班方略+主题班会+案例答辩+才艺展示
- 儿童意外伤害预防
- 尾矿库各岗位安全操作规程安全作业指导书
- 建筑工程施工质量检查与验收手册
- 最全的公路工程施工资料目录整理
- PMS在线粒子监测系统方案
- GB/T 16741-1997双面涂覆聚氯乙烯阻燃防水布、篷布
- GB 2811-1989安全帽
评论
0/150
提交评论