软负载均衡技术实现.ppt

上传人:本田雅阁 文档编号:3303132 上传时间:2019-08-10 格式:PPT 页数:66 大小:2.87MB
返回 下载 相关 举报
软负载均衡技术实现.ppt_第1页
第1页 / 共66页
软负载均衡技术实现.ppt_第2页
第2页 / 共66页
软负载均衡技术实现.ppt_第3页
第3页 / 共66页
软负载均衡技术实现.ppt_第4页
第4页 / 共66页
软负载均衡技术实现.ppt_第5页
第5页 / 共66页
点击查看更多>>
资源描述

《软负载均衡技术实现.ppt》由会员分享,可在线阅读,更多相关《软负载均衡技术实现.ppt(66页珍藏版)》请在三一文库上搜索。

1、软负载均衡技术实现,2014年01月 周洋,内容大纲,网站工作原理 负载均衡概述 DNS负载均衡 Apache负载均衡 Nginx负载均衡 LVS负载均衡 Squid负载均衡 数据库负载均衡,网站工作原理-一次请求访问,浏览器 输入地址,DNS 查找网站,服务器 响应请求,数据库 数据访问,用户交互,负载均衡,图片服务器 代理/缓存,图片,文件服务器,静态页面、文档等,Web服务器,应用服务器,缓存,数据库服务器,网站工作原理-网络,网站工作原理-网络,IP: 无连接、不可靠、寻址与路由、分段与重组 TCP: 面向连接、传输数据、可靠、TCP握手 UDP 无连接、传输数据、不可靠 DNS IP

2、地址映射、域名结构、DNS查询 速度、带宽、延迟 带宽:指给定连接在特定时间内能够传输的数据总量,通常用比特每秒来衡量 延迟:指给定请求收到响应所需要的时间,网站工作原理-HTML和web,HTML 特征:简单规范、基于文本、链接、超文本 HTML5: 实际指的是包括HTML、CSS和JavaScript在内的一套技术组合,希望能 够减少浏览器对于需要插件的丰富性网络应用服务,并且追加了本地数据 库等 Web 应用的功能 web内容 静态内容:图片、CSS、JS 动态内容:响应请求创建 加速动态内容:缓存,网站工作原理-影响网站性能因素,影响网站性能因素,除去硬件和通信部分,大概有以下: 高访

3、问高并发 用户访问量高,事务处理复杂占时 缓存 使用缓存可减小对服务器资源的消耗,大大提高网站性能 动态静态内容 划分动态静态资源,静态内容不应和应用服务放一起 图片分离 图片资源占用I/O和带宽,需要单独分离 数据库 数据库是一个很大瓶颈,数据库必须在硬盘上四处搜寻数据,负载均衡概述-负载均衡,负载均衡( Load Balance,又称为负载分担),其意思就是将负载(工作任务)进行平衡、分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。,需要说明的是:负载均衡设备不是基础网络设备,而是一种性能优化设备。对于网络应用而

4、言,并不是一开始就需要负载均衡,当网络应用的访问量不断增长,单个处理单元无法满足负载需求时,网络应用流量将要出现瓶颈时,负载均衡才会起到作用。,负载均衡有两方面的含义:首先,单个重负载的运算分担到多台节点设备上做并行处理,每个节点设备处理结束后,将结果汇总,返回给用户,系统处理能力得到大幅度提高,这就是常说的集群(clustering)技术。第二层含义就是:大量的并发访问或数据流量分担到多台节点设备上分别处理,减少用户等待响应的时间,这主要针对Web服务器、FTP服务器、企业关键应用服务器等网络应用。,负载均衡概述-一些概念,正向代理 是一个位于客户端和原始服务器(origin server)

5、之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。 反向代理 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。 纵向扩展 指企业后端大型服务器以增加处理器等运算资源进行升级以获得对应用性能的要求。 横向扩展 指企业可以根据需求增加不同的服务器应用,依靠多部服务器协同运算

