免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1592 | 回复: 0

[其他] easyHa 安装配置 [复制链接]

论坛徽章:
0
发表于 2016-03-01 15:39 |显示全部楼层
1.        easyHa简介
easyHa 是由 easy-sys开发,在linux上实现系统“高可用性”(High Availability)的简单、高效、可靠解决方案。
1.1.        easyHa工作方式
easyHa支持四种工作方式:
(1)主备方式 (非对称方式)
工作原理:主机工作,备机处于监控准备状况;当主机宕机时,备机接管主机的一切工作,待主机恢复正常后,按使用者的设定以自动或手动方式将服务切换到主机上运行,数据的一致性通过共享存储系统或数据同步软件来解决。
(2)双机双工方式(互备互援)
工作原理:两台主机同时运行各自的服务工作且相互监测情况,当任一台主机宕机时,另一台主机立即接管它的一切工作,保证工作实时,应用服务系统的关键数据存放在共享存储系统中。
(3)三机集群工作方式(两级备份)
工作原理:三台或多台主机一起工作,其中一台为主机,运行一个或几个服务,它可有两个备用主机,当主机故障时,第一备机接管其服务。如果第一备机接管一段时间后,第一备机也出现故障,第二备机就会瞬时接管主机,也就是说,三台服务器中,只要有一台工作正常,业务就不会停顿,该方式可提供6个9的超高可用性。
(4)混合工作方式
工作原理:一台运行于纯主机模式,另一台服务器运行于主备模式(既是主机,也作另一台的备机)。纯主机宕后,主备模式服务器可接管它,而主备模式服务器宕后,纯主机不会接管它。此种工作方式一般用于纯主机上的服务非常重要,不能停顿,也不能受干扰,而主备模式服务器上的服务则优先级较低,可以停滞一段时间。
1.2.        easyHa达到的可用性
系统可用性也即系统正常运行时间的百分比,业界常用 N 个9 来量化可用性, 最常说的就是类似 “4个9(也就是99.99%)” 的可用性。
描述        通俗叫法        可用性级别        年度停机时间
基本可用性        2个9        99%        87.6小时
较高可用性        3个9        99.9%        8.8小时
具有故障自动恢复能力的可用性        4个9        99.99%        53分钟
极高可用性        5个9        99.999%        5分钟
假设单机的可用性为99%,则用easyHa双机方式时可达到99.99%,三机方式时可达到99.9999%(年度停机时间32秒)。
1.3.        easyHa主要功能
easyHa使用简单,但其功能并不简单, easyHa支持启动或接管网络服务IP、存储系统、应用服务,还支持在easyHa启动的初期和关闭的末期调用用户自定义脚本。
担任主机(含双机双工方式的主机)的easyHa节点还可监控本机运行的服务和挂接的磁盘系统是否出现故障。如服务(应用程序)出现故障,可按用户自定义的脚本重启服务。监控服务的类型分为支持网络服务的TCP型、UDP型及非网络服务型(这三类涵盖了所有应用)。
如果发现监控的磁盘系统出现故障,则easyHa主节点会自动退出并触发备机接管其服务,从而保障系统的连续运行。磁盘系统故障触发接管的一种典型场景时,主机与存储系统的存储连接线或存储接口卡出现硬件故障。如仅仅是磁盘系统的某一块或几块磁盘出现故障,磁盘系统一般依靠自带RAID机制就能保障系统正常访问,此种情况easyHa不会接管,也不用接管。
1.4.        easyHa支持的操作系统
easyHa支持Linux和类Unix操作系统(Windows暂不考虑支持)。X86-64 Linux下的easyHa可自由下载免费使用。
easyHa支持异构接管,即不同平台的easyHa可互相接管。
2.        easyHa安装
easyHa支持两种方式的安装,最简单的方式是rpm包安装,将easyHa安装包easyHa-1.0.0-20160210.x86_64.rpm(下载地址  pan.baidu.com/s/1o7baHyq  )下载到待安装服务器,root用户下用下述命令即可完成安装。
# rpm -ivh easyHa-1.0.0-20160210.x86_64.rpm
Preparing...               ########################################### [100%]
    1:easyHa                ########################################### [100%]

easyHa默认安装到/opt/easyHa目录下。

easyHa 也可支持tar xvzf easyHa_install.tar.Z 解压到到指定目录来完成安装。
3.        easyHa配置
3.1.        easyHa目录结构
默认安装后的easyHa目录结构如下:
/opt/easyHa/bin/easyHa                   /opt/easyHa/cfg/easyHaSecondBackup.cfg.demo
/opt/easyHa/bin/httpTest                 /opt/easyHa/lib/libbaseDir.so
/opt/easyHa/cfg/easyHaBackup.cfg.demo    /opt/easyHa/lib/liblcfg.so
/opt/easyHa/cfg/easyHa.cfg               /opt/easyHa/lib/liblnet.so
/opt/easyHa/cfg/easyHaMain.cfg.demo      /opt/easyHa/lib/libltime.so
/opt/easyHa/cfg/easyHaParallel.cfg.demo

