heartbeat安装配置手册
Heartbeat安装与使用

Heartbeat安装与使用Heartbeat安装安装libnet1.下载libnet,我使用的版本是libnet-0.10.112.进入到libnet目录3.将makfiles中的pork.mak拷贝到外层目录4.执行make5.执行make install可能会出现的错误:1.chat/_coniox.h:42:21: 错误:ncurses.h:没有那个文件或目录解决办法:yum install ncurses ncurses-devel安装Cluster-Glue1.下载Reusable-Cluster-Components-glue--glue-1\[1\].0.7.tar.bz22.解压3.进入到该目录4../autogen.sh5../configure6.make7.make install可能会出现的错误:1.You must have autoconf installed to compile the cluster-glue package解决办法:说明机器上面没有相应的环境yum install autoconf automake autoheader aclocal2.You must have libtool installed to compile the cluster-glue package解决办法:说明机器上面没有相应的环境yum install libtool3../autogen.sh时出现libtoolize: `COPYING.LIB' not found in `/usr/share/libtool/libltdl'解决办法:yum install libtool-ltdl-devel4../configure时出现configure: error: libxml2 config not found解决办法:yum install libxml2 libxml2-devel5../configure时出现configure: error: BZ2 libraries not found解决办法:yum -y install bzip2-devel glib2-devel6.make时出现lib/pils/.libs/libpils.so -lbz2 -lxml2 -lc -lrt -ldl -lglib-2.0 -lltdl./.libs/libplumb.so: undefined reference to `uuid_parse'./.libs/libplumb.so: undefined reference to `uuid_generate'./.libs/libplumb.so: undefined reference to `uuid_copy'./.libs/libplumb.so: undefined reference to `uuid_is_null'./.libs/libplumb.so: undefined reference to `uuid_unparse'./.libs/libplumb.so: undefined reference to `uuid_clear'./.libs/libplumb.so: undefined reference to `uuid_compare'collect2: ld returned 1 exit statusgmake[2]: *** [ipctest] Error 1解决办法:yum install e2fsprogs-devel libuuid-devel7.make时出现error : Operation in progresswarning: failed to load external entity"/release/xsl/current/html/formal.xsl"compilation error: file /release/xsl/current/html/docbook.xsl line 46 element includexsl:include : unable to load /release/xsl/current/html/formal.xsl/release/xsl/current/html/table.xsl:1: parser error : Document isempty/release/xsl/current/html/table.xsl:1: parser error : Start tag expected, '<' not foundcompilation error: file /release/xsl/current/html/docbook.xsl line 47 element includexsl:include : unable to load /release/xsl/current/html/table.xsl解决办法:一些文档需要到互联网上去下,目前为止make过程中除了doc没有安装外,其他的都已经成功安装了,所以该问题可以忽略。
Heartbeat原理及部署

