刚进外贸公司一个月多少钱,重庆百度推广优化排名,青岛网站设计哪家好,wordpress怎么读注:参考互联网整理. 一、简介Linux-HA的全称是High-Availability Linux#xff0c;它是一个开源项目#xff0c;这个开源项目的目标是#xff1a;通过社区开发者的共同努力#xff0c;提供一个增强linux可靠性#xff08;reliability#xff09;、可用性#xff08;avai…注:参考互联网整理. 一、简介Linux-HA的全称是High-Availability Linux它是一个开源项目这个开源项目的目标是通过社区开发者的共同努力提供一个增强linux可靠性reliability、可用性availability和可服务性serviceabilityRAS的群集解决方案。其中Heartbeat就是Linux-HA项目中的一个组件也是目前开源HA项目中最成功的一个例子它提供了所有 HA 软件所需要的基本功能比如心跳检测和资源接管、监测群集中的系统服务、在群集中的节点间转移共享 IP 地址的所有者等自1999年开始到现在Heartbeat在行业内得到了广泛的应用也发行了很多的版本可以从Linux-HA的官方网站www.linux-ha.org下载到Heartbeat的最新版本。二、术语1节点node运行heartbeat进程的一个独立主机称为节点节点是HA的核心组成部分每个节点上运行着操作系统和heartbeat软件服务在heartbeat集群中节点有主次之分分别称为主节点和备用/备份节点每个节点拥有唯一的主机名并且拥有属于自己的一组资源例如磁盘、文件系统、网络地址和应用服务等。主节点上一般运行着一个或多个应用服务。而备用节点一般处于监控状态。2资源resource资源是一个节点可以控制的实体并且当节点发生故障时这些资源能够被其它节点接管heartbeat中可以当做资源的实体有 1磁盘分区、文件系统 2IP地址 3应用程序服务 4NFS文件系统 3事件event也就是集群中可能发生的事情例如节点系统故障、网络连通故障、网卡故障、应用程序故障等。这些事件都会导致节点的资源发生转移HA的测试也是基于这些事件来进行的。 4动作action事件发生时HA的响应方式动作是由shell脚步控制的例如当某个节点发生故障后备份节点将通过事先设定好的执行脚本进行服务的关闭或启动。进而接管故障节点的资源。 三、组成1Heartbeat的组成 Heartbeat提供了高可用集群最基本的功能例如节点间的内部通信方式、集群合作管理机制、监控工具和失效切换功能等等目前的最新版本是Heartbeat2.x这里的讲述也是以Heartbeat2.x为主下面介绍Heartbeat2.0的内部组成主要分为以下几大部分1heartbeat 节点间通信检测模块 2ha-logd 集群事件日志服务 3CCMConsensus Cluster Membership集群成员一致性管理模块 4LRM Local Resource Manager本地资源管理模块 5Stonith Daemon 使出现问题的节点从集群环境中脱离 6CRMCluster resource management集群资源管理模块 7Cluster policy engine 集群策略引擎 8Cluster transition engine集群转移引擎 2插件Heartbeat仅仅是个HA软件它仅能完成心跳监控和资源接管不会监视它控制的资源或应用程序要监控资源和应用程序是否运行正常必须使用第三方的插件例如ipfail、Mon、Ldirector等。Heartbeat自身包含了几个插件分别是ipfail、Stonith和Ldirectord介绍如下1 ipfail的功能直接包含在Heartbeat里面主要用于检测网络故障并作出合理的反应为了实现这个功能ipfail使用ping节点或者ping节点组来检测网络连接是否出现故障从而及时的做出转移措施。 2Stonith插件可以在一个没有响应的节点恢复后合理接管集群服务资源防止数据冲突当一个节点失效后会从集群中删除如果不使用Stonith插件那么失效的节点可能会导致集群服务在多于一个节点运行从而造成数据冲突甚至是系统崩溃。因此使用Stonith插件可以保证共享存储环境中的数据完整性。 3Ldirector是一个监控集群服务节点运行状态的插件。Ldirector如果监控到集群节点中某个服务出现故障就屏蔽此节点的对外连接功能同时将后续请求转移到正常的节点提供服务这个插件经常用在LVS负载均衡集群中.3watchdog对于操作系统自身出现的问题Heartbeat也无法监控如果主节点操作系统挂起一方面可能导致服务中断另一方面由于主节点资源无法释放而备份节点却接管了主节点的资源此时就发生了两个节点同时争用一个资源的状况。针对这个问题就需要在linux内核中启用一个叫watchdog的模块watchdog是一个Linux内核模块它通过定时向/dev/watchdog设备文件执行写操作从而确定系统是否正常运行如果watchdog认为内核挂起就会重新启动系统进而释放节点资源。在linux中完成watchdog功能的软件叫softdogsoftdog维护一个内部计时器此计时器在一个进程写入/dev/watchdog设备文件时更新如果softdog没有看到进程写入/dev/watchdog文件就认为内核可能出了故障。watchdog超时周期默认是一分钟可以通过将watchdog集成到Heartbeat中从而通过Heartbeat来监控系统是否正常运行。四、原理在Heartbeat集群中最核心的是heartbeat模块的心跳监测部分和集群资源管理模块的资源接管部分心跳监测一般由串行接口通过串口线来实现两个节点之间通过串口线相互发送报文来告诉对方自己当前的状态如果在指定的时间内未受到对方发送的报文那么就认为对方失效这时资源接管模块将启动用来接管运行在对方主机上的资源或者服务.五、安装与配置 http://book.51cto.com/art/200912/168033.htm 六、测试如何才能得知HA集群是否正常工作模拟环境测试是个不错的方法。在把Heartbeat高可用性集群放到生产环境中之前需要做如下5个步骤的测试从而确定HA是否正常工作。 1正常关闭和重启主节点的Heartbeat首先在主节点node1上执行service heartbeat stop正常关闭主节点的Heartbeat进程此时通过ifconfig命令查看主节点网卡信息。正常情况下应该可以看到主节点已经释放了集群的服务IP地址同时也释放了挂载的共享磁盘分区。然后查看备份节点现在备份节点已经接管了集群的服务IP同时也自动挂载上了共享的磁盘分区。在这个过程中使用ping命令对集群服务IP进行测试。可以看到集群IP一致处于可通状态并没有任何延时和阻塞现象也就是说在正常关闭主节点的情况下主备节点的切换是无缝的HA对外提供的服务也可以不间断运行。接着将主节点Heartbeat正常启动。Heartbeat启动后备份节点将自动释放集群服务IP同时卸载共享磁盘分区而主节点将再次接管集群服务IP和挂载共享磁盘分区。其实备份节点释放资源与主节点绑定资源是同步进行的因而这个过程也是一个无缝切换。 2在主节点上拔去网线拔去主节点连接公共网络的网线后Heartbeat插件ipfail通过ping测试可以立刻检测到网络连接失败接着自动释放资源。而就在此时备用节点的ipfail插件也会检测到主节点出现网络故障在等待主节点释放资源完毕后备用节点马上接管了集群资源从而保证了网络服务不间断持续运行。同理当主节点网络恢复正常时由于设置了auto_failback on选项集群资源将自动从备用节点切会主节点。 3在主节点上拔去电源线在主节点拔去电源后备用节点的Heartbeat进程会立刻收到主节点已经shutdown的消息。如果在集群上配置了Stonith设备那么备用节点将会把电源关闭或者复位到主节点。当Stonith设备完成所有操作时备份节点才能拿到接管主节点资源的所有权从而接管主节点的资源。 4切断主节点的所有网络连接在主节点上断开心跳线后主备节点都会在日志中输出eth1 dead的信息但是不会引起节点间的资源切换。如果再次拔掉主节点连接公共网络的网线就会发生主备节点资源切换资源从主节点转移到备用节点。此时连上主节点的心跳线观察系统日志可以看到备用节点的Heartbeat进程将会重新启动进而再次控制集群资源。最后连上主节点的对外网线集群资源再次从备用节点转移到主节点。这就是整个切换过程。5在主节点上非正常关闭Heartbeat守护进程在主节点上可通过killall -9 heartbeat命令关闭Heartbeat进程。由于是非法关闭Heartbeat进程因此Heartbeat所控制的资源并没有释放。备份节点在很短一段时间没有收到主节点的响应后就会认为主节点出现故障进而接管主节点资源。在这种情况下就出现了资源争用情况两个节点都占用一个资源造成数据冲突。针对这个情况可以通过Linux提供的内核监控模块watchdog来解决这个问题将watchdog集成到Heartbeat中。如果Heartbeat异常终止或者系统出现故障watchdog都会自动重启系统从而释放集群资源避免了数据冲突的发生。转载于:https://www.cnblogs.com/liulei-LL/p/7841198.html