/opt/easyHa/scripts/end:
end.sh

/opt/easyHa/scripts/init:
init.sh

/opt/easyHa/scripts/monitor:
http_start.sh

/opt/easyHa/scripts/service:
start_main.sh  start_takeover.sh  stop_main.sh  stop_takeover.sh

/opt/easyHa/scripts/store:
mount_main.sh  mount_takeover.sh  unmount_main.sh  unmount_takeover.sh

/opt/easyHa/scripts 各子目录下分别放着不同类型的启停脚本,用户可添加、更改脚本的内容来完成HA不同的监控内容。
3.2.        easyHa环境变量配置
将easyHa所在的bin目录配置到PATH环境变量中,lib目录配置LD_LIBRARY_PATH环境变量中。如easyHa默认安装在/opt/easyHa目录下,则在root用户的.bash_profile添加以下两行配置:
export PATH=/opt/easyHa/binPATH
export LD_LIBRARY_PATH=/opt/easyHa/lib LD_LIBRARY_PATH
并运行source /root/.bash_profile使配置生效

rpm安装时,已在/usr/bin和/usr/lib下对相关文件做了符号连接,可不用配置环境变量即可在任意目录下启动easyHa。用tar包安装时需要按以上要求手动配置环境变量。

3.3.        easyHa参数配置
easyHa支持四种工作方式,不同节点使用不同的参数配置,担任不同的角色。
3.3.1.        参数文件位置
easyHa参数默认位于/opt/easyHa/cfg/easyHa.cfg中,easyHa启动时会使用此文件中的配置参数。
环境变量EASY_HA_CONFIG可改变easyHa默认参数文件位置及名称,如EASY_HA_CONFIG=/opt/easyHa/cfg/easyHaMain.cfg。环境变量EASY_HA_CONFIG的优先级优于默认参数文件/opt/easyHa/cfg/easyHa.cfg,如环境变量EASY_HA_CONFIG存在,则easyHa不会读取默认参数文件。一般情况下不需要配置环境变量EASY_HA_CONFIG。
3.3.2.        主节点配置
将/opt/easyHa/cfg/easyHaMain.cfg.demo拷贝为/opt/easyHa/cfg/easyHa.cfg,并根据情况更改其内容。
内容示例如下:
[EASY HA]
#节点类型(1 主节点;2 备节点;3 并行互备节点;4 第二备份节点)
HaNodeType=1

#HA服务地址信息:服务网卡的名字,服务IP,子网掩码
WorkAddr        =eth0:1,10.16.11.11,255.255.0.0

#本节点的私有工作地址:私有IP,侦听端口(一般用于心跳地址)
LocalAddr       =0.0.0.0:9111

#心跳检测地址:心跳IP,侦听端口(备份节点的私有工作地址)
HeartbeatAddr   =10.16.2.1:9111

#网关:网关IP(所有HA节点都可ping通的地址)
GatewayIp       =10.16.160.251

#监控应用程序
[APP MONITOR]
#Name   =mysql
#Ip     =127.0.0.1
#Port   =956
#Protocol=tcp
#Script =mysql_start.sh

#Name   =rpc.statd
#Ip     =127.0.0.1
#Port   =928
#Protocol=udp
#Script =rpc_start.sh

#Name   =httpTest
#Protocol=noNet
#Script =http_start.sh

#监控存储
[STORE MONITOR]
#Dev    =/tmp/easyHa
#Dev    =/dev/sdb1

#表示本行其后内容为注释,可将临时不用的配置注释或删掉。WorkAddr 中服务网卡可为虚拟网卡,如”eth0:2”等,也可使用物理网卡,如”eth1”等。
easyHa的每个节点可使用两块物理网卡,也可只使用一块。
3.3.3.        备节点配置
将/opt/easyHa/cfg/easyHaBackup.cfg.demo拷贝为/opt/easyHa/cfg/easyHa.cfg,并根据情况更改其内容。
内容示例如下:
[EASY HA]

#节点类型(1 主节点;2 备节点;3 并行互备节点;4 第二备份节点)
HaNodeType=2

#HA服务地址信息:服务网卡的名字,服务IP,子网掩码
WorkAddr        =eth0:1,10.16.11.11,255.255.0.0

#本节点的私有工作地址:私有IP,侦听端口(一般用于心跳地址)
LocalAddr       =0.0.0.0:9111

#心跳检测地址:心跳IP,侦听端口(主节点的私有工作地址)
HeartbeatAddr   =10.16.2.1:9111

#网关:网关IP(所有HA节点都可ping通的地址)
GatewayIp       =10.16.160.251