Heartbeat原理及部署 ⼀,Heartbeat简介 ⼆,安装Heartbeat 环境查看 服务器规划IP⽤途主机名192.168.1.101主服务器hdp3192.168.1.102备服务器hdp4 初始配置 禁⽤防⽕墙systemctl disable firewalld 关闭senlinux 设置主机名并设置hosts⽂件 两台主机名不⼀样,hosts⽂件⼀样 # cat /etc/hosts192.168.1.101 hdp3192.168.1.102 hdp4 安装依赖包yum -y install glib2-devel libtool-ltdl-devl net-snmp-devel bzip2-devel ncurses-devel openssl-devel libtool libxml2 libxml2-devel gettext bison flex zlib-devel mailx which libxslt docbook-dtds docbook-style-xsl PyXML shadow-utils opensp autoconf 下载安装包Heartbeat 3.0.6:/heartbeat-STABLE_3_0/archive/958e11be8686.tar.bz2Cluster Glue 1.0.12:/glue/archive/0a7add1d9996.tar.bz2Resource Agents 3.9.6:https:///ClusterLabs/resource-agents/archive/v3.9.6.tar.gz 添加 haclient 组和 hacluster 账户,这个⽤户主要⽤来配置respawn的。
groupadd haclientuseradd -g haclient -M -s /sbin/nologin hacluster 安装Cluster Glue 1.0.12tar -xf 0a7add1d9996.tar.bz2cd Reusable-Cluster-Components-glue--0a7add1d9996/./autogen.sh./configure --prefix=/usr/local/heartbeat LIBS='/lib64/libuuid.so.1'make && make install 安装Resource Agentstar -xf v3.9.6.tar.gzcd resource-agents-3.9.6/./autogen.sh./configure --prefix=/usr/local/heartbeatmake && make install 安装heartbeat-3-0-6tar -xf 958e11be8686.tar.bz2cd Heartbeat-3-0-958e11be8686/#设置,否则安装会报错export CFLAGS="$CFLAGS -I/usr/local/heartbeat/include -L/usr/local/heartbeat/lib"#删除配置⽂件的最后⼀⾏sed -i '/^#define HA_HBCONF_DIR /d' /usr/local/heartbeat/include/heartbeat/glue_config.h./bootstrap./configure --prefix=/usr/local/heartbeat LIBS='/lib64/libuuid.so.1'make && make install 拷贝配置⽂件cd /usr/local/heartbeat/share/doc/heartbeatcp authkeys ha.cf haresources /usr/local/ heartbeat/etc/ha.d/ 设置配置⽂件权限及软连接cd /usr/local/heartbeat/etc/ha.dchmod 600 authkeysln -svf /usr/local/heartbeat/lib64/heartbeat/plugins/RAExec/* /usr/local/heartbeat/lib/heartbeat/plugins/RAExec/ln -svf /usr/local/heartbeat/lib64/heartbeat/plugins/* /usr/local/heartbeat/lib/heartbeat/plugins/ 编辑配置⽂件 192.168.1.101上的ha.cf⽂件内容如下# cat /usr/local/heartbeat/etc/ha.d/ha.cf# 保存调试信息⽂件debugfile /var/log/ha-debug# ⽇志⽂件logfile /var/log/ha-log# 表⽰使⽤系统⽇志logfacility local0# ⼼跳的时间间隔,单位秒keepalive 1# 超出该时间间隔未收到对⽅节点的⼼跳,则判定对⽅死亡deadtime 30# 超出该时间间隔未收到对⽅节点的⼼跳,则发出警告记录到⽇志中warntime 10# 在某系统上,系统启动或重启之后需要经过⼀段时间⽹络才能正常⼯作,该选项⽤于解决这种情况产⽣的时间间隔,取值⾄少为deadtime的2倍initdead 120# 设置⼴播通信使⽤的端⼝,694为默认使⽤的端⼝号udpport 694# 传播⼼跳的⼴播播⽹卡信息bcast eth0# 设置对⽅机器⼼跳检测的IP# 第⼆列为⽹卡名第三列为⼼跳IP,⽣产中⼼跳需要与数据⽹络分开ucast eth0 192.168.1.102# 在该选项设为on的情况下,⼀旦主节点恢复运⾏,则⾃动获取资源并取代从节点auto_failback off# 配置主从的节点信息node hdp3node hdp4# 如果ping不通该地址,就认为当前断⽹,需要转移vipping 192.168.1.9# 指定与heartbeat⼀同启动和关闭的进程,该进程被⾃动监视,遇到故障则重新启动。
Heartbeat安装与配置

Heartbeat安装与配置分类:Linux之Ubuntu2014-05-08 17:18 1060人阅读评论(0) 收藏举报Heartbeat主备MYSQL1、环境描述服务器A(主) 192.85.1.175服务器B(从) 192.85.1.176Mysql版本:5.1.61系统版本:System OS:centos 5.82.安装heartbeat1)安装heartbeat1.yum -y install heartbeat2)配置说明heartbeat的安装目录为/etc/ha.d目录下,安装完成后,需要三个配置文件,为ha.cf,haresources,authkeys。
此时目录下没有这三个文件,需要创建,我们可以在/usr/share/doc/heartbeat目录里找到ha.cf、haresources、authkeys三个文件,只需将其拷贝到/etc/ha.d目录下,即可*.gz文件,使用gunzip 命令解压3.175服务器配置信息:(1)etc/hosts 文件内容:[html]view plaincopy1.192.85.1.175 primary # Added by NetworkManager(2)ha.cf 文件内容:(主配置文件)[html]view plaincopy1.#2.# There are lots of options in this file. All you have to have is a set3.# of nodes listed {"node ...} one of {serial, bcast, mcast, or ucast},4.# and a value for "auto_failback".5.#6.# ATTENTION: As the configuration file is read line by line,7.# THE ORDER OF DIRECTIVE MATTERS!8.#9.# In particular, make sure that the udpport, serial baud rate10.# etc. are set before the heartbeat media are defined!11.# debug and log file directives go into effect when they12.# are encountered.13.#14.# All will be fine if you keep them ordered as in this example.15.#16.#17.# Note on logging:18.# If all of debugfile, logfile and logfacility are not defined,19.# logging is the same as use_logd yes. In other case, they are20.# respectively effective. if detering the logging to syslog,21.# logfacility must be "none".22.#23.# File to write debug messages to24.debugfile /var/log/ha-debug #调试日志文件25.#26.#27.# File to write other messages to28.#29.logfile /var/log/ha-log #系统运行日志文件30.#31.#32.# Facility to use for syslog()/logger33.#34.logfacility local0 # 日志记录等级35.#36.#37.# A note on specifying "how long" times below...38.#39.# The default time unit is seconds40.# 10 means ten seconds41.#42.# You can also specify them in milliseconds43.# 1500ms means 1.5 seconds44.#45.#46.# keepalive: how long between heartbeats?47.#48.keepalive 2 #心跳频率,2表示2秒;200ms则表示200毫秒49.#50.# deadtime: how long-to-declare-host-dead?51.#52.# If you set this too low you will get the problematic53.# split-brain (or cluster partition) problem.54.# See the FAQ for how to use warntime to tune deadtime.55.#56.deadtime 30 #节点死亡时间,就是过了10秒后还没有收到心跳就认为主节点死亡57.#58.# warntime: how long before issuing "late heartbeat" warning?59.# See the FAQ for how to use warntime to tune deadtime.60.#61.warntime 10 #告警时间62.#63.#64.# Very first dead time (initdead)65.#66.# On some machines/OSes, etc. the network takes a while to come up67.# and start working right after you've been rebooted. As a result68.# we have a separate dead time for when things first come up.69.# It should be at least twice the normal dead time.70.#71.initdead 120 #初始化时间72.#73.#74.# What UDP port to use for bcast/ucast communication?75.#76.udpport 694 #心跳信息传递的udp端口77.78.#79.# What interfaces to broadcast heartbeats over?80.#81.bcast eth0 # Linux #采用udp广播播来通知心跳,建议在备用节点不只一台时使用82.#bcast eth1 eth2 # Linux83.#bcast le0 # Solaris84.#bcast le1 le2 # Solaris85.#86.# Set up a multicast heartbeat medium87.# mcast [dev] [mcast group] [port] [ttl] [loop]88.#89.# [dev] device to send/rcv heartbeats on90.# [mcast group] multicast group to join (class D multicast address91.# 224.0.0.0 - 239.255.255.255)92.# [port] udp port to sendto/rcvfrom (set this value to the93.# same value as "udpport" above)94.# [ttl] the ttl value for outbound heartbeats. this effects95.# how far the multicast packet will propagate. (0-255)96.# Must be greater than zero.97.# [loop] toggles loopback for outbound multicast heartbeats.98.# if enabled, an outbound packet will be looped back and99.# received by the interface it was sent on. (0 or 1)100.# Set this value to zero.101.#102.#103.#bcast eth0 225.0.0.1 694 1 0104.#105.# Set up a unicast / udp heartbeat medium106.# ucast [dev] [peer-ip-addr]107.#108.# [dev] device to send/rcv heartbeats on109.# [peer-ip-addr] IP address of peer to send packets to110.#111.ucast eth0 192.85.1.175112.113.auto_failback on #如果主节点重新恢复过来,主节点将主动将资源抢占过来,如果为off,则只当备用节点当掉后,主节点才取回资源114.115.watchdog /dev/watchdog #看门狗。
双机热备+负载均衡线上方案(Heartbeat+DRBD+NFS+Keepalived+Lnmp)

