前提
环境要求
-
两台服务器操作系统一致,每台服务器至少两个网口,在同一个网段下,至少用网线直连一对网口,另一个网口都接交换机用于对外服务。
注意:服务器型号、硬件条件可以不同。
网卡必须设置固定IP。
直连网卡设置与应用对外服务网卡处于不同的网段,只配置IP与子网掩码。
-
需要在服务网络中多预留一个IP地址(用于双机热备虚拟IP),该IP地址需要和两台服务器的实际IP在同一个网段下且不能绑定MAC,当双机热备部署完成后,用户通过此虚拟IP地址访问业务系统。
-
尽量不使用杀毒软件,切勿使用个人版的杀毒软件。
-
如果使用的是非server版的操作系统(例如Windows10),则需要关闭系统的快速启动,关闭方式为:
打开系统“控制面板”,进入“电源选项”,点击左侧“选择电源按钮的功能”,取消勾选“启用快速启动(推荐)”项,如无法取消勾选该选项,则需要先点击上方的“更改当前不可用的设置”,并同意以管理员身份运行。
-
ServHA在运行过程中需要开放以下端口:
14338、17968、17969、25792、45782、7700
其中17969、25792 、45782为TCP通信端口,17968、14338为UDP通信端口,7700为监控端远程访问端口。
在安装ServHA软件过程中,选中“是否自动开放防火墙端口”默认开启以上端口对应权限。
-
操作系统必须为Windows server 2008 及以上或Windows7 及以上。
-
若操作系统为Windows server 2008 或 Windows7,则必须确保系统已经安装了KB4474419补丁包。
应用安装要求
-
两台服务器业务系统安装必须一致,包括但不限于安装路径、数据库实例路径、数据库实例名、数据库权限配置、业务系统附件存放路径等。
-
业务系统需要可以在两台服务器上分别独立正常运行,若有绑定硬件的加密授权机制,需要两台服务器均有正版授权。
-
业务系统不能绑定服务器MAC、IP地址、计算机名。
-
需要明确业务系统的变动数据,比如数据库实例、文件附件之类的存放路径等需要同步的路径。
热备软件安装
*安装热备软件之前,请先关闭所有的杀毒软件。
-
开始安装
运行安装文件,开始安装热备软件。
注意:两台服务器都要需要安装热备软件。
默认安装(默认安装路径为操作系统所在分区)直至重启服务器即可。

-
点击接受“许可证协议”条款

-
选择安装组件
其中核心组件必须安装。
配置工具与防火墙相关端口为选填。

-
热备软件安装至操作系统分区

-
开始菜单选择

-
重启服务器
注意:必须两台服务器都重启后,热备软件才能正常配置。