3.3.4.        并行互备节点配置
将/opt/easyHa/cfg/easyHaParallel.cfg.demo拷贝为/opt/easyHa/cfg/easyHa.cfg,并根据情况更改其内容。
内容示例如下:
[EASY HA]

#节点类型(1 主节点;2 备节点;3 并行互备节点;4 第二备份节点)
HaNodeType=3

#HA服务地址信息:服务网卡的名字,服务IP,子网掩码
WorkAddr        =eth0:1,10.16.11.11,255.255.0.0

#HA第二服务地址信息:在本机被接管时用于服务网卡的名字,服务IP,子网掩码
#(用于并行互备模式,两台服务器均有工作地址,并互相备份接管,这里指第二台服务器被接管后在本机的服
务地址信息)
SecondWorkAddr  =eth0:2,10.16.11.12,255.255.0.0

#本节点的私有工作地址:私有IP,侦听端口(一般用于心跳地址)
LocalAddr       =0.0.0.0:9111

#心跳检测地址:心跳IP,侦听端口(另一台服务器HA的私有工作地址)
HeartbeatAddr   =10.16.2.1:9111

#网关:网关IP(所有HA节点都可ping通的地址)
GatewayIp       =10.16.160.251

#监控应用程序
[APP MONITOR]
#Name   =mysql
#Ip     =127.0.0.1
#Port   =956
#Protocol=tcp
#Script =mysql_start.sh

#Name   =rpc.statd
#Ip     =127.0.0.1
#Port   =928
#Protocol=udp
#Script =rpc_start.sh

#Name   =httpTest
#Protocol=noNet
#Script =http_start.sh

#监控存储
[STORE MONITOR]
#Dev    =/opt/easyHa/bin/easyHa

3.3.5.        第二备节点配置
将/opt/easyHa/cfg/easyHaSecondBackup.cfg.demo拷贝为/opt/easyHa/cfg/easyHa.cfg,并根据情况更改其内容。
内容示例如下:
[EASY HA]

#节点类型(1 主节点;2 备节点;3 并行互备节点;4 第二备份节点)
HaNodeType=4

#HA服务地址信息:服务网卡的名字,服务IP,子网掩码
WorkAddr        =eth0:1,10.16.11.11,255.255.0.0

#本节点的私有工作地址:私有IP,侦听端口(一般用于心跳地址)
LocalAddr       =0.0.0.0:9111

#心跳检测地址:心跳IP,侦听端口(备份节点的私有工作地址)
HeartbeatAddr   =10.16.2.1:9111

#网关:网关IP(所有HA节点都可ping通的地址)
GatewayIp       =10.16.160.251

4.        easyHa启动和关闭
4.1.        easyHa启动
命令提示符下# easyHa 回车即可启动easyHa。
也可以服务方式# service easyHa start 启动easyHa。
easyHa启动时会以相关配置运行/opt/easyHa/scripts/init/init.sh脚本、开启虚拟IP、运行/opt/easyHa/scripts/store/mount_main.sh挂接磁盘和运行/opt/easyHa/scripts/service/start_main.sh启动指定的服务等。
4.2.        easyHa关闭
命令提示符下# easyHa stop 或 easyHa close或 killall easyHa 回车即可关闭easyHa。
也可以服务方式# service easyHa stop 关闭easyHa。

easyHa关闭时会以相关配置运行/opt/easyHa/scripts/service/stop_main.sh关闭指定的服务、运行/opt/easyHa/scripts/store/umount_main.sh挂接磁盘、关闭虚拟IP和运行/opt/easyHa/scripts/end/end.sh脚本等。
4.3.        easyHa 日志
/opt/easyHa/log目录中存放easyHa的运行日志,每天一个文件。easyHa 还通过syslog在/var/log/messages文件中存放关键日志。
5.        开机启动easyHa
rpm方式安装后,在系统中安装了easyHa服务,并可服务器开机自动启动easyHa,关机自动关闭easyHa。
# chkconfig --list |grep easyHa
可查看easyHa服务配置状态

chkconfig 的其它命令 可修改服务配置或删除服务并关闭开机启动easyHa。
6.        easyHa测试
easyHa提供了一个超小(只有11KB)的http测试程序httpTest,位于/opt/easyHa/bin目录下,我们可用它测试我们刚安装配置的HA是否正常工作。
httpTest启动后默认在本机的所有IP的8000端口进行侦听,我们可在其它计算机的浏览器以192.168.1.1:8000 进行访问(192.168.1.1假设为你服务器的IP),httpTest返回服务器hostname及服务器当前时间,便于你发现进行了HA切换和切回。
httpTest 支持更改侦听的IP和端口,httpTest -?可获得帮助。
7.        easyHa支持
easyHa由easy-sys studio开发和支持,下载地址  pan.baidu.com/s/1o7baHyq

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP