ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:428KB ,
资源ID:6525177      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6525177.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Heartbeat3x应用全攻略.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Heartbeat3x应用全攻略.docx

1、Heartbeat3x应用全攻略一、Heartbeat的概念组成以及工作原理1、 heartbeat的概念 Heartbeat是Linux-HA项目中的一个组件,也是目前开源HA项目中最成功的一个例子, Linux-HA的全称是High-Availability Linux,这个开源项目的目标是:通过社区开发者的共同努力,提供一个增强linux可靠性(reliability)、可用性(availability)和可服务性(serviceability)(RAS)的群集解决方案. Heartbeat提供了所有 HA 软件所需要的基本功能,比如心跳检测和资源接管、监测群集中的系统服务、在群集中的节

2、点间转移共享 IP 地址的所有者等.Linux-HA的官方网站:http:/www.linux-ha.org http:/hg.linux-ha.org2、 HA集群相关术语(1) 节点(node) 运行heartbeat进程的一个独立主机,称为节点,节点是HA的核心组成部分,每个节点上运行着操作系统和heartbeat软件服务,在heartbeat集群中,节点有主次之分,分别称为主节点和备用/备份节点,每个节点拥有唯一的主机名,并且拥有属于自己的一组资源,主节点上一般运行着一个或多个应用服务。而备用节点一般处于监控状态。(2)资源(resource) 资源是一个节点可以控制的实体,并且当节点

3、发生故障时,这些资源能够被其它节点接管,heartbeat中,可以当做资源的实体有: 磁盘分区、文件系统、IP地址、应用程序服务、NFS文件系统(3)事件(event) 也就是集群中可能发生的事情,例如节点系统故障、网络连通故障、网卡故障、应用程序故障等。这些事件都会导致节点的资源发生转移,HA的测试也是基于这些事件来进行的。(4)动作(action) 事件发生时HA的响应方式,动作是由shell脚步控制的,例如,当某个节点发生故障后,备份节点将通过事先设定好的执行脚本进行服务的关闭或启动。进而接管故障节点的资源。3、 Heartbeat的组成(1) Heartbeat的结构 Heartbea

4、t1.x和2.0.x版本的结构十分简单,各个模块都集中在heartbeat中,到了3.0版本后,整个heartbeat项目进行了拆分,分为不同的项目来分别进行开发。 Heartbeat2.0.x之前的版本具有的模块: heartbeat: 节点间通信检测模块 ha-logd: 集群事件日志服务 CCM(Consensus Cluster Membership):集群成员一致性管理模块 LRM (Local Resource Manager):本地资源管理模块 Stonith Daemon: 使出现问题的节点从集群环境中脱离 CRM(Cluster resource management):集群

5、资源管理模块 Cluster policy engine: 集群策略引擎 Cluster transition engine:集群转移引擎Heartbeat3.0拆分之后的组成部分: Heartbeat:将原来的消息通信层独立为heartbeat项目,新的heartbeat只负责维护集群各节点的信息以及它们之前通信; Cluster Glue:相当于一个中间层,它用来将heartbeat和pacemaker关联起来,主要包含2个部分,即为LRM和STONITH。 Resource Agent:用来控制服务启停,监控服务状态的脚本集合,这些脚本将被LRM调用从而实现各种资源启动、停止、监控等等。

6、 Pacemaker:也就是Cluster Resource Manager (简称CRM),用来管理整个HA的控制中心,客户端通过pacemaker来配置管理监控整个集群。Pacemaker 提供了多种用户管理接口,分别如下:1)crm shell:基于字符的管理方式;2)一个使用Ajax Web配置方式的web konsole窗口;3)hb_gui ,即heartbeat的gui图形配置工具,这也是原来2.1.x的默认GUI配置工具;4)DRBD-MC,一个基于Java的配置管理工具。(2) Pacemaker内部组成及与各模块之间关系(3) Heartbeat3.x内部组成及之间关系(4

7、) Heartbeat各个版本之间的异同与1.x风格相比,Heartbeat2.1.x版本之后功能变化如下:1)保留原有所有功能 如,网络,heartbeat ,机器down时均可切换资源。2)自动监控资源 默认情况下每2分钟检测资源运行情况,如果发现资源不在,则尝试启动资源, 如果60s后还未启动成功,则资源切换向另节点。时间可以修改。3) 可以对各资源组实现独立监控. 比如apache运行在node1上,tomcat运行在node2上,Heartbeat可同时实现两台主机的服务监控。4)同时监控系统负载 可以自动将资源切换到负载低的node上。 Heartbeat官方最后一个STABLE

8、release 2.x 版本是2.1.4,Heartbeat 3官方正式发布的首个版本是3.0.2,Heartbeat 3与Heartbeat2.x的最大差别在于,Heartbeat3.x按模块把的原来Heartbeat2.x拆分为多个子项目,但是HA实现原理与Heartbeat2.x基本相同。配置也基本一致。(5) Heartbeat集群的一般拓扑图一、安装heartbeat前的准备1、Heartbeat集群必须的硬件构建一个Heartbeat集群系统必须的硬件设备有:节点服务器、网络和网卡、共享磁盘2、操作系统规划这里统一采用Centos5.3操作系统,每个节点服务器都有两块网卡,一块用作

9、连接公用网络,另一块通过以太网交叉线连接两个节点,作为心跳监控。共享磁盘由一个磁盘阵列设备提供,两个节点共享一个磁盘分区。磁盘分区对应的硬件标识为/dev/sdf1,挂载点为/data1,文件系统类型为ext3。如图1所示:图1网络拓扑如图2所示:图2配置每个节点的/etc/hosts文件,保证两个节点内容一致,/etc/hosts文件内容如下:1. rootnode1#more/etc/hosts 2. 192.168.12.246node1 3. 192.168.12.237node2 4. 10.1.1.1priv1 5. 10.1.1.2priv1一切准备就绪,接下来开始安装heart

10、beat。二、安装heartbeat这里的安装以heartbeat3.x为讲解对象,以下操作需要在两个节点都进行安装,基本安装过程为:首先建立相关用户hacluster和组haclient,然后设定环境变量,最后就是安装heartbeat,过程如下:1、添加用户和组1. groupaddhaclient 2. useradd-ghaclienthacluster2、设置环境变量vi /root/.bash_profile,添加如下内容:1. exportPREFIX=/usr/local/ha 2. exportLCRSODIR=$PREFIX/libexec/lcrso 3. exportC

11、LUSTER_USER=hacluster4. exportCLUSTER_GROUP=haclient5. exportCFLAGS=$CFLAGS-I$PREFIX/include-L$PREFIX/lib6. getentgroup$CLUSTER_GROUP/dev/null|groupadd-r$CLUSTER_GROUP 7. getentpasswd$CLUSTER_USER/dev/null|useradd-r-g$CLUSTER_GROUP-d/var/lib/heartbeat/cores/hacluster-s/sbin/nologin-cclusteruser$CLUS

12、TER_USER heartbeat3.x版本把安装包分成了4个部分,分别是:Cluster Glue、Resource Agents、heartbeat和pacemaker,所以要分别安装,可以从http:/hg.linux-ha.org、http:/hg.clusterlabs.org下载对应的软件包,这里使用的软件版本分别为:glue-1.0.7、agents-1.0.3、heartbeat-STABLE-3.0.4、Pacemaker-1.0.103、安装各个模块软件包(1)安装Cluster Glue1. tarxjvfReusable-Cluster-Components-glue

13、-5e06b2ddd24b.tar.bz2 2. cdReusable-Cluster-Components-glue-5e06b2ddd24b 3. ./autogen.sh 4. ./configure-prefix=$PREFIX-with-daemon-user=$CLUSTER_USER-with-daemon-group=$CLUSTER_GROUP-enable-fatal-warnings=no5. make 6. makeinstall (2)安装Resource Agents1. tarjxvfCluster-Resource-Agents-5ae70412eec8.tar

14、.bz2 2. cdCluster-Resource-Agents-5ae70412eec8 3. ./autogen.sh 4. ./configure-prefix=$PREFIX-enable-fatal-warnings=no5. make 6. makeinstall (3)安装heartbeat1. tarjxvfHeartbeat-3-0-fcd56a9dd18c.tar.bz2 2. cdHeartbeat-3-0-fcd56a9dd18c 3. ./bootstrap 4. ./configure-prefix=$PREFIX-enable-fatal-warnings=no

15、5. make 6. makeinstall (4)安装pacemaker1. tarjxvfPacemaker-1-0-c3869c00c759.tar.bz2 2. cdPacemaker-1-0-c3869c00c759 3. ./autogen.sh 4. ./configure-prefix=$PREFIX-with-lcrso-dir=$LCRSODIR-enable-fatal-warnings=no5. make 6. makeinstall 4、安装图像管理工具Pacemaker-Python-GUI1. rootdrbd1Pacemaker-Python-GUI-18332

16、eae086e#tarjxvfPacemaker-Python-GUI-18332eae086e.tar.bz2 2. rootdrbd1Pacemaker-Python-GUI-18332eae086e#cdPacemaker-Python-GUI-18332eae086e 3. rootdrbd1Pacemaker-Python-GUI-18332eae086e#./bootstrap-prefix=$PREFIXCFLAGS=$CFLAGS-I$PREFIX/include-L$PREFIX/lib4. rootdrbd1Pacemaker-Python-GUI-18332eae086e

17、#make 5. rootdrbd1Pacemaker-Python-GUI-18332eae086e#makeinstall 可能出现如下报错:1. aclocal:configure.in:57:warning:macroAM_PO_SUBDIRSnotfoundinlibrary 2. ./configure:line2064:syntaxerrornearunexpectedtoken0.35.2 3. ./configure:line2064:AC_PROG_INTLTOOL(0.35.2) 只需安装gettext和intltool-0.35.0-2软件包即可三、配置heartbea

18、t对HA的配置分为两个部分,配置heartbeat和pacemaker,与heartbeat版本相对应,配置文件也有两个版本,即为heartbeat1.x的1.x style版本和heartbeat2.1.x版本之后的2.1.x style版本,我们可以借助1.x style的集群资源配置文件转换为2.x style的格式,同时,在heartbeat2.1.x版本之后使用CRM来管理整个集群。集群开始时,通过在各节点间选举产生一个节点成为DC(Designated Coordinator),所有配置操作都在该DC主机上进行,并由其分发到集群下的各个节点上。下面依次讲述。1、1.x和2.x配置文

19、件对比 /usr/local/ha/etc/ha.d/authkeys 该文件在两个版本作用是完全相同的,都必须设置,并且保证每个节点(node)内容一样 /usr/local/ha/etc/ha.d/ha.cf 这个是主要配置文件,由其决定v1或v2 style格式 /usr/local/ha/etc/haresources 这是v1的资源配置文件 /usr/local/ha/var/lib/heartbeat/crm/cib.xml 这是v2的资源配置文件,两者根据ha.cf的设定只能选其一.v2版本使用CRM管理集群,而cib.xml文件有如下几种方式来编写: 人工编写XML文件; 使用

20、admintools工具,其已经包含在heartbeat包中; 使用GUI图形工具配置,也包含在heartbeat-gui包里面,这个一会介绍; 使用python脚本转换1.x style的格式配置文件到2.x style格式。这四种方法实质都是相同的,并且以python脚本转换最为简单容易。为此,可以先配置好1.x style的格式,然后通过python脚本进行转换。2、配置heartbeat1)首先拷贝模板配置文件1. cp/usr/local/ha/share/doc/authkeys/usr/local/ha/etc/ha.d 2. cp/usr/local/ha/share/doc/

21、ha.cf/usr/local/ha/etc/ha.d 3. cp/usr/local/ha/share/doc/haresources/usr/local/ha/etc/ha.d3、主配置文件(/etc/ha.d/ha.cf)下面对ha.cf文件的每个选项进行详细介绍,其中“#”号后面的内容是对选项的注释说明。1. #debugfile/var/log/ha-debug 2. logfile/var/log/ha-log#指名heartbeat的日志存放位置。 3. #crmyes#是否开启ClusterResourceManager(集群资源管理)功能。 4. bcasteth1#指明心跳

22、使用以太网广播方式,并且是在eth1接口上进行广播。 5. keepalive2#指定心跳间隔时间为2秒(即每两秒钟在eth1上发送一次广播)。 6. deadtime30#指定备用节点在30秒内没有收到主节点的心跳信号后,则立即接管主节点的服务资源。 7. warntime10#指定心跳延迟的时间为十秒。当10秒钟内备份节点不能接收到主节点的心跳信号时,就会往日志中写入一个警告日志,但此时不会切换服务。 8. initdead120#在某些系统上,系统启动或重启之后需要经过一段时间网络才能正常工作,该选项用于解决这种情况产生的时间间隔。取值至少为deadtime的两倍。 9. udpport

23、694#设置广播通信使用的端口,694为默认使用的端口号。 10. baud19200#设置串行通信的波特率。 11. #serial/dev/ttyS0#选择串行通信设备,用于双机使用串口线连接的情况。如果双机使用以太网。 12. #ucasteth0192.168.1.2#采用网卡eth0的udp单播来组织心跳,后面跟的IP地址应为双机对方的IP地址。 13. #mcasteth0225.0.0.169410#采用网卡eth0的Udp多播来组织心跳,一般在备用节点不止一台时使用。Bcast、ucast和mcast分别代表广播、单播和多播,是组织心跳的三种方式,任选其一即可。 14. aut