/thread-3689681-1-1.html我们下面来实现一个架构,heartbeat+drbd+nfs实现mysql和网站数据的同步,keepalived 实现nginx的高可用,而用nginx和dns轮询实现负载均衡。
架构说明目录规划/usr/local/src/lnmp:用来存放源码工具等等/data:用来存放所有数据和NFS以及DRBD的挂载/data/shell:用来存放所有管理脚本/data/mysql:用来挂载DRBD的mysql资源,以供mysql存放数据库/data/wwwnfs:用来挂载DRBD生成的www资源,以供两个节点挂载到各个节点的/data/www 目录,以供论坛等程序数据使用/data/www:用来挂载NFS资源,用来存放论坛(网站)等程序数据拓扑工作原理内网:1,DRBD网络存储创建出两个资源,一个mysql给mysql数据库同步用,一个www给web(论坛)数据NFS共享挂载用,虚拟出两个虚拟IP,一个是 192.168.1.100,用来连接数据库,一个是192.168.1.200,用来给节点挂载NFS注意:NFS底下挂载了三次:DRBD挂载一次,文件系统挂载一次,客户端挂载一次2,Heartbeat来实现DRBD的HA,同时虚拟出两个内网IP,并管理NFS,MySQL的启动和关闭外网:1,两个节点都用Nginx做均衡器,通过内网调度负载两个节点,实现内部均衡2,DNS配置双IP对应一个域名的方式来实现DNS轮询,实现外网均衡3,Keepalived使用双主(master)配置虚拟出两个虚拟IP:节点一 12.12.12.100和节点二12.12.12.200,同时共外网访问,两个节点互为主从关系,当某个节点挂掉的时候,另外一个节点将同时是两个资源的master,同时拥有两个虚拟IP,实现资源转移。
我们知道DNS的缺点就是生效慢,分配资源不合理,理论上有可能把所有的请求都发送给同一节点,导致均衡不合理导致所有资源不可用,这里我们由于有了NGINX内部负载,就不怕DNS轮询不均衡了,因为NGINX内部有严谨的调度方式,不管那台请求有多少,在内部都能实现理想的调度,这样就能把 DNS负载均衡和NGINX完美结合,是硬件资源得到合理的利用,然后利用keepalive保证了每个节点的可靠性,几乎完美!拓扑图如下:架构实现LNMP架构配置配置LNMp架构需要注意两点:注意一:这里MYSQL都不要初始化,不要启动!后面有专门的配置的注意二:nginx所有端口都改成 8080,因为一会还要安装nginx来做均衡器并对外提供服务,所以不要用默认的80注意三、nginx和php-fpm运行的用户都是www。
HA配置方法

/html/200603/2521.html(c)Copyleft2003-2007,EvilOctalSecurityTeam.
ThisfileisdecompiledbyanunregisteredversionofChmDecompiler.
Regsiteredversiondoesnotshowthismessage.
YoucandownloadChmDecompilerat:/
�
[原创]HA配置方法
文章标题:[原创]HA配置方法顶部 代码罐头 发布于:2006-04-2514:01 [楼主][原创]HA配置方法
信息来源:邪恶八进制信息安全团队()
文章作者:代码罐头[E.S.T]
1.试验环境网络拓扑
1.1硬件配置:
4台服务器均联网到同一局域网
#rpm-ivhperl-libwww-5.65-5.noarch.rpm
#rpm-ivhperl-URI-1.21-7.noarch.rpm
4.添加HeartBeat的用户
#groupaddhaclient
#useraddhacluster-ghaclient
5.安装HeartBeat
#tar-zxfheartbeat-2.0.4.tar.gz
#cdheartbeat-2.0.4
#./ConfigureMeconfigure
#make
#makeinstall
#cpdoc/ha.cfdoc/haresourcesdoc/authkeys/etc/ha.d/
#cpldirectord/ldirectord.cf/etc/ha.d/
安装并配置vCenter 5,vCenter Server Heartbeat

