logo资料库

lvs+KeepAlived搭建实战.pdf

第1页 / 共15页
第2页 / 共15页
第3页 / 共15页
第4页 / 共15页
第5页 / 共15页
第6页 / 共15页
第7页 / 共15页
第8页 / 共15页
资料共15页,剩余部分请下载后查看
一、 简介 lvs+keepAlived → 效率最高的负载均衡 1. 负载均衡的类型  负载均衡可以采用硬件设备(例如常常听见的 F5),也可以采用软件 负载 商用硬件负载设备成本通常较高(一台几十万甚至上百万),所以一般  情况下会采用软件负载 软件负载解决的两个核心问题是:选谁、转发,其中最著名的是 lvs  2. lvs 是什么?  英文全称是 Linux Virtual Server,即 Linux 虚拟服务器 由 章 文 嵩 博 士 发 起 的 自 由 软 件 项 目 , 它 的 官 方 站 点 是  www.linuxvirtualserver.org Linux2.4 内核以后,LVS 已经是 Linux 标准内核的一部分 可以将请求分发给后端真实服务器处理 有许多比较著名网站和组织都在使用 LVS 架设的集群系统,例如: Linux 的门户网站(www.linux.com)、向 RealPlayer 提供音频视频 服务而闻 名的 Real 公司(www.real.com )、全球最大的开源网站  (sourceforge.net)等 提供了多种调度算法 轮询调度(Round-Robin Scheduling) 加权轮询调度(Weighted Round-Robin Scheduling)
最小连接调度(Least-Connection Scheduling) 加权最小连接调度(Weighted Least-Connection Scheduling) 基于局部性的最少链接(Locality-Based Least Connections   Scheduling) 带 复 制 的 基 于 局 部 性 最 少 链 接 ( Locality-Based Least   Connections with Replication Scheduling) 目标地址散列调度(Destination Hashing Scheduling) 源地址散列调度(Source Hashing Scheduling) 最短预期延时调度(Shortest Expected Delay Scheduling) 不 排 队 调 度 ( Never Queue Scheduling )对应:  rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq 有三种转发规则 NAT:简单理解,就是数据进出都通过 LVS,性能不是很好。 TUNL:简单理解:隧道  DR:最高效的负载均衡规则   3. lvs 的体系结构  最前端的负载均衡层,用 Load Balancer 表示 中间的服务器集群层,用 Server Array 表示 最底端的数据共享存储层,用 Shared Storage 表示 在用户看来,所有的内部应用都是透明的,用户只是在使用一个虚拟服  务器提供的高性能服务  4. keepAlived 是什么? 
因为所有的请求都要经过负载均衡,所以负载均衡必然是非常重要,不  能挂掉,说白了就是要 keep the lvs alived。 提供的功能就是可以配置 2 台 LVS,一台主机,一台备机。并且检测 任 何一个节点是否还活着。  5. lvs 的优点?  抗负载能力强,因为 lvs 工作方式的逻辑是非常之简单,而且工作在网 络 4 层仅做请求分发之用,没有流量,所以在效率上基本不需要太过 考虑。 有完整的双机热备方案,当节点出现故障时,lvs 会自动判别,所以系 统整体是非常稳定的。 基本上能支持所有应用,因为 lvs 工作在 4 层,所以它可以对几乎所有 应用做负载均衡,包括 http、数据库、聊天室等等。  6. lvs 负载均衡机制  lvs 是四层负载均衡,也就是说建立在 OSI 模型的第四层——传输层之  上 传输层上有 TCP/UDP,lvs 支持 TCP/UDP 的负载均衡 因为 LVS 是四层负载均衡,因此它相对于其它高层负载均衡的解决办 法, 比如 DNS 域名轮流解析、应用层负载的调度、客户端的调度等, 它的效 率是非常高的 lvs 的转发可以通过修改 IP 地址实现(NAT 模式) lvs 的转发还可以通过修改直接路由实现(DR 模式)  7. lvs 与 nginx 对比? 
负载度    lvs 优于 nginx  稳定度    lvs 优于 nginx 服务器性能要求 lvs 优于 nginx 网络层数的效率 lvs 优于 nginx  网络七层:应用层、会话层、表示 层、传输层、网络层、链路层、 物理层 功能多少   nginx 优于 lvs  8. lvs+keepAlived 的应用场景?  大型网站负载均衡 二.lvs搭建 1.规划 2台 webserver 1台主lvs 1台备lvs 2.两台webServer的配置 在线安装httpd,第一台和第二台都执行  yum -y install  httpd
设置开机启动,并开启httpd服务 通过浏览器访问,默认80端口 创建Html文件用来区分两个服务器  vim   /var/www/html/index.html
创建RealServer脚本  vim /etc/init.d/realserver #!/bin/bash   #description : start realserver   SNS_VIP=192.168.220.190 #定义了一个VIP变量(虚拟IP),必须跟真实服务在一个网段 /etc/rc.d/init.d/functions case "$1" in start) echo " start LVS of REALServer"   /sbin/ifconfig lo:0 $SNS_VIP broadcast $SNS_VIP netmask 255.255.255.255 up  #增 加一个本地路由 lo:0 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 ;; stop) /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 1
esac 赋予脚本执行权限 执行脚本 service realserver start 用ifconfig查看效果 两台服务器都进行相同操作 查看Linux 内核版本 uname -a   2.4以后自带lvs,不需要单 独安装
安装 keepalived,yum -y install keepalived 安装报错 暂停Mysql 暂停mysql服务  service mysql stop 关闭自动启动  查看是否有自动启动 chkconfig --list 关闭  chkconfig --level 345 mysql off 查看已装的mysql  rpm -qa|grep -i mysql  卸载 rpm -ev MySQL-client-5.6.26-1.linux_glibc2.5.x86_64 rpm -ev MySQL-server-5.6.26-1.linux_glibc2.5.x86_64
分享到:
收藏