Compilez et installez Heartbeat à partir du code source sur centos7

  Récemment, j'ai rencontré la modification d'un package d'installation de logiciel tiers et j'ai unifié le chemin d'installation avec le chemin /opt/. À l'origine, il a été installé directement à l'aide de yum. Cet article explique comment installer Heartbeat sur centos7 à l'aide de la compilation du code source.

1. Comprendre ce qu'est Heartbeat

  Le projet Heartbeat fait partie intégrante du projet Linux-HA, qui implémente un système de cluster à haute disponibilité. Le service Heartbeat et la communication de cluster sont deux composants clés d'un cluster à haute disponibilité. Dans le projet Heartbeat, ces deux fonctions sont implémentées par le module Heartbeat.

Principe : Le cœur de Heartbeat comprend deux parties : la partie de surveillance du rythme cardiaque et la partie de prise en charge des ressources. La surveillance du rythme cardiaque peut être effectuée via des liaisons réseau et des ports série, et elle prend en charge les liaisons redondantes. Ils s'envoient des messages pour s'informer mutuellement de leur niveau actuel. statut. statut, si aucun message envoyé par l'autre partie n'est reçu dans le délai spécifié, l'autre partie est considérée comme invalide. À ce stade, le module de prise en charge des ressources doit être démarré pour prendre en charge les ressources ou les services exécutés sur le site de l'autre partie. hôte.

Adresse officielle de Heartbeat : http://www.linux-ha.org/wiki/Download

2. Compilez et installez Heartbeat

1. Préparez l'environnement de compilation

服务器:centos7

安装依赖包:yum install -y gcc gcc-c++ autoconf automake libnet  libtool glib2-devel libxml2-devel bzip2-devel e2fsprogs-devel libxslt-devel libtool-ltdl-devel docbook-dtds docboot-style-xsl asciidoc

创建用户和用户组:
groupadd haclient #创建组haclient
useradd -g haclient hacluster -M -s /sbin/nologin  #创建用户hacluster

2. Téléchargez le package d'installation correspondant

  Les fichiers du package d'installation qui doivent être téléchargés pour compiler et installer Heartbeat à partir du code source incluent (notez que vous devez les installer dans l'ordre) :

3. Compiler la colle de cluster

#解压安装包
tar -xf 0a7add1d9996.tar.bz2
#进入解压后的目录
cd Reusable-Cluster-Components-glue--0a7add1d9996/
#执行脚本
./autogen.sh
#执行configure
./configure --prefix=/opt/heartbeat/ --sysconfdir=/opt/heartbeat/etc libdir=/opt/heartbeat/lib64 LIBS='/lib64/libuuid.so.1'
#编译并安装
make && make install

4. Compiler les agents ressources

Les agents de ressources sont des scripts ocf pour diverses ressources. Ces scripts sont appelés par LRM pour démarrer, arrêter, surveiller, etc. diverses ressources.

#解压安装包
tar xf resource-agents-3.9.6.tar.gz
#进入解压后的目录
cd resource-agents-3.9.6/
#执行脚本
./autogen.sh
#执行configure
./configure --prefix=/opt/heartbeat/ --sysconfdir=/opt/heartbeat/etc libdir=/opt/heartbeat/lib64 CFLAGS=-I/opt/heartbeat/include LDFLAGS=-I/opt/heartbeat/lib64 LIBS='/lib64/libuuid.so.1'
#编译并安装
make && make install

5. Compilez et installez Heartbeat

#解压安装包
tar -jxvf 958e11be8686.tar.bz2
#进入解压目录
cd Heartbeat-3-0-958e11be8686
#执行脚本
./bootstrap
#执行configure
./configure --prefix=/opt/heartbeat --sysconfdir=/opt/heartbeat/etc CFLAGS=-I/opt/heartbeat/include LDFLAGS=-L/opt/heartbeat/lib64 LIBS='/lib64/libuuid.so.1'
#创建库文件链接
ln -s /opt/heartbeat/lib64/\*    /lib64
#修改源码文件,否则会make报错
vim /opt/heartbeat/include/heartbeat/glue_config.h
  /*define HA_HBCONF_DIR “/usr/local/heartbeat/etc/ha.d/”*/ #把这一行用/**/注释掉或者删除掉
#编译并安装
make && make install