安装并配置vCenter 5.0一.准备域环境1.安装Windows Server 2008 R2 插入光盘选择企业版下一步选择“高级”,再选择需要安装的磁盘开始安装安装期间服务器会自动重启首次登陆需要修改密码安装vmware tools(vmware虚拟化环境),选择典型安装安装完毕后重启服务器配置网络激活服务器(联系网络班组开通访问微软的权限)2.安装dc服务使用dcpromo命令一步步安装域控,并添加dns服务注意DNS必须增加反解(vmware所有机器需要解析到正确的FQDN)二.准备数据库环境1.安装或利旧oracle数据库(UTF-8)2.建vpxadmin schema使用系统帐户登录SQL*Plus 会话。
运行脚本,位于vCenter Server 安装软件包的/<installationdirectory>/vpx/dbschema/DB_and_schema_creation_scripts_oracle.txt 文件中。
CREATE TABLESPACE "VPX" DATAFILE 'C:\Oracle\ORADATA\VPX\VPX.dbf' SIZE2048M AUTOEXTEND ON NEXT 16M;对于其他系统安装,更改vpx.dbf 文件的目录路径。
创建一个用户,如vpxAdmin,用于通过ODBC 访问表空间。
CREATE USER vpxadmin IDENTIFIED BY vpxadmin DEFAULT TABLESPACE vpx;可以向该用户授予dba 权限,或者向其授予下列权限。
grant connect to <user>grant resource to <user>grant create view to <user>grant create sequence to <user>grant create table to <user>grant create materialized view to <user>grant execute on dbms_lock to <user>grant execute on dbms_job to <user>grant unlimited tablespace to <user>三.安装及配置vCenter服务器1.安装oracle客户端如果是Windows 2008 Server 服务器,请先修改安装目录内的refhost.xml文件:增加<OPERATING_SYSTEM><VERSION VALUE=”6.1”></OPERATING_SYSTEM>运行setup选择InstantClient编辑位于C:\Oracle\Oraxx\NETWORK\ADMIN 目录下的tnsnames.ora 文件VPX =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS=(PROTOCOL=TCP)(HOST=hostname)(PORT=1521)))(CONNECT_DATA =(SERVICE_NAME = VPX)))2.创建系统DSN开始—管理工具—数据源(ODBC)创建系统DSN3.安装vcenter server插入光盘选择安装vcenter server注意的是选择数据库时请选择刚才建立的oracle数据库使用端口情况(主用)接着配置JVM内存配置,以及极大规模情况下配置安装后注意:对于Oracle Instant 客户端,检查vCenter Server tomcat 目录(<vCenterinstalllocation>\Infrastructure\tomcat\lib)是否存在ojdbc5.jar(不同的oracle版本可能是ojdbc14.jar)如果不存在,从<Install location>\app\Administrator\product\11.1.0\<instance_name>\sqldeveloper\jdbc\lib 下复制4.安装web client server端口配置:安装完成自动打开管理界面网页https://localhost:9443/admin-app/访问此页面需要Adobe Flash Player 10.1以上打开后,首先注册vcenter server四.配置链接模式1.安装oracle客户端2.安装vc模式(以链接模式安装)确保能解析到主用fqdn。
heartbeat使用手册

heartbeat使用手册heartbeat使用手册1. 简介Heartbeat是一种开源工具,用来监控和管理分布式系统中的服务可用性和故障恢复。
本文档将详细介绍heartbeat的安装、配置和使用方法。
2. 安装2.1 系统要求- 操作系统:支持Linux、Unix和Windows等常见操作系统。
- 硬件要求:具备足够的计算资源和存储空间。
2.2 和安装- 访问Heartbeat的官方网站,最新版本的安装包。
- 解压安装包并执行安装脚本,按照提示完成安装过程。
3. 配置3.1 配置文件- 在Heartbeat安装目录下找到配置文件heartbeat.cfg。
- 使用编辑器打开文件,根据需求进行配置,包括节点信息、监控项等。
3.2 节点配置- 在配置文件中添加监控节点信息,包括节点名称、IP地址、端口号等。
- 根据需求,可以配置多个节点,以实现高可用和负载均衡。
3.3 监控项配置- 在配置文件中定义要监控的服务和资源,包括各个节点上的服务类型、端口号等。
- 根据需求,可以添加、修改或删除监控项。
4. 使用4.1 启动Heartbeat服务- 执行启动命令,启动Heartbeat服务。
- 根据需要,可以指定配置文件路径和日志文件路径等参数。
4.2 监控和管理服务- 在Web界面或命令行界面上查看和管理节点状态和服务健康状况。
- 根据警报信息,可以及时采取措施进行故障恢复或调整配置。
5. 附件本文档附带以下附件,供参考和进一步了解:- heartbeat.cfg 示例配置文件- 快速入门指南- 故障恢复示例6. 法律名词及注释- Heartbeat: Heartbeat是一个开源的工具,用来监控和管理分布式系统中的服务可用性和故障恢复。
- 节点: 在heartbeat中,节点代表参与集群的机器或实例。
- 监控项: 监控项是需要被Heartbeat监控的服务或资源。
- 高可用: 高可用是指在系统发生故障时,仍能保持服务可用性的能力。
heardbeat