24、o_failbackon#用来定义当主节点恢复后,是否将服务自动切回,heartbeat的两台主机分别为主节点和备份节点。主节点在正常情况下占用资源并运行所有的服务,遇到故障时把资源交给备份节点并由备份节点运行服务。在该选项设为on的情况下,一旦主节点恢复运行,则自动获取资源并取代备份节点,如果该选项设置为off,那么当主节点恢复后,将变为备份节点,而原来的备份节点成为主节点。 15. #stonithbaytech/etc/ha.d/conf/stonith.baytech#stonith的主要作用是使出现问题的节点从集群环境中脱离,进而释放集群资源,避免两个节点争用一个资源的情形发生。保证

25、共享数据的安全性和完整性。 16. #watchdog/dev/watchdog#该选项是可选配置,是通过Heartbeat来监控系统的运行状态。使用该特性,需要在内核中载入softdog内核模块,用来生成实际的设备文件,如果系统中没有这个内核模块,就需要指定此模块,重新编译内核。编译完成输入insmodsoftdog加载该模块。然后输入grepmisc/proc/devices(应为10),输入cat/proc/misc|grepwatchdog(应为130)。最后,生成设备文件:mknod/dev/watchdogc10130。即可使用此功能。 17. nodenode1#主节点主机名,可

26、以通过命令“uanmen”查看。 18. nodenode2#备用节点主机名。 19. ping192.168.12.1#选择ping的节点,ping节点选择的越好,HA集群就越强壮,可以选择固定的路由器作为ping节点,但是最好不要选择集群中的成员作为ping节点,ping节点仅仅用来测试网络连接。 20. ping_groupgroup1192.168.12.251192.168.12.239#类似于ping。 21. #respawnhacluster/usr/local/ha/lib/heartbeat/ipfail 22. apiauthpingdgid=haclientuid=ha

27、cluster23. respawnhacluster/usr/local/ha/lib/heartbeat/pingd-m100-d5s#该选项是可选配置,列出与heartbeat一起启动和关闭的进程,该进程一般是和heartbeat集成的插件,这些进程遇到故障可以自动重新启动。最常用的进程是pingd,此进程用于检测和监控网卡状态,需要配合ping语句指定的pingnode来检测网络的连通性。其中hacluster表示启动pingd进程的身份。 24. #下面的配置是关键,也就是激活crm管理,开始使用v2style格式 25. crmrespawn 26. #注意,还可以使用crmyes

28、的写法,但这样写的话,如果后面的cib.xml配置有问题 27. #会导致heartbeat直接重启该服务器,所以,测试时建议使用respawn的写法 28. #下面是对传输的数据进行压缩,是可选项 29. compressionbz2 30. compression_threshold2 31. 注意,v2style不支持ipfail功能,须使用pingd代替 4、资源文件(/etc/ha.d/haresources) Haresources文件用于指定双机系统的主节点、集群IP、子网掩码、广播地址以及启动的服务等集群资源,文件每一行可以包含一个或多个资源脚本名,资源之间使用空格隔开,参数之

29、间使用两个冒号隔开,在两个HA节点上该文件必须完全一致,此文件的一般格式为:1. node-namenetwork node-name表示主节点的主机名,必须和ha.cf文件中指定的节点名一致,network用于设定集群的IP地址、子网掩码、网络设备标识等,需要注意的是,这里指定的IP地址就是集群对外服务的IP地址,resource-group用来指定需要heartbeat托管的服务,也就是这些服务可以由heartbeat来启动和关闭,如果要托管这些服务,必须将服务写成可以通过start/stop来启动和关闭的脚步,然后放到/etc/init.d/或者/etc/ha.d/resource.d/

30、目录下,heartbeat会根据脚本的名称自动去/etc/init.d或者/etc/ha.d/resource.d/目录下找到相应脚步进行启动或关闭操作。 LSB: Linux标准脚本文件(init script),通常放在/etc/init.d/目录下,heartbeat1.x版本之前的管理脚本一半放在/etc/ha.d/resource.d,在这里是/usr/local/ha/etc/ha.d/resource.d OCF:Open Cluster Framework,默认放在/usr/lib/resource.d/heartbeat/目录下;在这里是/usr/local/ha/etc/ha.d/resource.d下面介绍一下ocf和lsb格式的区别: L

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1