6、,借助负载均衡及容错等功能来提高运算能力及可靠度。 去IOE IBM是服务器提供商,Oracle是数据库软件提供商,EMC则是存储设备提供商,三者构成了一个从软件到硬件的企业数据库系统。“去IOE”运动就是用成本更加低廉的软件,以消除“IOE”对自己数据库系统的垄断。 集群 集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高可用性和可缩放性。 高可用HA 高可用性H.A.(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的

7、停机时间,以提高系统和应用的可用性。,负载均衡概述-技术实现,硬件 产品:F5 BIG-IP、A10、NetScaler等 特点:性能高、维护方便、价格昂贵 软件 产品:apache、nginx、LVS、squid等 特点:性能比硬件要差、开源免费、维护相对硬件复杂 四层负载均衡 所谓四层负载均衡,也就是主要通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。四层交换机主要分析IP层及RTCP/UDP层,实现四层流量负载均衡。 七层负载均衡 所谓七层负载均衡,也称为“内容交换”, 也就是主要通过报文中的真正有意义的应用 层内容,再加上负载均衡设备设置的

8、服务器 选择方式,决定最终选择的内部服务器。七 层交换机除了支持四层负载均衡以外,还有 分析应用层的信息,如HTTP协议URI或 Cookie信息。,负载均衡概述-技术实现,硬件七层负载均衡对比: NetScaler,负载均衡概述-技术实现,软件七层负载均衡对比: Nginx,负载均衡概述-可用的计算资源,服务器通常有四部分主要的资源,处理器、内存、网络和存储,了解这些资源情况,才能更好的利用,负载均衡才有意义。,DNS负载均衡,DNS负载均衡,它的工作机制非常简单,使用一种称为轮转的方式,来向特定域的一组服务器分发连接请求。这种操作是顺序执行的,要想服务器增加基于DNS的负载均衡,只需为域增

9、加多个A记录即可,BIND会负责完成其他工作。 DNS服务器软件:BIND(Berkeley Internet Name Domain伯克利互联网域名守护进程) 记录类型:NS记录代表名称服务器记录;MX记录代表邮件收发器记录; A记录将一个IP地址和一个域名链接起来;CNAME记录代表规范名称或别名; 优点: 简单、易于调试、容易扩展 缺点: 会话保持 负载处理方式(分配不均) 容错性(无法判别宕机),DNS负载均衡,查询域名 dig .hk 遍历查询 dig .hk +trace 测试DNS:nslookup 127.0.0.1,apache负载均衡,apache,jk2,tomcat,

10、apache负载均衡,主机配置 主机1: rhel5,ip:192.3.4.41 子网掩码:255.255.255.128,默认网关:192.3.4.10 主机2: centos6.4,ip:192.3.4.42 子网掩码:255.255.255.128,默认网关:192.3.4.10 客户机: win7,ip:192.3.4.59 子网掩码:255.255.255.128,默认网关:192.3.4.10 三个主机可以相互访问,安装JDK (jdk-1_5_0_22-linux-i586-rpm.bin)主机1和主机2均安装 安装tomcat (apache-tomcat-6.0.18-lin

11、ux.zip)主机1和主机2均安装,apache负载均衡,安装apache (httpd-2.2.26.tar.gz) rhel5(192.3.4.41)上安装 下载httpd-2.2.26.tar.gz 把httpd-2.2.26.tar.gz放到/soft 下 rootlocalhost #cd /soft rootlocalhost soft#tar zxvf httpd-2.2.26.tar.gz /解压apache的压缩包 rootlocalhost soft#cd httpd-2.2.6 /定位到httpd-2.2.6 文件夹下 rootlocalhost httpd-2.2.6#

12、./configure -prefix=/usr/local/apache -enable-so / 配置apache路径 rootlocalhost httpd-2.2.6#make /编译apache rootlocalhost httpd-2.2.6#make install /安装apache rootlocalhost httpd-2.2.6#cd /usr/local/apache /进入apache的目录 rootlocalhost apache# cd conf/ rootlocalhost conf#cp -a httpd.conf httpd.conf- /备份apache

13、配置文件 rootlocalhost conf#chkconfig -list httpd /查看httpd服务是否已存在 rootlocalhost conf#chkconfig httpd off /关闭系统自带了httpd的服务,如果存在httpd服务 rootlocalhost conf#service httpd status /查看自带httpd服务状态 rootlocalhost conf#/usr/local/apache/bin/apachectl -k start /linux启动apache命令 rootlocalhost conf#netstat -an | grep

14、:80 /查看linux80端口是否开启 rootlocalhost conf#ps -aux | grep httpd /linux下查看apache进程,apache负载均衡,安装jk2(tomcat-connectors-1.2.26-src.tar.gz)rhel5上安装 tar zxvf tomcat-connectors-1.2.26-src.tar.gz cd tomcat-connectors-1.2.26-src cd native ./configure -with-apxs=/usr/local/apache/bin/apxs -with-java-home=/usr/j

15、ava/jdk1.5.0_22 -with-java-platform=2 -enable-jni make cp apache-2.0/mod_jk.so /usr/local/apache/modules/ 注:如果此处的mod_jk.so是通过其它方法或者途径得到的,在后面启动apache的时候可能会提示:Cannot load /usr/local/termite/apache/modules/mod_jk.so into server: /usr/local/termite/apache/modules/mod_jk.so: invalid ELF header file mod_j

16、k.so 可能会显示 mod_jk.so: MS-DOS executable (EXE), OS/2 or MS Windows 而正确的应该显示mod_jk.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped cd /usr/local/apache/modules chmod 755 mod_jk.so,apache负载均衡,配置jk2 在/usr/local/apache/conf目录下新建mod_jk.conf文件,内容如下: LoadModule jk_module module

17、s/mod_jk.so JkWorkersFile conf/workers.properties JkMount /*.jsp controller JkMount /jkstatus status JkLogFile logs/mod_jk.log #Set the jk log level debug/error/info JkLogLevel debug #Select the log format JkLogStampFormat “%a %b %d %H:%M:%S %Y “ #JkOptions indicate to send SSL KEY SIZE, JkOptions +

18、ForwardKeySize +ForwardURICompat -ForwardDirectories #JkRequestLogFormat set the request format JkRequestLogFormat “%w %V %T“ 在/usr/local/apache/conf目录下httpd.conf文件末尾添加如下内容: #jk_module Include conf/mod_jk.conf,apache负载均衡,配置jk2 在/usr/local/apache/conf目录下新建workers.properties文件,内容如下: worker.list = cont

19、roller,status #=tomcat1= worker.tomcat1.port=8009 worker.tomcat1.host=192.3.4.41 worker.tomcat1.type=ajp13 worker.tomcat1.lbfactor = 1 #=tomcat2= worker.tomcat2.port=8009 worker.tomcat2.host=192.3.4.42 worker.tomcat2.type=ajp13 worker.tomcat2.lbfactor = 1 #=controller= worker.controller.type=lb work

20、er.controller.balanced_workers=tomcat2,tomcat1 worker.controller.sticky_session=1 #worker.controller.sticky_session_force=1 #- worker.status.type=status,apache负载均衡,Ajp13协议,8009端口监听,apache负载均衡,测试负载均衡 在Tomcat1和Tomcat2下新建站点 tomcat/webapps目录下新建test目录, test目录列表:index.jsp、WEB-INF, WEB-INF目录下web.xml文件,Tomc

21、at1 index.jsp Tomcat 1 ,Tomcat2 index.jsp Tomcat 2 ,web.xml index.jsp ,apache负载均衡,测试负载均衡 启动Tomcat1, Tomcat2 和Apache服务 Apache服务器ip:192.3.4.41 端口70 service apache start Tomcat1服务器ip:192.3.4.41 端口8080 ./startup.sh Tomcat2服务器ip:192.3.4.42 端口8080 ./startup.sh 首先验证Apache服务器的静态页面是否正常,访问:http:/192.3.4.41:70

22、/(若局域网内不能访问请检查防火墙设置) 验证tomcat和apache配置提供负载均衡,用不同的终端访问http:/192.3.4.41/test/index.jsp 如果你看到红色的页面,表示为tomcat1 服务器返回的, 如果你看到l蓝色的页面,表示为tomcat2 服务器返回的。 停止其中一台Tomcat服务,继续访问,验证负载均衡是否停止对失效服务的分发请求,apache负载均衡,Jkstatus 通过 jkstatus 可以监控 JK 目前的工作状态以及对到 tomcat 的连接进行设置 访问http:/192.3.4.41/jkstatus (http:/192.3.4.41:

23、70/jkstatus),apache负载均衡,配置tomcat绑定session 注意会话复制会消耗一定性能;会话保持和session独立管理都可以解决此类问题。 修改tomcat1, tomcat2的server.xml(tomcat/conf),tomcat1替换第一个如下: ,tomcat2替换第一个如下: ,apache负载均衡,tomcat1和tomcat2替换如下:,apache负载均衡,tomcat1和tomcat2替换如下:,修改tomcat1, tomcat2测试项目中的WEB-INF/web.xml 在web.xml加入 即可,apache负载均衡,测试tomcat绑定s

24、ession 重启apache,tomcat1,tomcat2, 用不同的终端访问:http:/192.3.4.41:70/test/index.jsp 可以看到Tomcat终端不再打印null,一方设置session双方都打印出session,实现session共享。 tail f tomcat/logs/catalina.out,Nginx负载均衡,使用Nginx做七层负载均衡的理由 高并发连接:官方测试能够支撑5万并发连接,在实际生产环境中跑到23万并发连接数。 内存消耗少:在3万并发连接下,开启的10个Nginx 进程才消耗150M内存(15M*10=150M)。 配置文件非常简单:风

25、格跟程序一样通俗易懂。 成本低廉:Nginx为开源软件,可以免费使用。而购买F5 BIG-IP、NetScaler等硬件负载均衡交换机则需要十多万至几十万人民币。 支持Rewrite重写规则:能够根据域名、URL的不同,将 HTTP 请求分到不同的后端服务器群组。 内置的健康检查功能:如果 Nginx Proxy 后端的某台 Web 服务器宕机了,不会影响前端访问。 节省带宽:支持 GZIP 压缩,可以添加浏览器本地缓存的 Header 头。 稳定性高:用于反向代理,宕机的概率微乎其微。,Nginx负载均衡,nginx,tomcat,Nginx负载均衡,Nginx高可用集群,Nginx负载均衡

26、,安装nginx ( nginx-1.4.4.tar.gz ) centos6.4(192.3.4.42)上安装 安装编译用到的包 rpm安装: rpm ivh 包名 安装pcre(pcre-8.33.tar.gz) 为了确保能在nginx中使用正则表达式进行更灵活的配置,安装之前需要确定系统是否安装有PCRE包。 检查是否已经安装:pcretest C,tar -xzf pcre-8.33.tar.gz cd pcre-8.33 ./configure -enable-utf8 -enable-unicode-properties make & make install,Nginx负载均衡,

27、安装nginx ( nginx-1.4.4.tar.gz ) centos6.4(192.3.4.42)上安装 安装nginx,创建供Nginx使用的组和帐号: /usr/sbin/groupadd ngx -g 48 /usr/sbin/useradd -u 48 -g ngx ngx,配置: ./configure -user=ngx -group=ngx -prefix=/usr/local/nginx -with-http_stub_status_module -without-http_gzip_module with-pcre=/home/zhouyang/software/pcr

28、e-8.32 /注意pcre的目录是源码目录的位置 不是安装后的位置 编译安装: make & make install,Nginx负载均衡,配置nginx 备份nginx.conf文件 cp nginx.conf nginx.conf.bak 配置nginx.conf文件,upstream backend_server server 192.3.4.41:8080 weight=1 max_fails=2 fail_timeout=30s; server 192.3.4.42:8080 weight=1 max_fails=2 fail_timeout=30s; #ip_hash; serv

29、er listen 80; server_name 192.3.4.42; index index.html index.htm; #root /usr/local/www/web/ROOT; root html;,Nginx负载均衡,location / proxy_next_upstream http_502 http_504 error timeout invalid_header; proxy_cache cache_one; proxy_cache_valid 200 304 12h; proxy_cache_key $host$uri$is_args$args; proxy_set

30、_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_pass http:/backend_server; expires 1d; location .*.(php|jsp|cgi)?$ proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_pass http:/backend_server; access_log off; ,Nginx负载均衡,测试配置是否正确,/usr/local/ngin

31、x/sbin/nginx t 如果屏幕显示以下两行信息,说明配置文件正确: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok the configuration file /usr/local/nginx/conf/nginx.conf was tested successfully,测试Nginx 启动NGINX /usr/local/nginx/sbin/nginx 关闭NGINX /usr/local/nginx/sbin/nginx -s stop 重启NGINX /usr/local/nginx/

32、sbin/nginx -s relo,Nginx负载均衡,不中断服务平滑修改Nginx配置(未测试) 修改/usr/local/nginx/conf/nginx.conf配置文件后,请执行以下命令检查配置文件是否正确: /usr/local/nginx/sbin/nginx -t 如果屏幕显示以下两行信息,说明配置文件正确: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok the configuration file /usr/local/nginx/conf/nginx.conf was tested

33、successfully 输入以下命令查看Nginx主进程号: ps -ef | grep “nginx: master process“ | grep -v “grep“ | awk -F print $2 屏幕显示的即为Nginx主进程号,例如: 6302 执行以下命令即可使修改过的Nginx配置文件生效: kill -HUP 6302 或者用更简便的方法: kill -HUP cat /usr/local/nginx/logs/nginx.pid,LVS负载均衡,LVS简介 LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项

34、目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。 LVS集群采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序。 一般来说,LVS集群采用三层结构,其主要组成部分为: A、负载调度器(load balancer),它是整个集群对外面的前端机,负责将客户的请求发送到一组服务器上执行,而客户认为服务是来自一个IP地址(我们可称之为虚拟IP地址)上的。 B、服务器池

35、(server pool),是一组真正执行客户请求的服务器,执行的服务有WEB、MAIL、FTP和DNS等。 C、共享存储(shared storage),它为服务器池提供一个共享的存储区,这样很容易使得服务器池拥有相同的内容,提供相同的服务。,LVS负载均衡,LVS集群中实现的三种IP负载均衡技术 在已有的IP负载均衡技术中,主要有通过网络地址转换(Network Address Translation)将一组服务器构成一个高性能的、高可用的虚拟服务器,我们称之为VS/NAT技术(Virtual Server via Network Address Translation)。在分析VS/NA

36、T的缺点和网络服务的非对称性的基础上,我们提出了通过IP隧道实现虚拟服务器的方法VS/TUN (Virtual Server via IP Tunneling),和通过直接路由实现虚拟服务器的方法VS/DR(Virtual Server via Direct Routing),它们可以极大地提高系统的伸缩性。,pulse 这是启动和 LVS 路由器相关的所有其它守护进程的控制进程。 lvs lvs 守护进程被 pulse 调用后就会在活跃 LVS 路由器上运行。ipvsadm 该服务共享内核中的 IPVS 路由表。 nanny nanny 监视运行在活跃 LVS 路由器上的守护进程,LVS负载

37、均衡,Keepalived在这里主要 用作RealServer的健康 状态检查以及DR调度 Master主机和BackUP 主机之间failover的实 现,lvs,keepalived,LVS负载均衡,安装ipvs( ipvsadm-1.25.tar.gz ) centos6.4(192.3.4.42)上安装 创建一个连接文件,其命令为ln sv /usr/src/kernels/2.6.32-358.el6.i686 /usr/src/linux 。 注意一定要与当前的运行的内核相一致,因为/usr/src/kernels目录下可多个目录。如果不创建这个连接文件,在编译时会出错,从而不能继

38、续进行安装。(kenners下要有内核文件,没有的话也会报错,安装kernel-devel-2.6.32-358.el6.i686.rpm) 解包,tar zxvf ipvsadm-1.25 编译并安装。 cd ipvsadm-1.25; make;make install 可执行文件被安装到/sbin/ipvsadm。 注意,编译会报错,是因为有些包没有安装,先安装这些包再编译即可通过(有的需要强制安装)。 检验ipvsadm是否被正确安装,执行ipvsadm 检查当前加载的内核模块,看是否存在ip_vs模块 注1、只有执行ipvsadm以后,才会在内核加载ip_vs模块。 注2、不能以查进

39、程的方式判断ipvs是否运行。,LVS负载均衡,LVS客户端 centos6.4(192.3.4.42)和rhel5 (192.3.4.41)上均配置 lvs的客户端指负载均衡器/转发器(director)后面提供服务的真实机器,这里是直接路由模式DR的配置方法。 操作系统是centos时的配置文件( rhel5与centos配置一样),vi /usr/local/bin/lvs_real #!/bin/bash #description : start realserver VIP=192.3.4.38 /etc/rc.d/init.d/functions case “$1“ in star

40、t) echo “ start LVS of REALServer“ /sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up echo “1“ /proc/sys/net/ipv4/conf/lo/arp_ignore echo “2“ /proc/sys/net/ipv4/conf/lo/arp_announce echo “1“ /proc/sys/net/ipv4/conf/all/arp_ignore echo “2“ /proc/sys/net/ipv4/conf/all/arp_announce ; st

41、op),LVS负载均衡,/sbin/ifconfig lo:0 down echo “close LVS Directorserver“ echo “0“ /proc/sys/net/ipv4/conf/lo/arp_ignore echo “0“ /proc/sys/net/ipv4/conf/lo/arp_announce echo “0“ /proc/sys/net/ipv4/conf/all/arp_ignore echo “0“ /proc/sys/net/ipv4/conf/all/arp_announce ; *) echo “Usage: $0 start|stop“ exit

42、 1 esac,这里对配置文件里重要的一些项进行说明: a、 vip(virtual ip)。直接路由模式的vip必须跟服务器对外提供服务的ip地址在同一个网段,并且lvs 负载均衡器和其他所有提供相同功能的服务器都使用这个vip. b、 vip被绑定在环回接口lo0:0上,其广播地址是其本身,子网掩码是255.255.255.255。这与标准的网络地址设置有很大的不同。采用这种可变长掩码方式把网段划分成只含一个主机地址的目的是避免ip地址冲突。 c、 echo “1”,echo “2” 这段的作用是抑制arp广播。如果不做arp抑制,将会有众多的机器向其他宣称:“嗨!我是奥巴马,我在这里呢!

43、”,这样就乱套了。,LVS负载均衡,lvs客户端验证 lvs客户端不必依赖负载均衡器就可以独立运行,只不过这种运行对负载均衡没有任何作用,当然也没有任何副作用,所以我们把lvs客户端配置完成后(配置文件就是一个shell脚本),可以单独运行它,来检验配置是否正确。 配置脚本写好保存,给予脚本执行权限。脚本启停以start和stop这两个参数来控制。首先,我们来启动配置脚本,执行命令 /usr/local/bin/lvs_real start ,接着我们来检查网络的状态: 从输出可以看出,lo0:0确实绑定了我们指定的vip地址。那么当我们执行 /usr/local/bin/lvs_real s

44、top时,vip应当从lo0:0接口卸载。我们来看看输出是什么: vip从lo上消失了。,LVS负载均衡,故障隔离、失败切换框架keepalived centos6.4(192.3.4.42)上安装 安装keepalived(keepalived-1.2.7.tar.gz) 解包 tar zxvf keepalived-1.2.7.tar.gz 切换目录keepalived-1.2.7 配置 ./configure prefix=/usr/local/keepalive 因为keepalived 运行在ipvs之上,因此这两个软件一定要安装在一个系统里面。如果configure操作能正常进行,

45、运行完毕后将有如下的汇总输出:,LVS负载均衡,编译和安装 make ; make install 做成系统启动服务方便管理,service keepalived start 或stop就可以启动停止服务,LVS负载均衡,keepalived 安装验证 Keepalived安装完成后,会在安装目录/usr/local/keepalived生成 bin,etc, share,sbin这4个目录。/usr/local/keepalive/etc/keepalived目录,它的下面包含一个完整的配置文件keepalived.conf,以及一些单独的配置样例文件。 值得注意的是,keepalived的

46、启动过程并不会对配置文件进行语法检查,就算没有配置文件,keepalived的守护进程照样能够被运行起来。在默认状态下即不指定配置文件的位置keepalived先查找文件 /etc/keepalived/keepalived.conf ,如果为了省事,可以手动创建这个文件(一般都会在这个目录创建),然后在这个文件里书写规则,来达到控制keepalived运行的目的。 这里我们先来试试默认情况,即没有配置文件下运行keepalived。 执行命令 /usr/local/keepalived/sbin/keepalivedD ,然后来检查keepalived运行后的状况。 做成系统启动服务方便管理

47、,service keepalived start 或stop就可以启动停止服务,LVS负载均衡,查看进程 ps aux | grep keepalived ,其输出为: Keepalived正常运行时,共启动3个进程(stop后进程消失),其中一个进程是父进程,负责监控其子进程;一个是vrrp子进程;另外一个是checkers子进程。 查看内核模块,ip_vs 模块应该被加载到内核空间。 lsmod | grep ip_vs 。 查看系统日志tail f /var/log/messages。因为我在启动keepalived是使用了选项 D ,这将详细的打印日志消息。 做成系统启动服务方便管理

48、,service keepalived start 或stop就可以启动停止服务,LVS负载均衡,负载均衡实现(lvs+keepalived) 服务器集群场景 一共2个服务器,1个服务器为lvs负载均衡器,2个服务器为真实服务器,其中一台为负载均衡器和真实服务器共用。 真实服务器centos 192.3.4.42,redhat 192.3.4.41,负载均衡器安装在42上,VIP为192.3.4.38 编写lvs客户端配置脚本 参见上文lvs客户端 配置文件keepalived.conf,vi /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs router_id LVS_DEVEL vrrp_sync_group VGM group VI_1 ,LVS负载均衡,vrrp_instance VI_1 state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 5 authentication auth_type PASS auth_pass 1111 virtual_ipaddress 192.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1