Compile e instale Heartbeat desde el código fuente en centos7

  Recientemente, encontré la modificación de un paquete de instalación de software de terceros y unifiqué la ruta de instalación a la ruta /opt/. Originalmente se instalaba directamente usando yum. Este artículo presenta cómo instalar Heartbeat en centos7 usando la compilación del código fuente.

1. Entiende qué es Heartbeat

  El proyecto Heartbeat es una parte integral del proyecto Linux-HA, que implementa un sistema de clúster de alta disponibilidad. El servicio Heartbeat y la comunicación del clúster son dos componentes clave de un clúster de alta disponibilidad. En el proyecto Heartbeat, estas dos funciones se implementan mediante el módulo Heartbeat.

Principio: El núcleo de Heartbeat incluye dos partes, la parte de monitoreo de latidos y la parte de adquisición de recursos. El monitoreo de Heartbeat se puede realizar a través de enlaces de red y puertos serie, y admite enlaces redundantes. Se envían mensajes entre sí para informarse entre sí sobre su estado actual. status.status, si no se recibe ningún mensaje enviado por la otra parte dentro del tiempo especificado, la otra parte se considera inválida. En este momento, es necesario iniciar el módulo de adquisición de recursos para hacerse cargo de los recursos o servicios que se ejecutan en la otra parte. anfitrión.

Dirección oficial de Heartbeat: http://www.linux-ha.org/wiki/Download

2. Compile e instale Heartbeat

1. Prepare el entorno de compilación.

服务器: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. Descargue el paquete de instalación correspondiente.

  Los archivos del paquete de instalación que deben descargarse para compilar e instalar Heartbeat desde el código fuente incluyen (tenga en cuenta que debe instalarlos en orden):

3. Compile cluster-glue

#解压安装包
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. Compilar agentes de recursos

Los agentes de recursos son scripts ocf para varios recursos. LRM llama a estos scripts para iniciar, detener, monitorear, etc.

#解压安装包
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. Compile e instale 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. Copie archivos relevantes

#复制配置源码中的配置文件到配置目录
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. Modifique el archivo de configuración y habilite el servicio Heartbeat.

Edite el archivo de configuración 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

Editar claves de autenticación 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!

Edite el archivo de recursos haresources (/opt/heartbeat/etc/ha.d/haresources)

  Este archivo representa la administración de recursos. Si es un host, todos los recursos de inicio configurados en este archivo se cargarán automáticamente después de que se inicie el host. El script de recursos está por defecto en el directorio Resource.d en el mismo directorio de nivel que haresources. .

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

8. Cierre el firewall e inicie el servicio Heartbeat.

Busque el archivo ejecutable heartbeat e ingrese: heartbeat start

3. Problemas comunes y soluciones

1、/usr/bin/ld: no se puede encontrar -lplumb

Solución: busque / -name libplumb*, busque el archivo de biblioteca dependiente correspondiente y cópielo en /usr/lib64.

2. gmake[2]: a2x: comando no encontrado

Solución: yum instala asciidoc

3. Al instalar Resource-agents-3.9.6, error ln: No se puede crear el enlace simbólico "/usr/lib/ocf/resource.d/heartbeat/.ocf-binaries": el archivo ya existe

Solución: desinstale y luego reinstale.

4、ERROR: Directiva ilegal [xxx] en /opt/heartbeat/etc/ha.d//ha.cf

Solución: Esta situación generalmente es causada por una configuración incorrecta en el archivo de configuración ha.cf. Verifique el archivo de configuración.

Supongo que te gusta

Origin blog.csdn.net/fish332/article/details/128540022
Recomendado
Clasificación