heartbeat V2在CentOS4.6上简要安装、配置笔记
(shell行命令用粗体表示)
一、准备工作
1、环境
两台CentOS4.6,各一个网卡,IP地址分别为192.168.0.1和192.168.0.2
uname -n
分别显示node1和node2
cat /etc/hosts
均显示
127.0.0.1 localhost.localdomain localhost
192.168.0.1 node1
192.168.0.2 node2
2、两个node分别安装libnet
hearbeat默认编译选项需要e2fsprogs/libnet库,CentOS4.6默认安装了e2fsprogs,所以这里先安装libnet
cd /usr/local/src
wget http://www.packetfactory.net/libnet/dist/libnet.tar.gz
tar zxvf libnet.tar.gz
cd libnet
./configure
make && make install
3、两个node分别创建heartbeat相关的用户和组
groupadd haclient
useradd -g haclient hacluster
4、关闭两个node上的防火墙(如SELINUX),或者设置为信任eth0,使得能相互听见对方心跳。否则两个node都认为对方的状态为dead。(我在这个问题上折腾了一会。其他如采用双绞线通过串口进行心跳监控之类的方案也必须检查双绞线是否正常,保证线路通畅。)
二、两个node分别下载、编译、安装heartbeat
cd /usr/local/src
wget http://linux-ha.org/download/heartbeat-2.1.3.tar.gz
tar zxvf heartbeat-2.1.3.tar.gz
cd heartbeat-2.1.3
./ConfigureMe configure
大致看看编译统计信息后安装
make && make install
三、在node1上的简易配置
将配置文件模板拷贝到默认配置目录(可选,也可手工创建。模板文件中的注释可帮助你理解各配置选项的含义)
cp doc/authkeys /etc/ha.d/
cp doc/ha.cf /etc/ha.d/
cd /etc/ha.d/
开始编辑配置文件(两台机器上都需要安装和配置)
1、编辑/etc/ha.d/authkeys,使用的是第1种认证方式(crc),接着把文件的权限改为600:
cat /etc/ha.d/authkeys
显示
auth 1
1 crc
更改文件权限
chmod 600 /etc/ha.d/authkeys
关于Configuring authkeys
2、编辑/etc/ha.d/ha.cf:
cat /etc/ha.d/ha.cf | grep -v '#'
文件显示如下
keepalive 10
deadtime 60
warntime 20
initdead 60
udpport 694
mcast eth0 225.0.0.1 694 1 0
watchdog /dev/watchdog
node node1 node2
ping 192.168.0.254
use_logd yes
compression zlib
traditional_compression false
crm on
autojoin any
关于ha.cf的指令说明
注意:
ping 192.168.0.254
ping网关,使得每个节点得知自己是否已经离线。我尝试去掉该选项的结果是:当node1拔掉网线之后,node2接管了资源。再插上node1的网线,node2的日志中会不停的出现“WARN: crmd_ha_msg_callback”信息(不信可以试试)。
Additional Options
应该是V2中用来监控Heartbeat运行时对cib.xml的修改。除调试外感觉没啥用,日志中新增了一堆diff信息。
# apiauth cibmon uid=hacluster
# respawn hacluster /usr/lib/heartbeat/cibmon -d
3、资源文件配置。这里以Two Apache Web Servers in an Active/Active Configuration
的更改版(Two Nginx Web Servers in an Active/Active Configuration)来举例。编辑/etc/ha.d/haresources(V1)或者/var/lib/heartbeat/crm/cib.xml(V2)
cib.xml对于初学者来说很难编写,官方的例子中不能简单的拷贝过来,贸然运行heartbeat会导致node重启,我猜测的原因是官方的示例并未遵循其DTD
。
简单的方法是采用hearbeat提供的工具将V1方式的资源配置文件转换为V2 style的。比如:
cat /tmp/haresources
文件内容显示为:
node1 192.168.0.3 nginx
node2 192.168.0.4 nginx
意思是,优先在node1上绑定192.168.0.3这个虚拟IP,并管理(start/stop/status)本机上的nginx。优先在node2上绑定192.168.0.4这个虚拟IP,并管理本机上的nginx。
这里nginx是一个LSB style脚本,位于/etc/init.d/nginx,示例可见这里
。先保证nginx已经安装到两个node上了。
转换命令
/usr/lib/heartbeat/haresources2cib.py --stout -c /etc/ha.d/ha.cf /tmp/haresources
运行转换命令之后,/var/lib/heartbeat/crm/cib.xml自动产生。(请在熟悉了hearbeat之后再去尝试修改该文件。)
四、将node1上的heartbeat相关的配置文件拷贝到node2
scp /etc/ha.d/ha.cf root@node2:/etc/ha.d/ha.cf
scp /etc/ha.d/authkeys root@node2:/etc/ha.d/authkeys
scp /var/lib/heartbeat/crm/cib.xml root@node2:/var/lib/heartbeat/crm/cib.xml
请确保两个node上的配置文件内容和权限相同。
五、在两个node上启动heartbeat并观察结果
1、修改两个node上nginx的index.html
在node1上:
echo 'node1 welcome!' > /usr/local/nginx/html/index.html
在node2上:
echo 'node2 welcome!' > /usr/local/nginx/html/index.html
2、启动两个node上的heartbeat,然后稍等片刻(时间长短取决于ha.cf中的相关参数)。
/etc/init.d/heartbeat start
按照我这里的ha.cf配置,日志信息应该可以通过
tail /var/log/messages -f
进行查看
3、在两个node上分别运行ifconfig
和ps -ef
来查看虚拟IP和ngnix是否已经启动。
4、在浏览器中分别访问http://192.168.0.3/和http://192.168.0.4/,观察。
5、将node1从局域网中断开,稍等片刻。再重复上面的步骤3、4,观察。
6、将node1重新接入局域网,稍等片刻。再重复上面的步骤3、4,观察。
相信你的第一个示例成功之后,对heartbeat的基础原理应该有所了解。接着再详细查看官方文档和网络资料,结合实际进行特定服务的HA,多试验、多失败、多研究。
主要参考资料:
官方网站
中的文档
CU集群和虚拟机论坛
中相关线索
分享到:
相关推荐
标题中的“drbd heartbeat安装 Linux CentOS”涉及到的是在Linux CentOS操作系统上部署DRBD(Distributed Replicated Block Device)和Heartbeat的心跳同步服务。DRBD是一种分布式存储解决方案,用于实现磁盘镜像,...
安装Heartbeat时,首先需要在所有参与集群的节点上安装这些RPM包,然后配置`ha.cf`和`haresources`文件。安装完成后,启动Heartbeat服务并检查其运行状态。在集群环境中,定期监控和维护Heartbeat是非常必要的,以...
1. **安装HeartBeat**:在两台CentOS 7服务器上,首先需要安装HeartBeat。这可以通过执行`yum install heartbeat`命令完成。安装完成后,还需要进行必要的配置。 2. **配置HeartBeat**:在/etc/ha.d/ha.cf文件中,...
heartbeat v2 RPM 安装包,支持 heartbeat 2.1.4 . ..
在安装Heartbeat之前,需要先做一些准备工作: 1. **安装RPMForge Yum源**:Heartbeat及依赖库通常可以通过RPMForge仓库来获取,因此首先需要添加该仓库到系统中。可以通过以下命令进行操作: ```bash rpm -Uvh ...
本文将详细介绍如何在 CentOS 系统上使用 Heartbeat 构建双机热备系统。 #### 方案概述 为了实现双机热备,我们设置了两个服务器节点,分别是主服务器 (sev1.example.com) 和备份服务器 (sev2.example.com),它们...
非联网主机的安装相对复杂,需要先在一台联网的机器上下载所有必要的安装包,然后将这些安装包复制到需要安装 Heartbeat 的主机上进行安装。 ###### 2.2.1 下载安装包 1. **安装 epel 扩展源**:使用 `yum install ...
在本文中,我们将深入探讨如何在 SUSE 10 操作系统上安装和配置 heartbeat v2.x 版本。 首先,安装 heartbeat 的顺序至关重要,因为这些 RPM 包之间存在依赖关系。以下是安装的正确顺序: 1. 安装 Perl 相关库: ...
在安装 CentOS 的过程中需要配置 IP 和 HOSTNAME。网络拓扑结构如下: drbd1.a.com eth0:10.10.3.211 eth1:10.0.0.1(心跳线) drbd2.a.com eth0:10.10.3.212 eth1:10.0.0.2(心跳线) 在安装完成后,需要...
1. **心跳协议(Heartbeat)**:Heartbeat 是一种用于监控和管理集群系统中节点之间通信的软件,它能在节点故障时自动将服务转移到健康的节点上,从而实现高可用性。 2. **CRM(Cluster Resource Manager)**:CRM是...
heartbeat安装配置文档.doc heartbeat安装配置文档.doc heartbeat安装配置文档.doc heartbeat安装配置文档.doc heartbeat安装配置文档.doc
本文档主要介绍了 Heartbeat V2 的安装、配置以及相关算法等内容,旨在帮助用户更好地理解和使用该软件。 #### 二、Heartbeat V2 安装与配置流程 ##### 2.1 Heartbeat 的安装 Heartbeat 的安装通常涉及以下几个...
在深入了解 Centos + Piranha 的安装配置流程之前,我们需要先了解几个核心概念: - **LVS(Linux Virtual Server)**:是 Linux 内核实现的一种高性能负载均衡解决方案,它能够将来自客户端的请求分发到后端多台...
1. **系统准备**:在所有参与服务器上安装CentOS 6.5,确保网络配置正确,并安装必要的软件包,如lvs、heartbeat等。 2. **配置LVS**:在Director Server上启用IPVS,配置负载均衡算法,设置虚拟IP地址,并配置Real...
4. **安装流程**:在安装Heartbeat时,通常需要按照一定的顺序安装这些包,首先安装主包,然后是依赖项,最后是可选的GUI工具和其他模块。安装完成后,还需要进行配置,指定节点间的通信方式,以及设置故障转移策略...
本主题“CENTOS集群配置”着重于如何在CentOS 5.3版本上搭建一个集群环境。集群是一种将多台计算机连接在一起,形成一个统一的计算资源池的方法,它可以提高系统的可用性、可扩展性和性能。 集群的核心概念包括: ...
CentOS6.9 使用方案 tar xf heartbeat.tar.gz cd heartbeat && yum ...安装完成 拷贝默认配置文件 cp /usr/share/doc/heartbeat*/{authkeys,ha.cf,haresources} /etc/ha.d/ 修改配置 /etc/init.d/heartbeat start
通过本文档,用户可以学习如何在 Centos5.6 x86_64 操作系统下安装和配置 DRBD、Heartbeat 和 MySQL,实现服务器平台的高可用性和高性能。 一、DRBD 的部署安装 DRBD(Distributed Replicated Block Device)是一...
在本场景中,我们将深入探讨如何安装和配置Heartbeat,特别是在一个基于CentOS 5.3的操作系统环境下。 首先,构建Heartbeat集群所需的硬件包括至少两台节点服务器,每台服务器配备两块网卡,一块连接公共网络,另一...