HA高可用性.doc_第1页
HA高可用性.doc_第2页
HA高可用性.doc_第3页
HA高可用性.doc_第4页
HA高可用性.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

HA 高可用集群项目实践时 间:2009年4月姓 名:赵舜东实验目的:通过实验深入理解HA+LVS集群的原理,并可以熟练配置。实验环境:Red Hat Enterprise Linux Server release 5.3实验前提:该实验是建立在LVS的基础上,必须在弄懂LVS的前提下,才能做本实验,而且因为实际工作中的LVS多为DR方式,所以实验前保证,实验环境是做LVS-DR时的实验环境。实验内容:一、环境的配置二、软件的安装三、服务的配置四、集群的测试 一 环境的配置 用来模拟公网IP的一个网段(一)Director 和备份Director的环境设置20rootunixhot # hostname rootunixhot # vim /etc/sysconfig/networkrootunixhot # vim /etc/hostsHOSTNAME=2 node120 node22.备份的director20的配置同上,把主机名设置为node2 (注意,主机名必须设置,并且能通过hosts文件解析) (二)真实机的配置1. 同LVS集群,关闭arp2. 同LVS集群,绑定VIP到lo本地回环上3. 同LVS集群,设置默认的网关为DGW二、软件的安装 Perl的一些软件包在安装光盘上,其它的软件包可以在以下路径下载 /centos/4/extras/i386/RPMS/(以下是安装heartbeat所需依赖的包,可能根据系统安装时选择的软件包不同,所依赖的包也会不同,这里要在主从两台Director上安装)heartbeat-2.1.3-3.el5.centos.i386.rpmheartbeat-devel-2.1.3-3.el5.centos.i386.rpmheartbeat-gui-2.1.3-3.el5.centos.i386.rpmheartbeat-ldirectord-2.1.3-3.el5.centos.i386.rpmheartbeat-pils-2.1.3-3.el5.centos.i386.rpmheartbeat-stonith-2.1.3-3.el5.centos.i386.rpmperl-Convert-ASN1-0.20-1.1.noarch.rpmperl-Crypt-SSLeay-0.51-11.el5.i386.rpmperl-Data-HexDump-0.02-1.2.el5.rf.noarch.rpmperl-Date-Calc-5.4-.i386.rpmperl-IO-Socket-INET6-2.51-2.fc6.noarch.rpmperl-IO-Socket-SSL-1.01-1.fc6.noarch.rpmperl-LDAP-0.33-3.fc6.noarch.rpmperl-libwww-perl-5.805-1.1.1.noarch.rpmperl-libxml-perl-0.08-1.2.1.noarch.rpmperl-Mail-POP3Client-2.18-1.el5.rf.noarch.rpmperl-MailTools-2.02-1.el5.rf.noarch.rpmperl-Net-DNS-0.59-3.el5.i386.rpmperl-Net-IMAP-Simple-1.17-1.el5.rf.noarch.rpmperl-Net-IMAP-Simple-SSL-1.3-1.el5.rf.noarch.rpmperl-Net-SSLeay-1.30-4.fc6.i386.rpmperl-RadiusPerl-0.13-1.el5.rf.noarch.rpmperl-TimeDate-1.16-5.el5.noarch.rpmperl-XML-NamespaceSupport-1.09-1.2.1.noarch.rpmperl-XML-Parser-2.34-.1.i386.rpmperl-XML-SAX-0.14-5.noarch.rpm三、服务的配置安装成功后会创建/etc/ha.d 目录,但默认情况下该目录里没有配置文件。rootunixhot # cp /usr/share/doc/heartbeat-ldirectord-2.1.3/ldirectord.cf /etc/ha.d/rootunixhot # cp /usr/share/doc/heartbeat-2.1.3/authkeys /etc/ha.d/rootunixhot # cp /usr/share/doc/heartbeat-2.1.3/haresources /etc/ha.d/rootunixhot # cp /usr/share/doc/heartbeat-2.1.3/ha.cf /etc/ha.d/(一) ldirectord用来配置ipvsadm,并通过一个测试页,监控真实机的web服务情况,如果有真实机的服务停止了,就把它的权重设置为零,这样director就不会分发请求给该真实机,如果所有的真实机都down了,就会在director上打开自己的web服务器,并提示系统正在维护中。1. rootunixhot # vim /etc/ha.d/ldirectord.cf # Global Directiveschecktimeout=3 # 检查的超时时间,如果3秒钟还监听不到心跳说明对方已downcheckinterval=1 # 检查的间隔时间,每间隔1秒钟,测试心跳fallback=:80 # 如果所有的真实机全部down,director就会把自己的web服务打开autoreload=yes logfile=/var/log/ldirectord.log #记录日志logfile=local0 #设置日志对象emailalert= #设置出现故障时的邮件提醒emailalertfreq=3600 #邮件警告时间间隔,就是如果故障没有派出,每隔3600秒发送一封邮件emailalertstatus=all # 设置邮件格式为最详细的格式quiescent=yes # 如果真实机down了,把它的权重设置为0# Sample for an http virtual servicevirtual=28:80 设置VIP (注意在这里VIP要自己绑定到director上,但后面做heartbeat的时候就不用自己绑定了,会自动绑定)real=21:80 gate weight 20 #设置真实机 并设置权重 real=22:80 gate weight 30fallback=:80 gate #设置所有真实机down后,开启自己的web服务service=http #测试的服务 request=test.html #测试的页面receive=Test Page #测试的内容scheduler=wrr #调度算法#persistent=600#netmask=55protocol=tcpchecktype=negotiatecheckport=802.rootunixhot # chkconfig add ldirectord (添加到启动管理,默认是没有自动添加)3.rootunixhot # chkconfig -list l grep directordldirectord 0:off 1:off 2:off 3:on 4:off 5:on 6:off3.rootunixhot # ipvsadm -Ln (发现并没有任何信息)IP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags - RemoteAddress:Port Forward Weight ActiveConn InActConn4.rootunixhot # service ldirectord start (启动ldirectord)5.rootunixhot # ipvsadm -Ln (发现ipvsadm有配置了,可是权重都是零,也就是不可用,因为我们的test.html文件还没创建,ldirectord无法获取正常的页面自然就会把权重值设置为0)IP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags - RemoteAddress:Port Forward Weight ActiveConn InActConnTCP 2:80 wrr - 22:80 Route 0 0 0 - 21:80 Route 0 0 0 - :80 Local 1 0 0 6.rootunixhot # ssh 21 (设置测试页)rootnode1 # echo Test Page /var/www/html/test.html7.rootunixhot # ssh 22rootnode2 # echo Test Page /var/www/html/test.html8.设置完毕测试页重启服务rootunixhot # service ldirectord restartRestarting ldirectord. success9.rootunixhot # ipvsadm -Ln (发现已经可以正常工作了)IP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags - RemoteAddress:Port Forward Weight ActiveConn InActConnTCP 2:80 wrr - 22:80 Route 30 0 0 - 21:80 Route 20 0 0 (二)heartbeatheartbeat 软件用来做双机热备,两台服务器通过心跳线进行通信,并设置仲裁机制,每隔一定的时间彼此通信,如果主服务器发现自己ping 不通仲裁的计算机,就告诉从服务器,进行服务的切换,如果从服务器发现主服务器没了心跳信号,而自己能ping通仲裁的计算机,也会把服务切换过来。rootunixhot # cp /usr/share/doc/heartbeat-2.1.3/authkeys /etc/ha.d该配置文件用来设置两台服务器用来做心跳测试时,数据加密的方式rootunixhot # cp /usr/share/doc/heartbeat-2.1.3/ha.cf /etc/ha.d/主配置文件rootunixhot # cp /usr/share/doc/heartbeat-2.1.3/haresources /etc/ha.d/用来设置进行资源切换时,都需要切换哪些资源1.rootunixhot # vim /etc/ha.d/haresources IPaddr:28/24/eth0 ldirectord主服务器 ip资源 服务资源2.rootunixhot # vim /etc/ha.d/authkeys auth 3#1 crc#2 sha1 HI!3 md5 Hello!rootunixhot # chmod 600 /etc/ha.d/authkeys (注意此处修改权限,不然会报错)3.rootunixhot # vim /etc/ha.d/ha.cfkeepalive 2 #检查心跳间隔时间deadtime 30 #多长时间对方没有心跳说明对方死亡warntime 10 #警告时间initdead 120 #初始化的时候,多长时间以后开始监听心跳udpport 694 #设置心跳端口#baud 19200 心跳监控使用串口方式 波特率为19200#serial /dev/ttyS0 # Linux 设置串口mcast eth0 694 1 0 多播方式ucast eth0 20 #使用单播方式auto_failback on #主的服务器恢复以后再切换回来node #节点 主的放上面node #从的放下面ping 54 #仲裁 可以设置DGW,在这里随便找了一台局域网中可以ping通的主机#ping_group group1 54 53 可以设置仲裁组#hbaping fc-card-name 设置FC的网卡名respawn hacluster /usr/lib/heartbeat/ipfail 当发生服务切换时向连接路由器 更新mac 地址与ip的对应关系 。通过arp方式更新 一般运行5次4.复制配置文件到从服务器20rootunixhot # scp /etc/hosts root192.168.120:/etc/hostsrootunixhot # scp /etc/ha.d/authkeys 20:/etc/ha.d/rootunixhot # scp /etc/ha.d/ha.cf 20:/etc/ha.d/rootunixhot # scp /etc/ha.d/haresources 20:/etc/ha.d/rootunixhot # scp /etc/ha.d/ldirectord.cf 20:/etc/ha.d/5.rootunixhot # ssh 20root20s password: Last login: Tue Apr 28 23:41:09 2009rootdirector # vim /etc/ha.d/ha.cf ucast eth0 2 (修改为2)5.rootunixhot # ssh 20root20s password: Last login: Tue Apr 28 23:41:09 2009rootdirector # vim /etc/ha.d/ha.cf ucast eth0 2 (修改为2)四、集群的测试(一)在主服务器测试,看服务是否正常rootnode1 # /etc/init.d/heartbeat start (在主服务器上启动服务)rootnode2 # /etc/init.d/heartbeat start (在从服务器中启动服务)在2(主服务器)上测试rootnode1 # ipvsadm -Ln (发现运行正常)IP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags - RemoteAddress:Port Forward Weight ActiveConn InActConnTCP 28:80 wrr - 22:80 Route 30 0 0 - 21:80 Route 20 0 0 rootnode1 # ifconfigeth0 Link encap:Ethernet HWaddr 00:B0:C4:01:2A:0C inet addr:2 Bcast:55 Mask: inet6 addr: fe80:2b0:c4ff:fe01:2a0c/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:12249 errors:1 dropped:0 overruns:1 frame:0 TX packets:3520 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1638888 (1.5 MiB) TX bytes:384236 (375.2 KiB) Interrupt:225 Base address:0x4c00 eth0:0 Link encap:Ethernet HWaddr 00:B0:C4:01:2A:0C (发现VIP自动绑定上了) inet addr:28 Bcast:55 Mask: UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Interrupt:225 Base address:0x4c00 (二)下面我们把2和仲裁6的网络截断,看服务是否会自动切换到20rootnode1 # iptables -t filter -A INPUT -s 6 -j DROProotnode1 # ssh 20rootnode2 # ipvsadm -Ln (发现所有的资源全部都切换了回来)IP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags - RemoteAddress:Port Forward Weight ActiveConn InActConnTCP 28:80 wrr - 22:80 Route 30 0 0 - 21:80 Route 20 0 0 rootnode2 # ifconfigeth0 Link encap:Ethernet HWaddr 00:0C:29:EE:44:8D inet addr:20 Bcast:55 Mask: inet6 addr: fe80:20c:29ff:feee:448d/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:29626 errors:0 dropped:0 overruns:0 frame:0 TX packets:2300 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:3710954 (3.5 MiB) TX bytes:372394 (363.6 KiB) Interrupt:169 Base address:0x2000 eth0:0 Link encap:Ethernet HWaddr 00:0C:29:EE:44:8D inet addr:28 Bcast:55 Mask: UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Interrupt:169 Base address:0x2000 lo Link encap:Local Loopback inet addr: Mask: inet6 addr: :1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:438 errors:0 dropped:0 overruns:0 frame:0 TX packets:438 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:35036 (34.2 KiB) TX bytes:35036 (34.2 KiB)(三)下面把主服务器和仲裁的网络打开,看是否服务又会自动切换回来。rootnode1 # iptables -Frootnode1 # ipvsadm -Ln (发现所有的资源又切换回来了)IP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags - RemoteAddress:Port Forward Weight ActiveConn InActConnTCP 28:80 wrr - 22:80 Route 3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论