应用软件安装
*重要!两台服务器的应用软件安装与配置须完全一致。
*有安装包的应用软件使用安装包默认安装即可。
*无安装包的绿色应用软件可以尝试向下列条件靠拢,能满足的条件越多,部署和维护越方便
-
不依赖注册表
-
无窗口(非桌面程序)
-
启动后能直接运行功能而不需要手动再次处理(包括点击、登录等行为)
-
注册成系统服务
MS SQLServer
| 可否全部安装到数据盘中 | 不推荐 |
| 需同步目录 |
每个实例的目录 通常为类似如下命名规则的目录: MSSQL版本号.实例名 MSAS版本号.实例名 MSRS版本号.实例名 |
| 同步目录可否软链接 | 可 |
| 同步目录可否配置 | 不可 |
| 启动方式 | 系统服务 |
| 停止方式 | 系统服务 |
| 检测方式 | 系统服务 |
*每台服务器上安装的SQLServer的认证模式必须是“混合模式”并设置相同的sa用户口令
通用应用
一个需要用热备软件保护的应用程序,根据其启停方式的不同,大致可以分为以下三类:
-
直接执行类程序
该类型的程序一般是以执行某个可执行程序而运行,以关闭该程序的进程而停止;
该类型的程序运行时在任务管理器的进程列表中能看到和可执行程序同名的进程,停止后该进程消失;
该类型的程序可以是窗口程序,也可以是命令行程序;
-
服务类程序
该类型的程序可以在系统的服务列表中查看运行状态,并可以控制其启停;
该类型程序只在后台运行,不需要有桌面环境;
-
脚本启停类程序
该类型程序一般是由一个启动脚本/程序来启动主程序,主程序启动后,启动脚本/程序会退出,例如tomcat自带的startup.bat;
该类型程序一般是由一个停止脚本/程序来退出主程序,主程序退出后,停止脚本/程序会退出,例如tomcat自带的shutdown.bat;
该类型的程序可以是窗口程序,也可以是命令行程序;
但无论是哪种类型的程序,都需要注意以下事项:
-
所有服务器应用程序配置必须完全一致,包括但不限于程序版本、路径、配置、权限等。
-
应用程序的本体尽量不要放到同步路径中。
-
若应用程序有授权机制,则需要每台服务器均有合法的授权。
热备配置
配置前准备
网络
配置服务网络(公网)IP
将两台服务器连入服务网络的网卡分别配上固定(静态)IP,此IP又称为“实际IP”,可按需配置双网卡绑定来提高网络链路的可用性。
注意:
实际IP不能和网络中其他设备的IP冲突
实际IP虽然也能对外提供业务访问能力,但在切换后,客户端需要通过备机的IP来访问业务服务,所以请在网络条件允许的情况下配置虚拟IP来对外提供服务
配置直连网络(私网)IP
将两台服务器上相互直连的网卡分别配上固定(静态)IP,此IP又称为“私网IP”,可按需配置多组直连网络链路,也可按需配置双网卡绑定来提高网络链路的可用性。
注意:
私网IP与公网的实际IP需要做网段上的隔离
多组直连网络链路的情况下,组与组之间的私网IP也需要做网段上的隔离
私网IP仅需配置固定(静态)IP和子网掩码,无需配置网关和DNS
明确参考IP
参考IP为当前服务网络中一个长期稳定存在的IP地址,一般为网关的IP地址,不能是做热备的两台服务器上配置的任何IP,也不能是配置的虚拟IP。
参考IP的作用是当两台服务器之间失联的时候,哪台能连通(ping)这个参考IP,谁就启动业务资源树。
预留虚拟IP
虚拟IP又称为“漂移IP”,顾名思义,这个IP会随着业务资源树的切换而在两台服务器的公网网卡上漂移,客户端无需关心当前业务服务是运行在哪台服务器上,因为通过虚拟IP总能访问到当前对外提供服务的服务器上。
虚拟IP需跟对应的公网实际IP同网段,不同网段虽然可以配置上,但不一定能生效
虚拟IP不能是两台服务器的上配置的任何IP,也不能和网络中其他设备的IP冲突
虚拟IP的实现方式并不是通过热备软件中转网络请求,而是给公网网卡上多设置了一个IP地址(操作系统支持),所以虚拟IP在其中一台服务器上生效的情况下,即使退出了热备的主程序,也不会影响客户端通过虚拟IP访问业务。防火墙
操作系统防火墙必须开启前文【前提-环境要求】中所提端口对应协议的入站规则,此外,7700端口为配置监控端的管理端口,若需要进行远程配置,请开放此端口的TCP协议或HTTP协议的入站规则。
在安全条件允许的情况下也可以关闭并禁用防火墙服务。
基础双机环境配置
登录配置监控端
ServHA提供两种管理方式:
-
本地管理(Windows可以使用ServHA自带的配置监控端,Linux需要有GUI界面和支持HTML5的浏览器)
-
远程管理(服务器防火墙需要开放7700端口的访问,远程计算机上需要有支持HTML5的浏览器)
这两种方式是并存且可同时使用的。
本地连接
在安装了ServHA配置工具的节点上运行“ServHA配置工具.exe”。
打开配置工具后,输入需要连入的双机热备中其中一个节点的IP地址,并点击箭头按钮;如下图:
登录名为两台主机IP的其中一个(一般为主机)。
在某一台安装了ServHA的主机上登录时,可使用127.0.0.1登录。
如果输入的IP地址正确,则会到达登录界面,输入正确的密码(默认密码为“1”)后点击“登录”按钮即可连入ServHA,如下图:
之后跳转至登录界面,输入密码(默认密码为“1”),点击“登录”按钮:
远程连接
打开远程计算机的浏览器,在地址栏中输入双机热备中其中一个节点的IP地址+7700端口访问,例如:http://服务器IP:7700。
集群初始化
第一步:确认基本信息
主机名称为当前计算机名,可以修改(并不会改变计算机名)。如下图
第二步:初始化集群信息
为双机集群填写一个名称,设置登录密码(不填写则为默认密码“1”)。
参考IP是指双机集群所处公网环境中的一个或多个一直在线节点的IP地址(例如路由器,交换机,网关的IP)。
参考IP可以添加多个,中间用半角逗号隔开。
参考IP不要填写两台主机的IP。
若网络中没有合适的参考IP时,参考IP可填写127.0.0.1。
在镜像双机热备方案中,选择不使用仲裁。
第三步:心跳配置
选择要用于搭建心跳的网卡,并为其填写一个名称,点击“添加心跳”。
已添加的多个心跳可以通过鼠标上下拖拽进行排序,排序越靠上心跳连接的优先级越高,建议私网链路心跳优先级高于公网链路心跳。
第四步:信息确认
此处为前三步信息的汇总,确认无误之后点击“完成”按钮完成集群初始化。
将第二台主机加入现有集群
第一步:点击加入
连入第二台主机,点击初始化操作中的右侧“+”图标,加入现有集群。如下图:
第二步:输入第一台主机的IP
在新页面的左侧输入框里输入第一台主机的IP(不是输入本机IP),点击确定,将跳转至目标集群。
第三步:跳转至目标第一台主机
点击确定之后,输入密码登录集群,然后将跳转至“添加新节点向导”,新节点的IP默认为之前填写的节点IP,如下图:
第四步:查看第二台主机信息
此处可以查看第二台主机的信息。
第五步:配对心跳
在心跳配置界面,左侧列出了当前配置的心跳连接,右侧列出的是第二台主机的网卡及IP列表(如下图),心跳连接需要由一对对应的网卡组成配对,先点击左侧某项心跳连接,再点击右侧对应的新节点的网卡,即可配为一对心跳连接(如下图)。
第六步:确认信息
此步骤列出第二台主机的信息,确认无误之后点击“完成”,完成节点加入的步骤。如下图:
创建资源树
单击左侧资源树图标,点击下面的创建资源树按钮。
填写资源树名称,把两台服务器从未选主机拖拽到已选主机上,默认的故障转移模式其他选项不用变更。配置完毕后如下图,点击保存,资源树就创建完毕了。
创建IPv4资源(虚拟IP)
先从左边树列表中选择要创建IP资源的资源树,切换右侧视窗后,点击创建资源,选择创建IPv4资源。
填写规划好的应用对外服务的IP地址(即虚拟IP),并分别将两机用作公网连接的网卡拖拽至已选择列表,如下图,配置完毕后点击保存。
创建目录镜像资源
注意事项:
为防止操作失误,请先做好主备机的数据备份。
创建目录镜像前,首先需要明确知道需要同步的是哪些目录或文件,少同步将导致两机业务数据不一致。
同一个卷内的多个目录或文件可以建到同一个目录镜像中;不同卷内的目录或文件需分开建立目录镜像。被设定到目录镜像下的文件或目录有如下的操作限制:
非本目录镜像内的文件或目录不能移动进来,确需移动的,可以改用拷贝方式复制进来,再将原文件删除;
本目录镜像内的文件或目录不能移动出去,确需移动的,可以改用拷贝方式复制出去,再将原文件删除;
删除目录镜像内的文件或目录需要使用彻底删除的方式(shift+delete),删除到回收站(delete)的操作相当于是移动目录镜像内的文件出去,会被禁止操作;
右键点击主界面左侧的“目录镜像”,点击“创建目录镜像”:
填写一个镜像包名称,选择配对的两个节点,点击下一步:
在列出的两台节点中,选择一台作为主端(作为备端的数据会被主端的数据覆盖),之后点击“浏览”按钮:
在弹出的窗口中,定位至(双击目录或者导航栏复制路径跳转)要同步的目录或文件,点击左侧勾选框选择要同步的目录/文件,点击“确定”:
在返回的配置向导中点击“下一步”:
选择一个脑裂处理策略(默认为手工处理),点击下一步:
脑裂是指,镜像配对服务器双方在对方不在线(无法同步数据)的情况下分别接管过镜像资源,导致双方数据不一致并且无法合并数据,此时镜像双方均认为自身的数据是最新的,需要进行脑裂处理。脑裂恢复处理需要以两台服务器中的其中某一台的数据为准进行重新同步。其选择标准有5种方式。
-
手工处理:发生脑裂后,系统只发出错误报告,镜像脑裂恢复需要管理员手动选择方向。在此期间,管理员仍然可以在服务器间转移资源树,方便确认哪台服务器数据为最新的版本,进行数据备份或手动数据合并。
-
自动丢弃较旧的一方:发现脑裂后,较早接管镜像资源的主机变更的数据将被丢弃,以较晚接管镜像资源主机的数据为准进行恢复同步
-
自动丢弃较新的一方:发现脑裂后,较晚接管镜像资源的主机变更的数据将被丢弃,以较早接管镜像资源主机的数据为准进行恢复同步
-
自动丢弃修改较少的一方:发现脑裂后,镜像盘中数据变动(修改)较少的主机变更的数据将被丢弃,以数据变动(修改)较多的主机的数据为准进行恢复同步
-
自动丢弃修改较多的一方:发现脑裂后,镜像盘中数据变动(修改)较多的主机变更的数据将被丢弃,以数据变动(修改)较少的主机的数据为准进行恢复同步
一般情况下,建议选择手工处理,以免因自动处理造成差异数据丢失。
在配置向导第四步中,选择对应的同步链路并点击“添加”按钮,如果设置多条同步链路,注意优先使用直连的链路同步数据(排序越往上的链路优先级越高)
核对信息,完成目录镜像的建立(下图中,点击“是”将开始创建目录镜像)
完成创建后的热备界面如下:
接下来可以将创建好的目录镜像包添加到资源树:
选中资源树下的某一个节点,点击“创建资源”,点击“创建目录镜像资源”
选择创建好的镜像包,点击“保存”
目录镜像资源建立好后如下图:
切换测试
首次建立镜像资源后,可以操作资源树在每台节点中进行一次切换,确认其切换正常。
单击左侧要切换到的节点,点击启动按钮
等待切换完毕。
应用配置
MSSQLServer
设置同步路径
确认同步路径
在SQLServer的安装目录下找到如下命名规则的目录
-
MSSQL+版本号+.+实例名(如:MSSQL12.MSSQLSERVER)
-
MSAS+版本号+.+实例名(如:MSAS12.MSSQLSERVER)
-
MSRS+版本号+.+实例名(如:MSRS12.MSSQLSERVER)
如果安装了更多的组件,则这样带实例名的目录都需要同步到对机。
构建路径
将上节中整理的需要同步的路径建立目录镜像
创建资源
选择SQL SERVER资源树,点击创建服务资源:
1.添加SQL SERVER实例服务
在弹出的对话框中点击选择服务按钮,在下方服务列表中,找到SQL Server服务,点击选中,并保存。
2.添加SQL SERVER AGENT 代理服务(可选)
本服务不是必须添加,如果您的应用需要使用SQL代理,才将其托管到热备软件中。再次打开创建服务对话框,在下方服务列表中,找到SQL Server Agent服务,点击选中,并保存。
3.设置资源依赖关系
SQL Server数据库服务依赖于IP地址资源和镜像卷资源,SQL Server Agent 代理依赖于SQL Server数据库服务。
鼠标左键按住SQL Server数据库服务资源图标,将其拖拽到IP资源(这里为192.168.1.18)上松开鼠标。
鼠标左键按住SQL Server数据库服务资源图标,将其拖拽到镜像卷资源上松开鼠标。
全部配置完毕后的依赖关系如图所示:
如果依赖关系有误,删除方式为:
选中两个资源之间的连线,将其拖拽至空白处,提示是否删除依赖关系,点击“是”即可。
通用应用配置
脚本启停类(自定义资源)
检测方式
该类型程序需要至少一种能自动判定其运行状态的检测方式(检测器),ServHA会在每个检测周期内(大约几秒)通过调用检测器来判定本机的应用程序是否运行,并根据运行状态触发相应的动作。
资源在启动和停止的过程中不会调用检测器,其他的时段,两台服务器的检测器会被周期性的分别调用,启动着资源树的服务器需要检测到资源为启动状态,未启动资源树的服务器需要检测到资源为停止状态。
ServHA提供了四种检测器,且根据检测器选择的多少联合判断资源是否正常,如果选择了多个检测器,必须多个检测条件都满足才判断资源是否正常,可根据实际情况和需要启用并配置相应的参数:
-
端口检测器(适用于网络服务程序)
检测本机指定的端口是否被程序占用,还可以联合判断占用该端口的程序是不是指定的程序,满足条件则认为应用程序在本机处于运行状态;
-
URL检测器(适用于WEB程序)
系统会尝试访问指定的URL,并检测返回内容,还可以联合判断返回内容中是否包含指定的字符串,满足条件则认为应用程序在本机处于运行状态;
-
进程检测器(适用于大多数本地运行程序)
检测本机是否运行着指定进程或程序,指定的进程和程序皆运行,则认为应用程序在本机处于运行状态;
-
自定义检测器(适用于更复杂的情况)
如遇到更复杂的情况,可以自行编写检测脚本,该脚本需要能立即返回“0”或者“非0”的值,两台服务器的检测器会分别调用该脚本,返回“0”则认为应用程序在本机处于运行状态,返回其它值则认为本机应用程序处于停止状态。(注:由于两台服务器都会间隔性的调用该脚本,所以该脚本必须要满足两台服务器都能独立访问到的条件,即处于相同的绝对路径并不处于镜像盘下)
*例如使用tomcat做WEB服务,启动之后会有java.exe进程监听配置的端口(如80或者8080端口);使用浏览器进行访问会显示一个页面,如下图:
可以使用URL检测器检测访页面中是否出现了“Tomcat”字符串,并且辅以端口检测器达到检测效果。
创建资源
选中资源树并创建自定义资源,如下图:
在“创建自定义资源”窗口中填写“资源名称”、“启动脚本”、“停止脚本”并配置合适的检测器,如果该程序带有窗口,请将“需要运行在桌面”勾选,点击“保存”按钮,如下图为tomcat的示例:
资源创建完成后,将该资源的图标拖动到镜像资源以及IP资源图标上,建立依赖关系,完成后效果如下图:
可执行程序(WinNT进程资源)
检测方式
该类型的程序一般只需检测其进程是否在系统进程列表中存在即可。启动着资源树的服务器需要检测到本机进程列表中存在此进程,未启动着资源树的服务器需要检测到本机进程列表中不存在此进程;
*特殊或更复杂的情况可以加入自定义检测程序辅助监控;
创建资源
选中资源树并创建WinNT进程资源,如下图:
在“创建WinNT进程资源”窗口中填写“资源名称”、“进程可执行文件路径”、“启动参数”,如果该程序带有窗口,请将“需要运行在桌面”勾选,点击“保存”按钮,如下图为一个测试服务程序的示例:
资源创建完成后,将该资源的图标拖动到镜像资源以及IP资源图标上,建立依赖关系,完成后效果如下图:
系统服务(服务资源)
检测方式
该类型程序一般只需检测其在系统服务列表中的状态即可,启动着资源树的服务器需要检测到本机该服务处于运行中的状态,未启动着资源树的服务器需要检测到本机该服务处于未运行状态;
*特殊或更复杂的情况可以加入自定义检测程序辅助监控;
创建资源
选中资源树并创建服务资源,如下图:
点击“选择服务”按钮,并在下方列表中选择需要建立的服务,点击“保存”按钮,如下图为一个MySQL服务程序的示例:
资源创建完成后,将该资源的图标拖动到镜像资源以及IP资源图标上,建立依赖关系,完成后效果如下图:
报警器配置
报警器
发送Email
描述:触发该报警器,系统会将报警信息通过已设置的发件邮箱发送给一个或多个接收电子邮箱;
使用条件:服务器可以连接外网或者内网的一个SMTP服务;
所需信息:发件邮箱(SMTP地址、端口,登录账号、密码)、收件邮箱地址(至少一个);
配置步骤:
1、在配置监控端主界面左侧选择“报警通知设置”下的“发送Email”节点,并在主界面右侧的“发送电子邮件报警器”工具栏中点击“修改配置参数”按钮,如下图;
2、在“修改Email电子邮件报警器配置”窗口填写表单,填写完毕后点击左下方的“发送测试邮件”按钮,在确认收到了测试邮件后点击右下方的“保存”按钮,如下图;
3、回到主界面右侧的“发送电子邮件报警器”界面,在工具栏中点击“启用”按钮打开报警器,如下图;
自定义进程
描述:触发该报警器,系统会调用服务器上指定程序,并将报警信息通过参数方式传送给该程序;
使用条件:有能力自行开发一个可以接收参数启动的报警程序;
所需信息:自定义报警程序的绝对路径(每台服务器上需一致);
配置步骤:
1、在配置监控端主界面左侧选择“报警通知设置”下的“调用自定义进程”节点,并在主界面右侧的“调用自定义进程报警器”工具栏中点击“修改配置参数”按钮,如下图;
2、在“修改调用用户自定义进程报警配置”窗口填写表单,填写完毕后点击左下方的“测试调用”按钮,在确认自定义程序收到了测试调用后点击右下方的“保存”按钮,如下图;
3、回到主界面右侧的“调用自定义进程报警器”界面,在工具栏中点击“启用”按钮打开报警器,如下图;
SNMP Trap
描述:触发该报警器,系统会使用SNMP协议发送含有报警信息的SNMP TRAP封包;
使用条件:服务器所在网络中拥有可用的SNMP服务器;
所需信息:SNMP服务器IP、mib文件(安装目录内含有)
配置步骤:
1、在配置监控端主界面左侧选择“报警通知设置”下的“发送 SNMP TRAP”节点,并在主界面右侧的“发送SNMP TRAP报警器”工具栏中点击“修改配置参数”按钮,如下图;
2、在“发送 SNMP TRAP 报警器”窗口填写表单,填写完毕后点击左下方的“测试调用”按钮,在确认SNMP服务器收到了测试SNMP TRAP封包后点击右下方的“保存”按钮,如下图;
3、回到主界面右侧的“发送SNMP TRAP报警器”界面,在工具栏中点击“启用”按钮打开报警器,如下图;
微信推送
描述:触发该报警器,系统会将报警信息通过微信消息的方式发送给一个或多个微信用户;
使用条件:安装ServHA的服务器能连外网、ServHA软件已使用序列号授权;
所需信息:接收报警信息的微信号(关注ServHA公众号);
配置步骤:
1、在配置监控端主界面左侧选择“报警通知设置”下的“微信推送”节点,并在主界面右侧的“微信推送报警器”界面中点击“已绑定微信”栏后的加号(+)按钮,如下图;
2、使用手机微信扫一扫功能扫描界面上生成的二维码(如该微信号未曾关注ServHA公众号,会提示需要先关注,点击关注后),等待系统自动添加绑定,如下图;
3、回到主界面右侧的“微信推送报警器”界面,在工具栏中点击“启用”按钮打开报警器,如下图;
发送短信
描述:触发该报警器,系统会将报警信息通过短信发送给一个或多个手机号;
使用条件:拥有ServHA智能告警终端,终端内插有可以发送短信的SIM卡;
所需信息:用于接收短信的手机号;
配置步骤:
*若尚未初始化ServHA智能告警终端,请先按照附件中的步骤初始化;
1、在配置监控端主界面左侧选择“报警通知设置”下的“发送短信”节点,并在主界面右侧的“发送短信报警器”工具栏中点击“修改配置参数”按钮,如下图;
2、在“发送短信 报警器”窗口填写表单,填写完毕后点击左下方的“测试调用”按钮,在确认收到了测试短信后点击右下方的“保存”按钮,如下图;
3、回到主界面右侧的“发送短信报警器”界面,在工具栏中点击“启用”按钮打开报警器,如下图;
拨打电话
描述:触发该报警器,系统会拨打设定的电话号码(手机或固话),并将报警信息使用语音播报出来;
使用条件:拥有ServHA智能告警终端,终端内插有可以拨打电话的SIM卡;
所需信息:用于接收电话的手机或固话号码;
配置步骤:
*若尚未初始化ServHA智能告警终端,请先按照附件中的步骤初始化;
1、在配置监控端主界面左侧选择“报警通知设置”下的“拨打电话”节点,并在主界面右侧的“拨打电话报警器”工具栏中点击“修改配置参数”按钮,如下图;
2、在“拨打电话 报警器”窗口填写表单,填写完毕后点击左下方的“测试调用”按钮,在确认收到了测试通话后点击右下方的“保存”按钮,如下图;
3、回到主界面右侧的“拨打电话报警器”界面,在工具栏中点击“启用”按钮打开报警器,如下图;
附件:初始化ServHA智能告警终端
*本操作适用于新获取的ServHA智能告警终端(以下简称“终端”)的初始化,或者是之前已经初始化过的终端的IP地址修改;
1、将终端通电,并使用网线连至任意计算机(windows操作系统)或者局域网中;
2、在能访问到终端的计算机(windows操作系统)上运行安装光盘中(或者从ServHA官网上下载)的“初始化ServHA智能报警终端.exe” ,如下图;
3、在“ServHA智能告警终端配置程序”中填写希望设置的终端IP,并点击“确认初始化”按钮,如下图;
4、等待后台操作完成,并牢记设置的终端IP,如果终端中已插入可用的SIM卡,可以在此测试短信和拨打电话功能,完成后点击“结束配置”按钮退出程序,如下图;
5、将终端网络移动至服务器所在局域网,通电,并组装好终端天线,放置在合适位置;
6、确保终端中已插入了可用的SIM卡;
7、在ServHA主界面中选择“报警通知设置”下的“发送短信”或“拨打电话”中的任意一个节点,在右侧界面中填入之前设置的终端IP地址,点击“连接”按钮,如下图。当右侧界面中能看到终端信息时初始化完成;
触发条件
在报警器配置完成并启用后,需要为报警器绑定系统事件,简单的说就是当系统的某个模块发生某种情况时触发某种报警器,这样,配置好的报警器才能被正常触发。
报警器与触发条件的绑定可以根据需求自由组合。以下是报警器触发条件的解释:
| 模块\级别 | 消息 | 告警 | 错误 | 解除 |
| 心跳连接 | -- | 心跳丢失 | 心跳连接使用的网卡故障 | 心跳恢复正常 |
| 集群控制 | 集群通常日志 | 部分仲裁失效,用户登录失败 | 集群全局错误,仲裁错误 | 仲裁恢复,集群全局故障恢复 |
| 资源树 | -- | 资源树状态降级 | 资源树运行错误,资源树不能运行等 | 资源树错误恢复,资源树恢复可运行等 |
| 资源 | 资源通常消息 | 资源运行中崩溃等警告信息 | 资源启停操作错误,资源不满足启动条件和其他错误等 | 资源恢复可运行 |
| 镜像 | 镜像通常消息 | 部分镜像链路故障灯 | 镜像脑裂,镜像盘丢失等错误 | 镜像恢复正常 |
注:报警器只有在启用状态才生效。当对集群进行维护时,可以先暂时禁用报警器,防止维护操作触发报警,维护完毕后需手动启用报警器。
配置步骤:
1、在主界面左侧选择“报警通知设置”下的“报警通知触发条件”节点,如下图;
2、在主界面右侧的“报警器通知触发条件设定”界面中,选择一个或多个触发条件(可按住Ctrl、Shift键或拖动鼠标选择),并点击工具栏上的“单击或拖拽响应的组合,然后点此设置映射的报警器”按钮打开“修改报警器触发条件”界面,如下图;
3、在“修改报警器触发条件”界面中选择一种(或多种)报警器,点击保存按钮保存配置,如下图;
4、回到“报警器通知触发条件设定”界面即可看到报警器的绑定信息,如下图;
授权
ServHA 安装后有 5 天的免费试用期限,继续使用需要购买正式授权或者延长试用。
注:试用授权与正式授权的软件功能完全一致,仅在使用期限上有限制。
序列号获取方式:
-
购买 ServHA 永久授权序列号
-
官网免费申请试用序列号(需注册官网账户)
授权方式分为在线授权与离线授权两种方式:
在线授权:当运行ServHA 集群配置工具的计算机能访问外网并能连入集群时,可以使用在线授权;
离线授权:任何情况下都能使用离线授权(需注册官网账户)。
在线授权
当集群中有一台服务器可以连接至外网时,可以执行在线授权步骤,在线授权只需填写您获取到的试用/永久序列号即可,具体步骤如下:
1、运行ServHA配置监控端,点击菜单栏“帮助”,在弹出的菜单里选择“授权管理”,如下图:
2、在授权界面中,点击“在线授权”,如下图:
3、在弹出的新窗口中,填写获取到的序列号,点击“开始激活”按钮完成激活步骤。
4、激活成功后的界面如下图:
离线授权
当集群的所有服务器都不能访问外网时,只能执行离线授权步骤,您需要在ServHA管理工具的授权界面获取机器码,加上您获取到的软件序列号,在官网的个人中心生成离线授权码完成集群的离线授权,具体步骤如下:
1、运行ServHA管理工具,点击左上角“帮助”,在弹出的菜单里选择“授权管理”,如下图:
2、在授权界面中,点击“离线授权”,如下图:
3、在新窗口中,复制集群机器码信息,如下图:
4、用您注册的账户在官网登录后,进入“用户中心”,选择“离线授权”,填入您获得的序列号,输入验证码:
5、粘贴机器码数据,输入验证码之后提交:
6、复制生成的授权码:
7、在ServHA监控端的离线授权界面里,点击“填写授权码”按钮,如下图:
8、在打开的页面文本框中输入授权码,点击“完成授权”,等待集群授权信息更新,如下图:
9、授权成功后如下图:
申请免费试用
1、使用注册的帐号登陆官网,登陆用户中心,点击左侧“试用申请”,如下图:
2、提交完试用申请后,请耐心等待官方审核,通过审核后试用序列号将发送至您的注册邮箱里。
附件:注册官网账户
注:如果您已经注册了官网账户,则可以跳过本节所有步骤。
1、在 ServHA 官方网站(www.microcolor.cn)主页,点击“注册”,如下图:
2、填写您的用户信息,点击“提交”,如下图:
3、注册成功如下图:
4、在您刚才填写的注册邮箱中会收到一封激活邮件,如下图:
5、点击邮件内容中的激活账户连接,如下图:
6、如果激活成功,会跳转到如下页面:
概念定义
参考IP
参考IP是独立于两台服务器之外的其他设备的IP地址,此IP地址需要两台服务器均能ping通,并且要长期稳定存在(一般为网关的IP)。
其存在的意义是当两台服务器之间的心跳全部断开后,哪台服务器能ping通这个参考IP,哪台服务器就会自认为是主机从而启动业务,ping不通的服务器将会自认为是备机从而停止业务,如果网络环境中实在没有这样的IP地址的话,可以使用127.0.0.1作为参考IP,但绝不能使用两台服务器的实际IP和虚拟IP做参考IP!
虚拟IP
虚拟IP是需要提前在网络中预留的一个跟两台服务器的服务网络相同网段的一个IP地址,这个IP地址是需要配置到热备软件中并由热备软件来管理的,它可以随着业务的切换而切换,客户端访问服务器只需要连这个虚拟IP就可以,这样不管业务当前是运行在主机还是备机,都能访问到当前正在对外提供服务的那台服务器。
虚拟IP的实现原理是给服务器的指定网卡多加一个IP地址,其效力与实际IP一致且共存,并继承该网卡的网关和DNS配置,正常运行过程中,服务网络中会同时存在两台服务器的IP和虚拟IP。虚拟IP切换时会先将主机的虚拟IP卸下,然后再挂载到备机的网卡上,并不是由热备软件来中转分发业务数据。
使用虚拟IP需要满足下列的条件:
-
虚拟IP必须和两台服务器服务网络的网段一致
-
网关设备不能设置IP-MAC绑定
-
应用程序如果需要监听指定IP地址的话,需要指定监听虚拟IP
节点
参与热备的每台服务器在热备软件里都抽象成为了“节点”,若干个节点共同组成一个高可用集群。
心跳
心跳是一个高可用集群中节点之间相互通讯的逻辑链路,用于节点之间沟通状态和传送指令,通常是基于TCP或UDP协议的物理网络链路,只要节点之间能相互连通的网络链路,都可以是一组心跳。
一个集群中的心跳链路要尽可能多的冗余(包括物理上的链路),并且至少要有一组独立的物理网络链路(不受其他因素干扰,相对稳定)。
心跳是高可用集群中最重要的元素
资源
在热备软件中,所有由热备软件调度启停并监控的元素统称为资源。
资源的种类有很多,例如IPv4、IPv6这样的访问类资源,卷镜像、共享存储这样的存储类资源,还有服务、进程这样的程序类资源。
每个资源都必须拥有其对应元素的启动方式、停止方式和检测方式,其实除了自定义资源外,其他资源均已有现成的启停检测方式了,例如服务资源,热备软件可以通过系统的接口调用它的启、停,也能通过系统接口知道其是否在运行,而自定义资源则需要提供完整的信息才能让热备进行管理。
每个资源都有单独的高级属性:
-
启动前运行:在该资源启动前会先调用这里填的程序
-
启动后运行:在该资源启动后会调用这里填的程序
-
停止前运行:在该资源停止前会先调用这里填的程序
-
停止后运行:在该资源停止后会调用这里填的程序
-
停止失败时运行:当停止该资源失败时会调用这里填的程序
资源树
一个由若干个资源组成的集合称作为资源树。
所有资源可根据启停依赖顺序排列成一个树形结构,当资源树启动时,其内部的所有资源将按照从根到叶的顺序启动,当资源树停止时,其内部的所有资源将按照从叶到根的顺序停止。
镜像盘
镜像盘是服务器上的一个独立分区,例如Windows系统下的D盘、Linux系统下的/dev/sda2,使用卷镜像组件可以将两台服务器上的此分区内的所有数据进行实时同步。
该分区不能是操作系统所在的分区,也不能是热备软件所在分区,在Windows系统下,也不能将系统分页文件(虚拟内存)置于该分区中,也就是说,此分区仅用来存放数据和文件,绝不能将操作系统所依赖的程序和文件放到该分区中。
镜像分区的大小要足够一定时间的业务数据成长量,且两台服务器上该分区的大小要完全一致(精确到字节)或者备端略大一点,因为在新建立卷镜像的时候,主端会将自己镜像分区内的所有数据完整的同步给备端,备端镜像分区需要有大于等于主端镜像分区大小的空间来容纳这些数据。
在卷镜像建立好之后,两台服务器上的镜像分区是不能同时访问的,此为正常现象。
共享存储盘
共享存储盘是一个在支持共享访问的存储设备(一般为磁盘阵列或者iscsi设备)上单独划分的一个磁盘(LUN),并且同时映射给高可用集群中所有需要共享数据的服务器,其访问权是交由共享存储资源来控制的,热备软件会控制同时最多只能有一台服务器能操作该共享盘,以防止多设备同时写入数据造成的数据破坏。
仲裁盘
共享存储盘是一个在支持共享访问的存储设备(一般为磁盘阵列或者iscsi设备)上单独划分的一个磁盘(LUN),并且同时映射给高可用集群中所有服务器,该盘的空间不需要太大,100MB左右即可,过大会造成浪费。
仲裁盘类似于参考IP,是一种在心跳全部断开后的仲裁机制,不同的是仲裁盘使用的是数据链路,在共享存储的双机热备中,仲裁盘的重要性大于参考IP,是保护数据的最后一道也是最重要的一道屏障。
脑裂
脑裂一般分为两种:
集群脑裂:一般是在心跳全断并且所有仲裁无效的情况下才会发生,此时所有节点都会启动资源树对外提供业务,如果资源树中有镜像资源的话,在心跳恢复过后会触发镜像脑裂,如果资源树中有共享存储资源的话,共享存储中的数据可能会被破坏。此类脑裂是可以通过合理的配置来避免的,请尽可能的保证如下配置:
-
使用共享存储资源的集群必须配置仲裁盘
-
配置合适的参考IP,尽量不要使用127.0.0.1来做参考IP
-
有时候IPv4或IPv6资源会防止脑裂的发生,因为当第二个节点想启动资源树的时候,若虚拟IP有冲突,会阻止资源树的启动
-
尽可能多的配置私网物理链路和心跳,降低心跳全断的几率
-
单心跳环境可以将资源树的切换策略设置为“仅最高优先级主机自动接管”来阻止自动的切换
镜像脑裂:是当两台服务器都在对方不在线的状态下往镜像盘中写入了数据才会触发的,该错误虽然是严重错误,但却能友好的改出,并不会对镜像内的数据造成毁灭性的破坏,最常见的触发情况是错误的开关机顺序导致的,集群内服务器的开关机操作要遵从“先关的后启”原则。镜像脑裂也可以通过合理的配置来尽可能的避免:
-
配置合适的参考IP,尽量不要使用127.0.0.1来做参考IP
-
尽可能多的配置私网物理链路和心跳,降低心跳全断的几率
-
单心跳环境可以将资源树的切换策略设置为“仅最高优先级主机自动接管”来阻止自动的切换
-
可以根据实际情况来配置脑裂自动恢复策略
维护指南
开关机顺序
在集群中的服务器,有时可能要对所有服务器进行开关机操作或者重启操作,为了防止脑裂(特别是镜像的脑裂)情况的发生,需要遵从“先关的后开”原则进行操作,例如:
-
关机时先关备机再关主机,开机时先开主机再开备机
-
重启时需要先重启一台服务器,待这台服务器重启完成后再重启下一台
默认密码
ServHA热备软件的默认管理密码是“1”
服务名
Windows版:
-
MicroColor HA Core(核心模块服务)
-
MicroColor Config Server(配置监控代理模块服务)
-
MicroColor HA Disk replicator(镜像模块服务)
-
MicroColor HA DR Monitor(镜像守护模块服务)
查看日志
热备软件的日志在其安装目录下的log文件夹中:
-
Windows版默认在C:\Program Files\ServHAMirror\log目录下
-
Linux版默认在/usr/share/servha/log目录下
由于热备的日志仅记录自己产生的日志,应用方面的日志请查看应用本身生成的日志或查看系统日志。
更改IP
有时候可能要更改集群中服务器的IP地址以适配新的网络环境,此时分为以下几种情况:
-
更改虚拟IP
直接编辑对应的IPv4或IPv6资源,将IP改为新的IP地址即可
-
更改服务器的实际IP(有私网链路)
此情况一般不会涉及到私网链路IP的变更,因为私网链路不会对公网链路产生任何影响,所以不用更改私网IP和对应的心跳信息
1、先在操作系统里将实际IP更改
2、登入热备软件配置监控端,依次编辑心跳、参考IP、虚拟IP资源,如果有镜像使用了修改IP的链路还需要修改镜像
-
更改服务器的实际IP(无私网链路或私网链路也需要改IP)
此情况最为复杂,但也可以只通过修改来完成配置
1、先在操作系统里将实际IP更改
2、登入热备软件配置监控端,先编辑心跳,此时会提示其他服务器失联,让输入新的IP地址,根据节点名称输入新的IP地址后即可列出对应节点的网卡列表,选择对应的新IP地址的网卡保存即可
3、再依次编辑参考IP、虚拟IP资源,如果有镜像使用了修改IP的链路还需要修改镜像
更换节点
在实际使用过程中,难免的会碰到需要更换集群中服务器的情况,更换单节点的操作步骤大致如下:
实际操作过程根据环境的不同可能有所不同,本手册只是提供主要的思路
名词定义:老服务器——需要被更换的服务器,新服务器——要新换上去的服务器,现存服务器——不需要更换的服务器
-
将老服务器断电、断网、下架
-
安装新服务器上的操作系统、应用软件、热备软件
要与老服务器完全一致,包括但不仅限于版本、位数、安装路径、权限等
如果老服务器上有热备需要用到的脚本,也需要一并转移到新服务器上
-
如果新服务器需要连接共享存储设备,请先确保不会有任何软件会往存储中写入数据!
-
新服务器上架、联网、加电开机
-
将老服务器上的IP配置到新服务器上
-
登入现存服务器的HA配置监控端(之后的操作都在这个配置监控端里操作)
-
先记录一下左侧【资源树】下哪些资源树绑定了老服务器的节点
-
在左侧【节点】处右键--移除所有离线主机
-
将所有资源树下的现存节点处右键--设置维护模式
-
再在左侧【节点】处右键--添加新节点,走完向导
-
若新节点参与了卷镜像、目录镜像,需要先删除不完整的镜像后重新建立(注:重建linux系统下的卷镜像会导致业务中断,请先预留好窗口时间)
-
在左侧【资源树】下的所有之前记录的绑定了老服务器的资源树上依次右键--绑定节点,并走完向导
-
授权
更新应用程序
当被做成资源的程序需要更新时,难免会遇到需要暂时单独停止一下该资源的运行的情况,而热备软件可能会在该程序停止的时候自动运行起来或者切换到备机,反倒造成了对更新操作的障碍,此时,只需要在热备配置监控端中,在该程序对应的资源图标上右键--设置维护模式,热备软件就不会管这个资源的状态了,再去停止对应的程序更新即可。
在更新操作完成后记得把对应资源的维护模式取消掉
如果更新的部分全在同步路径中,那只需在一台服务器上更新即可,否则需要在每台服务器上都进行一遍更新操作
脑裂恢复
脑裂恢复一般是指镜像脑裂的恢复。
如果您选择的是脑裂后自动处理,则无需人工干预,集群将根据您选择的策略自动进行处理。如果您选择的是脑裂后手动处理,操作步骤如下:
在配置监控端中选择脑裂的镜像,点击工具栏上“脑裂恢复”按钮,在弹出的“脑裂恢复”窗口中根据提示信息选择恢复即可。
比对两台机器的差异数据,选择合适的一端,点击“恢复脑裂”:
注意:脑裂后会造成两节点数据不一致,选择脑裂恢复必须丢弃其中一个节点的差异数据,请谨慎选择保留数据的一端。
为了方便用户确定镜像脑裂后的数据保留方,在镜像脑裂的状态下资源树也可以进行切换,但是数据不会同步到对机,您可以通过资源切换/建立快照,备份或者验证数据有效的一方,最后选择脑裂恢复方向,避免关键数据的丢失。
切换
手动切换
概述:手动切换其实是以手动的方式将资源树运行在之前未启动的一台服务器上。
切换条件
-
需要启动资源树的节点在线;
-
需要启动资源树的节点上没有出现“决断错误”(A);
注意事项:
-
切换过程中会先停止之前运行着资源树的服务器上的业务,请先预留好维护窗口时间;
-
若切换发生失败,资源树不会自动切回至之前运行的服务器并等待手工处理;
操作指南:
在热备界面左侧资源树下,单击要切换到的节点(蓝色的节点为当前的备机),点击启动按钮。
等待切换完毕。
当操作的节点变成主节点(绿色)后即为切换成功。
自动切换
概述:在当前主机发生热备软件能检测到的故障时,有可能会根据策略触发自动切换,此操作一般不需要人员干预。
触发情况:
-
主备机之间通过心跳链路无法联系到对机,且主机不能联通参考IP,有仲裁盘的情况下主机机还需不能联通仲裁盘,比如主机断电、关机、蓝屏等情况;
-
主机上的某资源不处于“维护模式”且出现了决断错误(A)并且异常停止(例如主机公网网线脱落、主机镜像盘/共享存储掉盘等情况);
-
主机上的某资源不处于“维护模式”并且频繁停止(默认配置下是1分钟内异常停止超过3次);
备机接管条件:
-
备机在线且授权未过期;
-
资源树的“启动模式”必须为“自动”,“切换策略”为“按主机优先级顺序自动接管”;
-
在心跳全断的情况下,备机需要能联通参考IP,有仲裁盘的情况下还需备机能联通仲裁盘;
-
备机要启动的虚拟IP地址未被其他设备占用;
-
备机的资源树下的资源没有出现决断错误(A);
-
备机的镜像处于正常(实时同步)状态;
注意事项:
-
若自动切换出现了失败,资源树有可能还会切回来;
清除热备配置
*该操作将会彻底清除所操作节点上的热备配置
Linux操作:
#在终端命令行中以root身份运行
/usr/share/servha/op rm_clearup
Windows操作:
#使用管理员身份运行cmd
"C:\Program Files\ServHAMirror\MCNTHA.exe" rm_clearup
软连接
软链接又叫符号链接,是操作系统自带的功能,它可以创建一个符号文件,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。
在对符号文件进行读或写操作的时候,系统会自动把该操作转换为对源文件的操作,但删除链接文件时,系统仅仅删除链接文件,而不删除源文件本身。
链接文件甚至可以链接不存在的文件,这就产生一般称之为“断链”的现象,链接文件甚至可以循环链接自己。类似于编程语言中的递归。
软链接文件只是其源文件的一个标记,当删除了源文件后,链接文件不能独立存在,虽然仍保留文件名,但却不能查看软链接文件的内容了。
Linux系统均支持软链接,而Windows系统仅在Windows Vista/Server 2008及以上的版本才支持。
在Linux系统上建立软连接:
#在终端命令行中运行
ln -s "源路径" "符号路径"
在Windows系统上建立软连接:
#使用管理员身份运行cmd
mklink /D "符号路径" "源路径"
无法访问共享存储盘、镜像盘、同步目录
镜像盘、共享存储盘、同步目录同时最多只能有一个节点能进行访问,这个是正常现象,如果所有节点上都无法访问,则需要检查其对应的资源所在的资源树是否有出现错误导致其无法启动。
自动登录系统桌面
某些应用程序的运行是需要有桌面环境的,其对应资源也必须勾选“运行在桌面上”的选项,此时该资源的启动先决条件将会对桌面环境进行检查,在服务器重启后默认是不会自动登录桌面的,这会导致需要桌面环境的资源出现决断失败(A)错误,影响资源树的启动。
解决方案就是配置操作系统的自动登录。
Windows系统的自动登录
注意:需要至少保留一个已登录用户不注销,否则,带窗口的程序依旧无法运行。使用WIN+L锁定并返回登录界面不会影响窗口程序的运行。
打开注册表,选择[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon]项,添加如下键(字符串值):
"AutoAdminLogon"="1"
"DefaultUserName"="默认登录的用户名,一般为Administrator"
"DefaultPassword"="该用户的密码"
处于域环境的话再加一个键:
"DefaultDomainName"="所处域的名称"
如果出于安全需要,需要在Windows自动登录后自动返回登录界面,可以将下面的脚本保存为.vbs文件,并放入到Windows自动启动项中(Windows XP/2003一般在“C:\Documents and Settings\用户名\「开始」菜单\程序\启动\”下,Windows Server 2008及以上一般在“C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup”下):
Dim oSys,Syscmd
Set oSys = CreateObject("WScript.Shell")
Syscmd = "%windir%\SYSTEM32\rundll32.exe user32.dll,LockWorkStation"
oSys.Run Syscmd, 0, False
Linux系统的自动登录
由于Linux的版本与桌面环境众多,以下仅举例,具体环境上的配置请自行查阅
Redhat7.6系统下设置
修改/etc/gdm/custom.conf文件的[daemon]项配置,重启后即可生效
[daemon]
AutomaticLoginEnable=True
AutomaticLogin=root
Ubuntu 18.04系统下设置
-
允许使用root用户登录桌面
Ubuntu默认不允许使用root用户登录桌面的,首先需要进行如下配置
编辑/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf将该文件的配置修改成如下
[Seat:*]
user-session=ubuntu
greeter-show-manual-login=true #在登录时允许用户自己输入用户名和密码
Ubuntu中的root用户默认是没有设置密码的,所以还需要设置root密码
sudo passwd root #在当前桌面登录的用户下执行这条命令修改root密码 [sudo] user 的密码: #输入当前登录用户用户user的密码 输入新的 UNIX 密码: #输入给root密码 重新输入新的 UNIX 密码: #再次输入root密码 passwd:已成功更新密码
-
允许root开机自动登录桌面
再次编辑/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf,在该文件末尾添加如下两行
allow-guset=flase #禁止访客用户登录
Autologin-user=root #在登录时允许用户自己输入用户名和密码
编辑完成之后,还需要修改图形桌面配置,编辑文件/etc/gdm3/custom.conf,找到[daemon]项,将该项的配置修改至如下
[daemon]
AutomaticLoginEnable=true #启用自动登录
AutomaticLogin=root #指定root用户为自动登录用户
-
由于Ubuntu默认是禁止使用root用户进行ssh远程登录终端访问的,所以如果需要使用root登录ssh的话则需要再文件中增加如下配置
PermitRootLogin yes
-
重启电脑生效