6. Copiez les fichiers pertinents

#复制配置源码中的配置文件到配置目录
cp -rf doc/{ha.cf,haresources,authkeys} /opt/heartbeat/etc/ha.d/
mkdir -p /opt/heartbeat/usr/lib
cp -rf /usr/lib/ocf /opt/heartbeat/usr/lib/
#修改认证文件及属性
chmod 600 authkeys
#修改配置文件中软件启动路径
sed -i 's#/usr/lib/ocf#/opt/heartbeat/usr/lib/ocf#g' /opt/heartbeat/etc/ha.d/shellfuncs
sed -i 's#/usr/lib/ocf#/opt/heartbeat/usr/lib/ocf#g' /opt/heartbeat/etc/ha.d/resource.d/hto-mapfuncs
sed -i 's#/usr/lib/ocf#/opt/heartbeat/usr/lib/ocf#g' /opt/heartbeat/usr/lib/ocf/lib/heartbeat/ocf-shellfuncs

7. Modifiez le fichier de configuration et activez le service Heartbeat.

Editez le fichier de configuration ha.cf (/opt/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                   
ucast eth0 192.168.17.10   
#在该选项设为on的情况下,一旦主节点恢复运行,则自动获取资源并取代从节点         
auto_failback off              
#配置主从的节点信息(主机名)
node localhost
#如果ping不通该地址,就认为当前断网,需要转移vip
ping 127.0.0.1                  
#指定与heartbeat一同启动和关闭的进程,该进程被自动监视,遇到故障则重新启动。最常用的进程是ipfail,该进程用于检测和处理网络故障,需要配合ping语句指定的ping、node来检测网络连接。如果你的系统是64bit,请注意该文件的路径
respawn hacluster /opt/heartbeat/libexec/heartbeat/ipfail  
#指定用户和组
apiauth ipfail gid=haclient uid=hacluster

Modifier les clés d'authentification authkeys (/opt/heartbeat/etc/ha.d/authkeys)

#
#       Authentication file.  Must be mode 600
#
#
#       Must have exactly one auth directive at the front.
#       auth    send authentication using this method-id
#
#       Then, list the method and key that go with that method-id
#
#       Available methods: crc sha1, md5.  Crc doesn't need/want a  key.
#
#       You normally only have one authentication method-id listed in this file
#
#       Put more than one to make a smooth transition when changing auth
#       methods and/or keys.
#
#
#       sha1 is believed to be the "best", md5 next best.   --->sha1是被认为是最好的  咱们用这个就是最好
#
#       crc adds no security, except from packet corruption.
#               Use only on physically secure networks.
#
auth 1
1 crc
2 sha1 HI!
3 md5 Hello!

Editez le fichier de ressources haresources (/opt/heartbeat/etc/ha.d/haresources)

  Ce fichier représente la gestion des ressources. S'il s'agit d'un hôte, toutes les ressources de démarrage configurées dans ce fichier seront automatiquement chargées après le démarrage de l'hôte. Le script de ressource se trouve par défaut dans le répertoire ressource.d sous le répertoire de même niveau que haresources. .

#机器名 虚拟服务器IP 系统服务
localhost 192.168.17.10 mysqld

8. Fermez le pare-feu et démarrez le service Heartbeat

Recherchez le fichier exécutable Heartbeat et entrez : Heartbeat Start

3. Problèmes courants et solutions

1、/usr/bin/ld : impossible à trouver -lplumb

Solution : recherchez / -name libplumb*, recherchez le fichier de bibliothèque dépendante correspondant et copiez-le dans /usr/lib64.

2. gmake[2] : a2x : commande introuvable

Solution : miam, installez asciidoc

3. Installation de Resource-agents-3.9.6, erreur ln : Impossible de créer un lien symbolique "/usr/lib/ocf/resource.d/heartbeat/.ocf-binaries" : le fichier existe déjà

Solution : effectuez une désinstallation puis réinstallez.

4、ERREUR : directive illégale [xxx] dans /opt/heartbeat/etc/ha.d//ha.cf

Solution : Cette situation est généralement due à une configuration incorrecte dans le fichier de configuration ha.cf. Vérifiez le fichier de configuration.

Je suppose que tu aimes

Origine blog.csdn.net/fish332/article/details/128540022
conseillé
Classement