已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
LVS高可用web负载均衡群集Linux(适用操作系统:CentOS5)完成人员:XX完成日期:2012-01-25黑色 加粗字体为命令.淡蓝 加粗是显示内容 红色 是注释一. 环境要求Lvs+heartbeat+ldirectory高可用性负载均衡.LVS的调度分配软件 = (ipvsadm)LVS的双机热备软件 = (heartbeat状态监控 ; 平滑冗余)LVS 的高可用性 = (heartbeat-ldirectord容错机制高可用)二. 拓扑三. 系统环境操作系统:CentOs 5.5 (关闭selinux及iptables)相关软件:lvsaadm 、heartbeat 、heartbeat-ldirectord、net-snmp、lm_sensors、perl模块网络要求:所有服务器位于同一VLan,机器无特殊要求。四. 地址规划名称角色IP地址LVS_A活动调度器VIP: 8/24Eth0: 0/24Eth1: /24LVS_B备份调度器Eth0: 0/24Eth1: /24WEB_A内容服务器Eth0: 0WEB_B内容服务器Eth0: 0五. 安装软件1. 更新yum源(将yum源替换成中国科大的yum源或mirrors的源)# cd /etc/yum.repos.d # 进入yum源目录# mv CentOS-Base.repo,.bak# 修改默认网络源的名字使其不生效# wget /soft/lemp/CentOs-Base.repo # 下载中科大源# wget /.help/CentOS5-Base-163.repo # 下载mirrors-163源# wget /help/CentOS-Base-sohu.repo # 下载mirrors-sohu源注意:三个源任选一个就好.我是使用163的2. Yum安装ipvsadm / heartbeat / net-snmp #Yum# yum install ipvsadm# 安装LVS# yum install heartbeat* # 安装heartbeat时会自动解决依赖关系# yum install net-snmp# 安装net-snmp3. 安装heartbeatyum安装heartbeat会出现这个错误:不用理他,在用yum安装一次 就处理好了以下列出heartbeat所依赖的包名如果使用rpm方式安装可以参考|红色|是安装包|绿色|是依赖在两台机器上都完成heartbeat的安装后进行查看4. 两台机器查看heartbeat是否安装全# rpm -qa | grep heartbeat# 查看安装包是否完整5.网络配置 # Vim /etc/hosts#vi编辑本地解析文件Cat /etc/hosts 0LVS_A #添加LVS_A的解析0LVS_B #添加LVS_B的解析SHOW/etc/hosts 内容如下图实验过程中为了避免重启直接使用hostname命令修改主机名(立即生效,重启无效)# hostname LVS_A# hostname LVS_B#使用scp将文件传给LVS_B(简化操作).以下LVS脚本和WEB脚本都可使用scp。1. 配置LVS1. 配置LVS_A.sh# Vim LVS_A.sh#调度器LVS_A的#!/bin/bashVIP=8WEB_A=0WEB_B=0LVS_A=0LVS_B=0case $1 instart)/sbin/ifconfig eth0 LVS_A/sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 55 up/sbin/route add -host $VIP dev eth0:0ipvsadm -A -t $VIP:80 -s rr #-A添加一个virtual服务器 -t TCP协议 -s算法 rripvsadm -a -t $VIP:80 -r $WEB_A:80 -g #-g (DR模式) -i (TUN模式) -m (NAT模式)ipvsadm -a -t $VIP:80 -r $WEB_B:80 -gipvsadm-save /etc/sysconfig/ipvsadm#保存设置命令.下次可以使用Service直接调用echo ipvsadm is start ok .;stop)/sbin/ipvsadm -C#清空ipvsadm群集设置/sbin/route del $VIP#删除VIP路由echo ipvsadm is stop now ok .;*)echo Usage : $0 start | stopesac-# chmod +x LVS_A.sh#添加可执行权限2. 配置LVS_B.sh# Vim LVS_B.sh#调度器LVS_B的#!/bin/bashVIP=8WEB_A=0WEB_B=0LVS_A=0LVS_B=0case $1 instart)/sbin/ifconfig eth0 LVS_B/sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 55 up/sbin/route add -host $VIP dev eth0:0ipvsadm -A -t $VIP:80 -s rr #-A添加一个virtual服务器 -t TCP协议 -s算法 rripvsadm -a -t $VIP:80 -r $WEB_A:80 -g #-g (DR模式) -i (TUN模式) -m (NAT模式)ipvsadm -a -t $VIP:80 -r $WEB_B:80 -gipvsadm-save /etc/sysconfig/ipvsadm#保存设置命令.下次可以使用Service直接调用echo ipvsadm is start ok .;stop)/sbin/ipvsadm -C#清空ipvsadm群集设置/sbin/route del $VIP#删除VIP路由echo ipvsadm is stop now ok .;*)echo Usage : $0 start | stopesac-# chmod +x LVS_B.sh#添加可执行权限3. WEB_A 服务内容脚本# Vim WEB_A.sh#!/bin/bashVIP=8WEB_A=0WEB_B=0case $1 in start)/sbin/ifconfig eth0 $WEB_A# eth0/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 55 up#虚拟.VIP/sbin/route add -host $VIP dev lo:0# VIP主机路由echo 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_announce#不响应arp请求echo WEBs LVS is start ok .; stop)/sbin/ifconfig lo:0 down/sbin/route del $VIP echo 0 /proc/sys/net/ipv4/conf/lo/arp_ignoreecho 0 /proc/sys/net/ipv4/conf/lo/arp_announceecho 0 /proc/sys/net/ipv4/conf/all/arp_ignoreecho 0 /proc/sys/net/ipv4/conf/all/arp_announceecho WEBs LVS is stop ok .; *) echo Usage : $0 start | stop;Esac# chmod +x WEB_A.sh4. WEB_B 负载服务脚本# vim WEB_B.sh#!/bin/bashVIP=8WEB_A=0WEB_B=0case $1 in start)/sbin/ifconfig eth0 $WEB_B#eth0/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 55 up #虚拟IP/sbin/route add -host $VIP dev lo:0 #VIP主机路由echo 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_announce#不响应arp请求echo WEBs LVS is start ok .; stop)/sbin/ifconfig lo:0 down/sbin/route del $VIP echo 0 /proc/sys/net/ipv4/conf/lo/arp_ignoreecho 0 /proc/sys/net/ipv4/conf/lo/arp_announceecho 0 /proc/sys/net/ipv4/conf/all/arp_ignoreecho 0 /proc/sys/net/ipv4/conf/all/arp_announceecho WEBs LVS is stop ok .; *) echo Usage : $0 start | stop;esac# chmod +x WEB_B.sh#为脚本添加可执行权限5. 查看测试LVSLvs状态查看 查看LVS的连接情况: ipvsadm -L n查看LVS的吞吐量情况ipvsadm -L -n rate查看LVS的统计信息:ipvsadm -L -n stat查看LVS的连接状态变化:watch ipvsadm ?ln.# ipvsadm LnIP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags - RemoteAddress:Port Forward Weight ActiveConn InActConnTCP 8:80 rr - 0:80 Route 1 0 0 - 0:80 Route 1 0 0 二. 配置ldirectord 1.# vim /etc/ha.d/ldirectord.cf# cp /usr/share/doc/heartbeat-ldirectord-2.1.3/ldirectord.cf /etc/ha.d/如果要通过ldirectord监控节点状态;只需启动ldirectord,整个集群系统就可以运行起来,而无需执行上面配置的LVS_A脚本;因为ldirectord配置文件决定.会自动调用ipvsadm创建LVS路由表.配置选项含义如下# vim ldirectord.cfchecktimeout=3#判定real server出错的时间间隔。checkinterval=1#指定ldirectord在两次检查之间的间隔时间。fallback=:80#当所有的real server节点不能工作时,web服务重定向的地址(本机:80)。autoreload=yes#是否自动重载配置文件,选yes时,配置文件发生变化,自动载入配置信息。quiescent=yes#当选择no时,如果一个节点在checktimeout设置的时间周期内没有响应,ldirectord将会从LVS的路由表中直接移除real server,此时,将中断现有的客户端连接,并使LVS丢掉所有的连接跟踪记录和持续连接模板,如果选择为yes,当某个real server失效时,ldirectord将失效节点的权值设置为0,新的连接将不能到达,但是并不从LVS路由表中清除此节点,同时,连接跟踪记录和程序连接模板仍然保留在Director上virtual=8:80 real=0:80 gate #指定虚拟的IP地址和端口号,注意,在virtual行后面的行必 须缩进4个空格或以一个tab字符进行标记。 real=0:80 gate #指定Real Server服务器地址和端口,同时设定LVS工作模式. #用gate表示DR模式,ipip表示TUNL模式,masq表示NAT模式。 fallback=:80 gate service=http #指定服务的类型,这里是对http服务做负载均衡。 request=index.html #ldirectord将根据指定的Real Server地址,结合该选项给出 的请求路径,发送访问请求,检查Real Server上的服务是否正常运行,确保这里给出的页面地 址是可访问的,不然ldirectord会误认为此节点已经失效,发生错误监控现象。 receive=Test Page #指定请求和应答字串。 scheduler=rr #指定调度算法,这里是rr(轮叫)算法。于上面呼应 protocol=tcp #指定协议的类型,LVS支持TCP和UDP协议。 checktype=negotiate #指定Ldirectord的检测类型,默认为negotiate。 checkport=80 #指定监控的端口号。 virtualhost=SharkS #虚拟服务器的名称,随便指定。三. 配置heartbeat(主要就是配置三个文件:ha.cf 、haresources和authkeys)1. # vim /etc/ha.d/ha.cf# vim /etc/ha.d/ha.cf配置选项如下debugfile /var/log/ha-debug #指定heartbeat调试日志文件存放的位置logfile /var/log/ha-log#指定heartbeat运行系统日志存放的位置logfacility local0#日志记录等级keepalive 2 #指定多久检测一次心跳heartbeat 本实验2秒warntime 5 #连续多长时间联系不上开始警告提示 本实验5秒deadtime 30#等待声明主机死机的时间.30秒内没有心跳信号.切换服务initdead#指定heartbeat首次启动时deadtime应该为多久.预留忽略时间#bcast bond0#只有两台机器的时候可以使用广播.本实验使用此方法udpport 694#使用upd 694检测心跳服务#baud 19200#串口通讯的波特率,本实验环境不需要,注释掉#serial /dev/ttyS0#主从如果是串口链接,需将此注释取消#ucast eth1 #这里指定LVS_B的地址.在LVS_B上配置时需要改成LVS_A地址auto_failback on#恢复正常后是否需要切换回来node LVS_A#指定heartbeat使用那些主机.主机名于uname -n一致node LVS_B#备用节点名称ping #只是用于检测节点的连通性,并不作为节点切换的真正依据pwatchdog /dev/watchdog #看门狗。如果本节点1分钟后还没有发出心跳.那么本节点自动重启respawn hacluster /usr/lib/heartbeat/ipfail #配置ip绑定和切换功能apiauth ipfail gid=haclient uid=hacluster #控制ip切换时所使用的用户注:如果主节点需要维护时,可先将其转移到备份服务器上使用如下命令# /usr/lib/heartbeat/hb_standby (hb_standby命令把资源强迫到迁移到备份服务器)如果主节点要切回来掌管服务:# /usr/lib/heartbeat/hb_takeover2.# vim /etc/ha.d/authkeys# vim /etc/ha.d/authkeys配置项如下.表示使用md5作为数字签名算法对心跳数据包加密保存退出后必须调整此文件的权限为600只有root用户有权限否则启动失败日志提示.权限安全问题auth 33 md5 sharkshow# chmod 600 /etc/ha.d/authkeys #更改文件权限3.# vim /etc/ha.d/haresources配置项如下 LVS_A IPaddr:8/32 ldirectord:ldirectord.cf这个配置的解释各文档种不一样我通过日志查看发现是这样的情况LVS_A#是主节点名称. IPaddr#IPaddr是存在于/etc/ha.d/resource.d目录下脚本;也可以存在于/etc/init.d/下的#而且得支持start和stop参数.因为主节点启用时会调用start.释放时会调用stop“:”两个冒号代表的是空格
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026浙江宁波智永供应链有限公司招聘补充1人考试备考试题及答案详解
- 城投水务管网CCTV检测技术方案
- 《灌注桩后压浆设备配置与操作》
- 2025年渝中区公务员招聘笔试试题及答案详解
- 2026广东韶关浈江区教育局招募实习生2人考试参考试题及答案详解
- 2026年武汉市江夏区事业单位人员招聘笔试参考题库及答案详解
- 2026年宝鸡市渭滨区事业单位人员招聘笔试参考题库及答案详解
- 2026年辽宁省铁岭市事业单位人员招聘笔试备考题库及答案详解
- 支路网加密畅通工程交通影响评价
- 渔光互补光伏发电项目竣工验收报告
- 2026年沪教版八年级下册历史期末测试卷(含答案可下载)
- 2026浙江杭州萧山区义蓬街道国有企业招聘4人笔试模拟试题及答案详解
- 【物业分享】XXX物业服务品质管理制度
- 2026年湖南省怀化市八年级地理生物会考考试题库(含答案)
- 2025年小学英语教师招聘考试专业知识试题及答案
- 2026年北京市丰台区初三下学期二模物理试卷和答案
- 第三章,海洋生物,的繁殖,与发育
- 2021年安徽省中考地理真题(word解析版)
- 2022年医学专题-国家慢性病综合防控示范区建设指标体系
- 人教版美术七年级下册《广而告之》课件
- DB32-T 3706-2019 住宅装饰装修质量规范-(高清现行)
评论
0/150
提交评论