Heartbeat 的基本配置与测试一:H e a r t b e a t简介Heartbeat 项目是Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统。
心跳服务和集群通信是高可用集群的两个关键组件,在Heartbeat 项目里,由heartbeat 模块实现了这两个功能。
高可用集群是指一组通过硬件和软件连接起来的独立计算机,它们在用户面前表现为一个单一系统,在这样的一组计算机系统内部的一个或者多个节点停止工作,服务会从故障节点切换到正常工作的节点上运行,不会引起服务中断。
从这个定义可以看出,集群必须检测节点和服务何时失效,何时恢复为可用。
这个任务通常由一组被称为“心跳”的代码完成。
在Linux-HA里这个功能由一个叫做heartbeat的程序完成。
Heartbeat的配置文件位于/etc/ha.d/目录下,共有三个配置文件ha.cf、haresources、authkeys,这三个文件中包含了heartbeat的所有配置信息。
Heartbeat工作原理:heartbeat最核心的包括两个部分,心跳监测部分和资源接管部分。
把服务监测进程运行在负载均衡器上,用来定期检查服务器是否可用。
如果在指定的时间内没有响应服务接入请求,监测服务就会认为服务器是不可用,这是就会把工作切换到其他可用的机器上,以便继续提供服务。
当检测到主机恢复了,就把服务切换到原来的主机上。
二:安装H e a r t b e a t方德高可信自带有heartbeat-2.99.2-9.1版本,需要将ha.cf、haresourcesauthkeys三个配置文件从/usr/share/doc/packages/heartbeat/目录复制到/etc/ha.d/下三:H e a r t b e a t配置文件3.1 ha.cf 配置文件ha.cf文件是heartbeat的主要配置文件,主要是定义一些heartbeat守护进程运行时需要的参数,这些参数决定heartbeat运行方式# 用于记录heartbeat的调试信息debugfile /var/log/ha-debug# 用于记录heartbeat的日志信息logfile /var/log/ha-log# 如果未定义上述的日志文件,那么日志信息将送往logfacility local0# 发送心跳报文的间隔,默认单位为秒keepalive 2# 用于配置认为对方节点down掉的间隔deadtime 10# 发出最后的心跳警告信息的间隔warntime 30# 网络启动的时间initdead 120# 广播/单播通讯使用的udp端口udpport 694#Linux 心跳所使用的网络接口bcast eth0 # Linux# 用于决定,当拥有该资源的属主恢复之后,资源是否变迁:是迁移到属主上,还是在当前节点上继续运行,直到当前节点出现故障。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Heartbeat配置安装手册一、实验目的利用heartbeat搭建双服务器热备份高可用群集。
二、实验环境两台linux服务器,双网卡。
server1: eth0:10.0.0.1 (作为心跳线)eth1:192.168.253.129server2:eth0:10.0.0.2(作为心跳线)eth1:192.168.253.130虚拟IP : 192.168.253.200三、修改/etc/hosts文件1、在server1上加入以下内容:10.0.0.1 server110.0.0.2 server22、在server2上加入以下内容:10.0.0.2 server210.0.0.1 server1注:保证uname –n 的返回结果分别为server1与server2。
四、安装heartbeat之前请先安装libnet(两台服务器都安装)#tar -zxvf libnet.tar.gz#cd libnet#./configure#make && make install五、安装heartbeat(两台服务器都安装)1、两个node分别创建heartbeat相关的用户和组#groupadd haclient#useradd -g haclient hacluster2、安装heartbeat#tar -zxvf heartbeat-2.1.3.tar.gz#cd heartbeat-2.1.3#./ConfigureMe configure#make && make install3、复制配置文件#cp doc/ha.cf /etc/ha.d/#cp doc/authkeys /etc/ha.d/#cp doc/haresources /etc/ha.d/4、编辑/etc/ha.d/ha.cf1、server1上面[root@server1 ~]# cat /etc/ha.d/ha.cf | grep -v '#'logfile /var/log/ha-loglogfacility local0keepalive 2deadtime 20warntime 5initdead 120udpport 694ucast eth0 10.0.0.2auto_failback onnode server1node server2ping 192.168.253.254hopfudge 1deadping 302、server2上面[root@server2 ~]# cat /etc/ha.d/ha.cf | grep -v '#'logfile /var/log/ha-loglogfacility local0keepalive 2deadtime 20warntime 5initdead 120udpport 694ucast eth0 10.0.0.1auto_failback onnode server1node server2ping 192.168.253.254hopfudge 1deadping 305、编辑/etc/ha.d/authkeys(两台服务器一样)1、开放以下两项[root@server1 ~]# cat /etc/ha.d/authkeys | grep -v '#'auth 11 crc2、更改authkeys权限#chmod 600 /etc/ha.d/authkeys6、编辑/etc/ha.d/haresources,加入以下内容(两台服务器一样)[root@server1 ~]# cat /etc/ha.d/haresources | grep -v '#'server1 IPaddr::192.168.253.200/24/eth1 mysqld 注:mysqld为mysql的启动脚本(及在/etc/init.d/下的启动脚本)六、启动heartbeat#/etc/init.d/heartbeat start 或者#service heartbeat start 启动两台服务器上的heartbeat。
七、检测实验结果1、在启动heartbeat前,mysql服务处于停止状态[root@server1 ~]# netstat -nltp|grep mysqld[root@server1 ~]#2、启动heartbeat后,server1上面的mysql处于启动状态,而server2上面mysql依然处于停止状态。
[root@server1 ~]# netstat -nltp|grep mysqldtcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 10678/mysqld[root@server1 ~]#3、启动heartbeat后,server1上面执行ip add 后在eth1里面多出一条记录(红色字体标注),而server2上没有。
[root@server1 ~]# ip add1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueuelink/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host loinet6 ::1/128 scope hostvalid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000link/ether 00:0c:29:47:fd:82 brd ff:ff:ff:ff:ff:ffinet 10.0.0.1/24 brd 10.0.0.255 scope global eth0inet6 fe80::20c:29ff:fe47:fd82/64 scope linkvalid_lft forever preferred_lft forever3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000link/ether 00:0c:29:47:fd:8c brd ff:ff:ff:ff:ff:ffinet 192.168.253.129/24 brd 192.168.253.255 scope global eth1inet 192.168.253.200/24 brd 192.168.253.255 scope global secondary eth1:0inet6 fe80::20c:29ff:fe47:fd8c/64 scope linkvalid_lft forever preferred_lft forever4: sit0: <NOARP> mtu 1480 qdisc nooplink/sit 0.0.0.0 brd 0.0.0.04、停止server1的网卡eth0后,在server2上面执行命令查看接管状态,server2的eth1网卡多出一条记录(红色字体)。
[root@server2 ~]# netstat -nltp|grep mysqldtcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 9374/mysqld[root@server2 ~]#[root@server2 ~]# ip add1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueuelink/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host loinet6 ::1/128 scope hostvalid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000link/ether 00:0c:29:a7:61:59 brd ff:ff:ff:ff:ff:ffinet 10.0.0.2/24 brd 10.0.0.255 scope global eth0inet6 fe80::20c:29ff:fea7:6159/64 scope linkvalid_lft forever preferred_lft forever3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000link/ether 00:0c:29:a7:61:63 brd ff:ff:ff:ff:ff:ffinet 192.168.253.130/24 brd 192.168.253.255 scope global eth1inet 192.168.253.200/24 brd 192.168.253.255 scope global secondary eth1:0inet6 fe80::20c:29ff:fea7:6163/64 scope linkvalid_lft forever preferred_lft forever4: sit0: <NOARP> mtu 1480 qdisc nooplink/sit 0.0.0.0 brd 0.0.0.0八、结论经过检测,试验成功。
当server1启动heartbeat时,将自身的mysql服务启动,并虚拟出IP 192.168.253.200对外网提供服务。
当server1挂点后(断开server1的eth0模拟),server2检测不到来自server1的心跳,一段时间内(ha.cf内设定)server2启动mysql服务并接管服务。
当server1恢复正常后,server1又重新接管服务。