




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Copyright 2007 by Shenzhen Tianyuan DIC Information Technology co.,ltd. 本文件是深圳天源迪科信息技术股份有限公司为公司所准备 未经天源迪科许可不得向第三方透露或用于其他目的 深圳市高新技术产业园区南区南七道T3大厦B三层 ADD:3/F,T3 Building,Nanqi Road,South Area Shenzhen Hi-Tech Industrial Park,Shenzhen, P.R.C 电话(TEL):+86-755-26745688 传真(FAX):+86-755-26745666 邮编(P.C.):518
2、057 - 软负载均衡技术实现 2014年01月 周洋 网站工作原理 负载均衡概述 DNS负载均衡 Apache负载均衡 Nginx负载均衡 LVS负载均衡 Squid负载均衡 数据库负载均衡 网站工作原理-一次请求访问 浏览器 输入地址 DNS 查找网站 服务器 响应请求 数据库 数据访问 用户交互 负载均衡 图片服务器 代理/缓存 图片 文件服务器 静态页面、文档等 Web服务器 应用服务器 缓存 数据库服务器 网站工作原理-网络 网站工作原理-网络 IP: 无连接、不可靠、寻址与路由、分段与重组 TCP: 面向连接、传输数据、可靠、TCP握手 UDP 无连接、传输数据、不可靠 DNS I
3、P地址映射、域名结构、DNS查询 速度、带宽、延迟 带宽:指给定连接在特定时间内能够传输的数据总量,通常用比特每秒来衡量 延迟:指给定请求收到响应所需要的时间 网站工作原理-HTML和web HTML 特征:简单规范、基于文本、链接、超文本 HTML5: 实际指的是包括HTML、CSS和JavaScript在内的一套技术组合,希望能 够减少浏览器对于需要插件的丰富性网络应用服务,并且追加了本地数据 库等 Web 应用的功能 web内容 静态内容:图片、CSS、JS 动态内容:响应请求创建 加速动态内容:缓存 网站工作原理-影响网站性能因素 影响网站性能因素,除去硬件和通信部分,大概有以下: 高
4、访问高并发 用户访问量高,事务处理复杂占时 缓存 使用缓存可减小对服务器资源的消耗,大大提高网站性能 动态静态内容 划分动态静态资源,静态内容不应和应用服务放一起 图片分离 图片资源占用I/O和带宽,需要单独分离 数据库 数据库是一个很大瓶颈,数据库必须在硬盘上四处搜寻数据 负载均衡概述-负载均衡 负载均衡( Load Balance,又称为负载分担),其意思就是将负载(工作任务)进行平衡、 分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它 关键任务服务器等,从而共同完成工作任务。 需要说明的是:负载均衡设备不是基础网络设备,而是一种性能优化设备。对于网络
5、应用而言 ,并不是一开始就需要负载均衡,当网络应用的访问量不断增长,单个处理单元无法满足负载 需求时,网络应用流量将要出现瓶颈时,负载均衡才会起到作用。 负载均衡有两方面的含义:首先,单个重负载的运算分担到多台节点设备上做并行处理,每个 节点设备处理结束后,将结果汇总,返回给用户,系统处理能力得到大幅度提高,这就是常说 的集群(clustering)技术。第二层含义就是:大量的并发访问或数据流量分担到多台节点设 备上分别处理,减少用户等待响应的时间,这主要针对Web服务器、FTP服务器、企业关键应 用服务器等网络应用。 负载均衡概述-一些概念 正向代理 是一个位于客户端和原始服务器(origi
6、n server)之间的服务器,为了从原始服务器取得内容,客户端向 代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客 户端。客户端必须要进行一些特别的设置才能使用正向代理。 反向代理 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给 内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务 器对外就表现为一个服务器。 纵向扩展 指企业后端大型服务器以增加处理器等运算资源进行升级以获得对应用性能的要求。 横向扩展 指企业可以根据需求增加不同的服务器应
7、用,依靠多部服务器协同运算,借助负载均衡及容错等功能 来提高运算能力及可靠度。 去IOE IBM是服务器提供商,Oracle是数据库软件提供商,EMC则是存储设备提供商,三者构成了一个从软 件到硬件的企业数据库系统。“去IOE”运动就是用成本更加低廉的软件,以消除“IOE”对自己数据 库系统的垄断。 集群 集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以 管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高可用性和可缩 放性。 高可用HA 高可用性H.A.(High Availability)指的是通过尽量缩短因日常维护操作(计划
8、)和突发的系统崩溃( 非计划)所导致的停机时间,以提高系统和应用的可用性。 负载均衡概述-技术实现 硬件 产品:F5 BIG-IP、A10、NetScaler等 特点:性能高、维护方便、价格昂贵 软件 产品:apache、nginx、LVS、squid等 特点:性能比硬件要差、开源免费、维护相对硬件复杂 四层负载均衡 所谓四层负载均衡,也就是主要通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选 择方式,决定最终选择的内部服务器。四层交换机主要分析IP层及RTCP/UDP层,实现四层流量负载均 衡。 七层负载均衡 所谓七层负载均衡,也称为“内容交换”, 也就是主要通过报文中的真正有意
9、义的应用 层内容,再加上负载均衡设备设置的服务器 选择方式,决定最终选择的内部服务器。七 层交换机除了支持四层负载均衡以外,还有 分析应用层的信息,如HTTP协议URI或 Cookie信息。 负载均衡概述-技术实现 硬件七层负载均衡 对比: NetScaler 负载均衡概述-技术实现 软件七层负载均衡 对比: Nginx 负载均衡概述-可用的计算资源 服务器通常有四部分主要的资源,处理器、内存、网络和存储,了解这些资源情 况,才能更好的利用,负载均衡才有意义。 DNS负载均衡 DNS负载均衡,它的工作机制非常简单,使用一种称为轮转的方式,来向特定域的一 组服务器分发连接请求。这种操作是顺序执行
10、的,要想服务器增加基于DNS的负载均 衡,只需为域增加多个A记录即可,BIND会负责完成其他工作。 DNS服务器软件:BIND(Berkeley Internet Name Domain伯克利互联网域名守护进程) 记录类型:NS记录代表名称服务器记录;MX记录代表邮件收发器记录; A记录将一个IP地址和一个域名链接起来;CNAME记录代表规范名称或别名; 优点: 简单、易于调试、容易扩展 缺点: 会话保持 负载处理方式(分配不均) 容错性(无法判别宕机) DNS负载均衡 查询域名 dig .hk 遍历查询 dig .hk +trace 测试DNS:nslookup apac
11、he负载均衡 apache jk2 tomcat apache负载均衡 主机配置 主机1: rhel5,ip:1 子网掩码:28,默认网关: 0 主机2: centos6.4,ip:2 子网掩码:28,默认网关: 0 客户机: win7,ip:9 子网掩码:28,默认网关: 0 三个主机可以相互访问 安装JDK (jdk-1_5_0_22-linux-i586-rpm.bin)主机1和主机2均安装 安装tomc
12、at (apache-tomcat-6.0.18-linux.zip)主机1和主机2均安装 apache负载均衡 安装apache (httpd-2.2.26.tar.gz) rhel5(1)上安装 下载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 文件夹
13、下 rootlocalhost httpd-2.2.6#./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 htt
14、pd.conf httpd.conf- /备份apache配置文件 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 命令 rootloc
15、alhost conf#netstat -an | grep :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/
16、bin/apxs -with-java- home=/usr/java/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.
17、so: invalid ELF header file mod_jk.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文件,
18、内容如下: LoadModule jk_module modules/mod_jk.so JkWorkersFile conf/perties 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
19、send SSL KEY SIZE, JkOptions +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目录下新建perti
20、es文件,内容如下: worker.list = controller,status #=tomcat1= worker.tomcat1.port=8009 worker.tomcat1.host=1 worker.tomcat1.type=ajp13 worker.tomcat1.lbfactor = 1 #=tomcat2= worker.tomcat2.port=8009 worker.tomcat2.host=2 worker.tomcat2.type=ajp13 worker.tomcat2.lbfactor = 1 #=controller= w
21、orker.controller.type=lb worker.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-
22、INF, WEB-INF目录下web.xml文件 Tomcat1 index.jsp Tomcat 1 Tomcat2 index.jsp Tomcat 2 web.xml index.jsp apache负载均衡 测试负载均衡 启动Tomcat1, Tomcat2 和Apache服务 Apache服务器ip:1 端口70 service apache start Tomcat1服务器ip:1 端口8080 ./startup.sh Tomcat2服务器ip:2 端口8080 ./startup.sh 首先验证Apache服务器的静态页面是
23、否正常,访问:1:70/(若局域网内不能访 问请检查防火墙设置) 验证tomcat和apache配置提供负载均衡,用不同的终端访问 1/test/index.jsp 如果你看到红色的页面,表示为tomcat1 服务器返回的, 如果你看到l蓝色的页面,表示为tomcat2 服务器返回的。 停止其中一台Tomcat服务,继续访问,验证负载均衡是否停止对失效服务的分发请求 apache负载均衡 Jkstatus 通过 jkstatus 可以监控 JK 目前的工作状态以及对到 tomcat 的连接进行设置 访问1
24、/jkstatus (1: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加入
25、 即可 apache负载均衡 测试tomcat绑定session 重启apache,tomcat1,tomcat2, 用不同的终端访问:1:70/test/index.jsp 可以看到Tomcat终端不再打印null,一方设置session双方都打印出session,实现session共 享。 tail f tomcat/logs/catalina.out Nginx负载均衡 使用Nginx做七层负载均衡的理由 高并发连接:官方测试能够支撑5万并发连接,在实际生产环境中跑到23万并发连接数。 内存消耗少:在3万并发连接下,开启的10个Nginx 进程才消耗150M
26、内存 (15M*10=150M)。 配置文件非常简单:风格跟程序一样通俗易懂。 成本低廉:Nginx为开源软件,可以免费使用。而购买F5 BIG-IP、NetScaler等硬件负载均衡 交换机则需要十多万至几十万人民币。 支持Rewrite重写规则:能够根据域名、URL的不同,将 HTTP 请求分到不同的后端服务器群 组。 内置的健康检查功能:如果 Nginx Proxy 后端的某台 Web 服务器宕机了,不会影响前端访问。 节省带宽:支持 GZIP 压缩,可以添加浏览器本地缓存的 Header 头。 稳定性高:用于反向代理,宕机的概率微乎其微。 Nginx负载均衡 nginx tomcat
27、Nginx负载均衡 Nginx高可用集群 Nginx负载均衡 安装nginx ( nginx-1.4.4.tar.gz ) centos6.4(2)上安装 安装编译用到的包 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
28、make server 2:8080 weight=1 max_fails=2 fail_timeout=30s; #ip_hash; server listen 80; server_name 2; 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;
29、 proxy_cache_valid 200 304 12h; proxy_cache_key $host$uri$is_args$args; proxy_set_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; pro
30、xy_pass http:/backend_server; access_log off; Nginx负载均衡 测试配置是否正确 /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 successfully 测试Nginx 启动NGINX /usr/local/nginx/
31、sbin/nginx 关闭NGINX /usr/local/nginx/sbin/nginx -s stop 重启NGINX /usr/local/nginx/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
32、syntax is ok the configuration file /usr/local/nginx/conf/nginx.conf was tested 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
33、.pid LVS负载均衡 LVS简介 LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。 本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。 LVS集群采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均 衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构 成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透明的,而且无需 修改客户端和服务器端的程序。 一般来说,LVS集群采用三层结构,其主要组成部分为: A、负载调度器(load bala
34、ncer),它是整个集群对外面的前端机,负责将客户的请求发送到 一组服务器上执行,而客户认为服务是来自一个IP地址(我们可称之为虚拟IP地址)上的。 B、服务器池(server pool),是一组真正执行客户请求的服务器,执行的服务有WEB、 MAIL、FTP和DNS等。 C、共享存储(shared storage),它为服务器池提供一个共享的存储区,这样很容易使得服 务器池拥有相同的内容,提供相同的服务。 LVS负载均衡 LVS集群中实现的三种IP负载均衡技术 在已有的IP负载均衡技术中,主要有通过网络地址转换(Network Address Translation)将 一组服务器构成一个高
35、性能的、高可用的虚拟服务器,我们称之为VS/NAT技术(Virtual Server via Network Address Translation)。在分析VS/NAT的缺点和网络服务的非对称性 的基础上,我们提出了通过IP隧道实现虚拟服务器的方法VS/TUN (Virtual Server via IP Tunneling),和通过直接路由实现虚拟服务器的方法VS/DR(Virtual Server via Direct Routing),它们可以极大地提高系统的伸缩性。 pulse 这是启动和 LVS 路由器相关的所有其它守护进程的控制进程。 lvs lvs 守护进程被 pulse 调用
36、后就会在活跃 LVS 路由器上运行。ipvsadm 该服务共享内核中的 IPVS 路由表。 nanny nanny 监视运行在活跃 LVS 路由器上的守护进程 LVS负载均衡 Keepalived在这里主要 用作RealServer的健康 状态检查以及DR调度 Master主机和BackUP 主机之间failover的实 现 lvs keepalived LVS负载均衡 安装ipvs( ipvsadm-1.25.tar.gz ) centos6.4(2)上安装 创建一个连接文件,其命令为ln sv /usr/src/kernels/2.6.32-358.el6.i686 /u
37、sr/src/linux 。 注意一定要与当前的运行的内核相一致,因为/usr/src/kernels目录下可多个目录。如果不创建这 个连接文件,在编译时会出错,从而不能继续进行安装。(kenners下要有内核文件,没有的话 也会报错,安装kernel-devel-2.6.32-358.el6.i686.rpm) 解包,tar zxvf ipvsadm-1.25 编译并安装。 cd ipvsadm-1.25; make;make install 可执行文件被安装到/sbin/ipvsadm。 注意,编译会报错,是因为有些包没有安装,先安装这些包再编译即可通过(有的需要强制安装 )。 检验ipv
38、sadm是否被正确安装,执行ipvsadm 检查当前加载的内核模块,看是否存在ip_vs模块 注1、只有执行ipvsadm以后,才会在内核加载ip_vs模块。 注2、不能以查进程的方式判断ipvs是否运行。 LVS负载均衡 LVS客户端 centos6.4(2)和rhel5 (1)上均配置 lvs的客户端指负载均衡器/转发器(director)后面提供服务的真实机器,这里是直接路由模式 DR的配置方法。 操作系统是centos时的配置文件( rhel5与centos配置一样) vi /usr/local/bin/lvs_real #!/bin/bash #d
39、escription : start realserver VIP=8 /etc/rc.d/init.d/functions case $1 in start) echo start LVS of REALServer /sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 55 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/i
40、pv4/conf/all/arp_ignore echo 2 /proc/sys/net/ipv4/conf/all/arp_announce ; stop) 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/ne
41、t/ipv4/conf/all/arp_announce ; *) echo Usage: $0 start|stop exit 1 esac 这里对配置文件里重要的一些项进行说明: a、 vip(virtual ip)。直接路由模式的vip必须跟服务器对外提供服务的ip地址在同一个 网段,并且lvs 负载均衡器和其他所有提供相同功能的服务器都使用这个vip. b、 vip被绑定在环回接口lo0:0上,其广播地址是其本身,子网掩码是 55。这与标准的网络地址设置有很大的不同。采用这种可变长掩码方式 把网段划分成只含一个主机地址的目的是避免ip地址冲突。 c、 echo
42、 “1”,echo “2” 这段的作用是抑制arp广播。如果不做arp抑制,将会有 众多的机器向其他宣称:“嗨!我是奥巴马,我在这里呢!”,这样就乱套了。 LVS负载均衡 lvs客户端验证 lvs客户端不必依赖负载均衡器就可以独立运行,只不过这种运行对负载均衡没有任何作用,当然 也没有任何副作用,所以我们把lvs客户端配置完成后(配置文件就是一个shell脚本),可以单独 运行它,来检验配置是否正确。 配置脚本写好保存,给予脚本执行权限。脚本启停以start和stop这两个参数来控制。首先,我们 来启动配置脚本,执行命令 /usr/local/bin/lvs_real start ,接着我们来
43、检查网络的状态: 从输出可以看出,lo0:0确实绑定了我们指定的vip地址。那么当我们执行 /usr/local/bin/lvs_real stop时,vip应当从lo0:0接口卸载。我们来看看输出是什么: vip从lo上消失了。 LVS负载均衡 故障隔离、失败切换框架keepalived centos6.4(2)上安装 安装keepalived(keepalived-1.2.7.tar.gz) 解包 tar zxvf keepalived-1.2.7.tar.gz 切换目录keepalived-1.2.7 配置 ./configure prefix=/usr/local/k
44、eepalive 因为keepalived 运行在ipvs之上,因此这两个软件一定要安装在一个系统里面。如果configure 操作能正常进行,运行完毕后将有如下的汇总输出: LVS负载均衡 编译和安装 make ; make install 做成系统启动服务方便管理,service keepalived start 或stop就可以启动停止服务 LVS负载均衡 keepalived 安装验证 Keepalived安装完成后,会在安装目录/usr/local/keepalived生成 bin,etc, share,sbin这4个目录 。/usr/local/keepalive/etc/keep
45、alived目录,它的下面包含一个完整的配置文件 keepalived.conf,以及一些单独的配置样例文件。 值得注意的是,keepalived的启动过程并不会对配置文件进行语法检查,就算没有配置文件, keepalived的守护进程照样能够被运行起来。在默认状态下即不指定配置文件的位置 keepalived先查找文件 /etc/keepalived/keepalived.conf ,如果为了省事,可以手动创建这个 文件(一般都会在这个目录创建),然后在这个文件里书写规则,来达到控制keepalived运行的 目的。 这里我们先来试试默认情况,即没有配置文件下运行keepalived。 执行
46、命令 /usr/local/keepalived/sbin/keepalivedD ,然后来检查keepalived运行后的状况。 做成系统启动服务方便管理,service keepalived start 或stop就可以启动停止服务 LVS负载均衡 查看进程 ps aux | grep keepalived ,其输出为: Keepalived正常运行时,共启动3个进程(stop后进程消失),其中一个进程是父进程,负责监 控其子进程;一个是vrrp子进程;另外一个是checkers子进程。 查看内核模块,ip_vs 模块应该被加载到内核空间。 lsmod | grep ip_vs 。 查看系
47、统日志tail f /var/log/messages。因为我在启动keepalived是使用了选项 D ,这将详细 的打印日志消息。 做成系统启动服务方便管理,service keepalived start 或stop就可以启动停止服务 LVS负载均衡 负载均衡实现(lvs+keepalived) 服务器集群场景 一共2个服务器,1个服务器为lvs负载均衡器,2个服务器为真实服务器,其中一台为负载均衡器 和真实服务器共用。 真实服务器centos 2,redhat 1,负载均衡器安装在42上,VIP为8 编写lvs客户端配置脚本 参见上
48、文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_p
49、ass 1111 virtual_ipaddress 8 # setting port 8080 forward virtual_server 8 8080 delay_loop 6 lb_algo rr lb_kind DR # persistence_timeout 20 protocol TCP real_server 1 8080 weight 5 TCP_CHECK connect_timeout 3 nb_get_retry 3 delay_before_retry 3 connect_port 8080 real_server
50、 2 8080 weight 5 TCP_CHECK connect_timeout 3 nb_get_retry 3 delay_before_retry 3 connect_port 8080 LVS负载均衡 负载均衡服务的启用和验证 保证所有服务器的网络服务正常;保证lvs客户端的启用和验证; 检查keepalived.conf配置是否正确,启用,执行命令 /usr/local/keepalived/sbin/keepalived D (或直接service keepalived start),然后我们查看系统进程ps aux | grep keepalived,看是否
51、 是3个keepalived进程(另外一个反映keepalived正常运行状态的地方是网络接口vip的启用,通 过执行ip add 即可看见vip已经被绑定在制定的网络接口) keepalived配置文件错误也会正常启动keepalived服务,而且进程正常,所以配置文件一定要注 意。 在本地计算机的浏览器地址栏输入8:8080/test/index.jsp ,看网站默认页是否能 正常访问; LVS负载均衡 登录主负载均衡器,察看转发情况,执行不带任何选项的 ipvsadm指令,即可察看tcp连接情况; 如果想知道当前测试机的访问请求被转发到那个服务器去了,可以在
52、ipvsadm命令后带一个选项, 其完整形式为:ipvsadm -lcn | grep 9 (后面ip为访问用户的ip); 通过手工的方法,使真实服务器提供的服务失效,然后再从客户端发起访问请求,检验lvs提供的 服务是否可用;停止42tomcat服务:访问都会被转发到41上,且lvs列表删除42,重启42服务, 列表加上,访问转发正常到42,停止41一样。 LVS负载均衡 状态监控nagios 开源的nagios作为监控平台,可供nagios监控的对象很多,对lvs负载均衡环境而言,我们选取存 活检查及服务状态作为监控对象,就可以清晰地了解lvs负载均衡环境的运行状况。把它具体化, 可分为: A、 负载均衡器及真实服务器的存活检查。只有这些服务器运行正常,才可能有其他依赖服务。 B、 vip的存活检查。一般情况下,启用了lvs环境后,是可以用ping的方式检查vip的。 C、 真实服务器服务状态检查。 D、 vip对应的服务状态检查。一般通过check_tcp加端口号的形式实现。如果web集群,可以以 check_http!url的方式更精确的检查。 安装nagios 在r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人诊所合同标准文本
- 知识管理系统规划计划
- 住宅加装电梯合同标准文本
- 儿童合同标准文本标准文本玩具
- 2025年住宅楼购房合同全文(合同范本)
- 2025房地产项目借款合同协议
- 宣传策划方案(6篇)
- 监理工程师考试首要知识点试题及答案
- 2025年中外合作开发合同
- 短视频委托代运营服务合同-模板
- 烟气空气全参数
- 农产品食品检验员(三级高级工)技能鉴定备考(重点)题库及答案
- 居民死亡医学证明(推断)书
- 【矿山安全】非煤矿山顶板分级管理制度
- 水晶手册样本
- 公园绿化维护服务投标方案
- 发电机组临电方案
- 植物病理学-植物病原真菌
- 宽屏小鼹鼠找新家课件
- DB21-T3722.1-2023高标准农田建设指南第1部分:项目初步设计报告编制
- 外来器械管理流程20171225
评论
0/150
提交评论