1.HA相关知识简介
此章节了解相关知识的童鞋可以跳过
1.1哪些是HA?
Heartbeat项目是Linux-HA工程的一个组成部份,它实现了一个高可用集群系统。脉搏服务和集群通讯是高可用集群的两个关键组件,在Heartbeat项目里,由heartbeat模块实现了这两个功能。
1.2为何要使用HA?
目前RPA项目用HA做双机热备,也就是高可用集群。高可用集群是指一组通过硬件和软件联接上去的独立计算机,它们在用户面前表现为一个单一系统,在这样的一组计算机系统内部的一个或则多个节点停止工作,服务会从故障节点切换到正常工作的节点上运行,不会导致服务中断。从这个定义可以看出,集群必须检查节点和服务何时失效,何时恢复为可用。这个任务一般由一组被称为“心跳”的代码完成。在Linux-HA里这个功能由一个称作heartbeat的程序完成。
假如一台设备在使用时出现宕机,另外一台服务器可以暂时取代第一台,而不影响系统的正常运行
1.3哪些是浮动IP?作用是哪些?
这儿我就不去复制粘贴百度上的内容了,举个实际场景的事例,服务器A作为主机,IP为1.1.1.10,服务器B作为备机雨林木风linux,IP为1.1.11,浮动IP为1.1.1.1,这么顾客端和服务器通信都和浮动IP进行通信(在主机上配置的虚拟网卡),倘若在主机发生宕机时,浮动IP会出现在备机上,顾客端不会和真正的服务器A/B的地址进行通信。
PS:在项目中,假如须要双机热备,须要3个IP,须要和顾客沟通索要。
2.CentOS/RHEL7安装HA2.1安装前打算
因为系统版本的诱因(网路管理机制等)RPA服务端自带的HA包不能在CentOS/RHEL7中运行,CentOS和RedHatLinux(简称RHEL)核心一样,本帖内容都适用。但必须为全新的安装环境,须要在平台安装之前安装HAlinux操作系统,否则会出现平台页面不能正常打开,须要再执行一遍平台安装脚本才可以(有数据的服务器谨慎操作),这个并非脚本的诱因引起的,可能由于HA安装过程中新装了一些包造成环境变化不能运行。
须要提早配置好两台服务器的机器名及/etc/hosts文件,保证主备机保持开机但是网路通畅的状态,脚本本身也会对其做测量,以下是/etc/hosts文件配置范例:
注意:机器名只能由字母和”-“组成,请勿使用”.”,使用“.”后小数点旁边的内容难以显示下来。
更改机器名方式(仅限CentOS/RHEL7):
vi/etc/hostname
上述步骤完成后都须要进行重启才会生效
2.2开始安装将该文件2ea3e54bc5274a2ba5fdf4326ea0954a_ha_install_centos7_Final.zip
(点击下载)解压(因为峰会不能上传tar.gz格式的文件),将tar包上传到服务器使用CRT等远程联接工具命令行登陆服务器,解压ha_install_centos7_Final.tar.gz
tar-zxvfha_install_centos7_Final.tar.gz配置info.txt配置信息
cdha_install_centos7/
viinfo.txt
请严格依照格式写,严格分辨大小写,而且井号不能删掉,井号前内容也不要有空格
以下为填写范例/说明
网卡填写说明ifconfig:填写红框标明的内容,以服务器实际情况为准
系统ISO镜像/光碟须要提早插入服务器,无需进行mount操作,光碟路径一定要为/dev/sr0,假如须要更改光碟路径,更改脚本第97行(假如早已配置好本地yum库房忽视此步骤)
脚本会对环境进行监测如早已安装或不是root用户会有提示
脚本开始执行,会让你再度确认输入信息,倘若确认选择ycentos双机热备方案,须要返回更换选n,提示是否搭建本地yum库房,假如早已搭建了yum库房,请选择n
shhainstall.sh
真正组件安装前,脚本会对info.txt内容进行检测,会出现以下几种情况的报错
倘若出现如下报错,说明ip格式不正确应当为X.X.X.X或则ip中富含非数字字符
倘若出现如下报错,说明该ip不能连通,请复查网路
假如出现报错中非ip是机器名,请复查/etc/hosts是否正确配置并重启,且info.txt内容正确
假如安装过程中出现如下报错退出,且hacluster用户及haclient组没有其他用途,先进行删掉操作
删掉方式:
userdel-rfhacluster
groupdelhaclient
假如安装过程无报错,显示heartbeat服务正常,安装结束后5分钟内先安装的一台可以出现浮动IP
2.3.安装后服务不能正常启动处理
这些情况基本为info.txt中的内容不正确centos双机热备方案,heartbeat服务没有正常启动,可以通过systemctlstatusheartbeat.service查看具体报错信息,修改相关配置文件,以下为HA各配置文件范例。
场景描述
主192.168.202.100
备192.168.202.101
浮192.168.202.111
网段192.168.202.2
主机名rpa1
备机名rpa2
/usr/local/heartbeat/etc/ha.d/ha.cf
主机:
noderpa1
noderpa2
#logfile/var/log/ha.log#输出日志
logfacilitylocal0
ucastens33192.168.202.101#主机填写备机IP
keepalive2
warntime10
deadtime20
initdead50
udpport694
auto_failbackon
ping192.168.202.2
respawnhacluster/usr/local/heartbeat/libexec/heartbeat/ipfail
apiauthpinggid=haclientuid=hacluster
备机:
noderpa1
noderpa2
logfacilitylocal0
ucastens33192.168.202.100#备机填写主机IP
keepalive2
warntime10
deadtime20
initdead50
udpport694
auto_failbackon
ping192.168.202.2
respawnhacluster/usr/local/heartbeat/libexec/heartbeat/ipfail
apiauthpinggid=haclientuid=hacluster
/usr/local/heartbeat/etc/ha.d/haresources
rpa1192.168.202.111/24/ens33
/usr/local/heartbeat/etc/ha.d/authkeys
auth1
1crc
更改完成后须要重启HA服务
2.4安装成功后测试
浮动IP仅在主机/备机先安装的一台上出现,假如两台都出现了浮动IP说明配置文件存在问题,假若两台仅一台出现浮动IP且
heartbeat服务运行正常则说明安装成功,可以做进一步测试。
1.关掉出现浮动IP的一台服务器的heartbeat服务systemctlstopheartbeat
2.另一台在数秒后使用ifconfig可以看见浮动IP
3.开启之前关掉的heartbeat服务,若该台为主机,重启备机的heartbeat服务,浮动IP回到主机上
2.5相关说明
安装过程中会临时关掉SELinux服务和永久关掉firewalld防火墙服务,若须要恢复,请自动开启,可能会影响heartbeat工作,具体配置方式本贴不提供,技巧如下:
1.开启SELinux
setenforce1
2.开启防火墙
systemctlenablefirewalld
systemctlstartfirewalld
3.致谢
谢谢在我完成这项工作时配合我测试的正华、给予我支持的官云飞官哥还有教我使用峰会贴子格式的“网红”小妹妹罗红。
PS:假如在使用中有任何问题欢迎发帖见谅