Zabbix运维平台高可用模式部署手册_第1页
Zabbix运维平台高可用模式部署手册_第2页
Zabbix运维平台高可用模式部署手册_第3页
Zabbix运维平台高可用模式部署手册_第4页
Zabbix运维平台高可用模式部署手册_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Zabbix 运维平台高可用模式部署手册目录 TOC o 1-3 h z u HYPERLINK l _Toc487396150 1 zabbix运行条件 PAGEREF _Toc487396150 h 6 HYPERLINK l _Toc487396151 1.2 zabbix功能 PAGEREF _Toc487396151 h 6 HYPERLINK l _Toc487396152 1.3 优劣势 PAGEREF _Toc487396152 h 6 HYPERLINK l _Toc487396153 2. zabbix配置文件 PAGEREF _Toc487396153 h 7 HYPER

2、LINK l _Toc487396154 2.1 说明 PAGEREF _Toc487396154 h 7 HYPERLINK l _Toc487396155 2.2 zabbix架构 PAGEREF _Toc487396155 h 8 HYPERLINK l _Toc487396156 3. 系统规划 PAGEREF _Toc487396156 h 8 HYPERLINK l _Toc487396157 4. zabbix server安装 PAGEREF _Toc487396157 h 9 HYPERLINK l _Toc487396158 4.1 同步授时中心时间 PAGEREF _To

3、c487396158 h 9 HYPERLINK l _Toc487396159 4.2 网卡服务配置 PAGEREF _Toc487396159 h 11 HYPERLINK l _Toc487396160 4.3 建立LAMP环境 PAGEREF _Toc487396160 h 11 HYPERLINK l _Toc487396161 4.3.1 CentOS5.6 PAGEREF _Toc487396161 h 11 HYPERLINK l _Toc487396162 4.3.2 RHEL 6.2 PAGEREF _Toc487396162 h 12 HYPERLINK l _Toc48

4、7396163 4.4 禁用SELINUX PAGEREF _Toc487396163 h 15 HYPERLINK l _Toc487396164 4.5 新建zabbix组和用户 PAGEREF _Toc487396164 h 16 HYPERLINK l _Toc487396165 4.6 编译安装zabbix PAGEREF _Toc487396165 h 16 HYPERLINK l _Toc487396166 4.6.1 编译安装 PAGEREF _Toc487396166 h 16 HYPERLINK l _Toc487396167 4.6.2 创建zabbix数据库 PAGER

5、EF _Toc487396167 h 17 HYPERLINK l _Toc487396168 4.6.3 复制配置文件到zabbix安装目录 PAGEREF _Toc487396168 h 19 HYPERLINK l _Toc487396169 4.6.4 添加服务端口 PAGEREF _Toc487396169 h 19 HYPERLINK l _Toc487396170 4.6.5 修改zabbix目录用户属性 PAGEREF _Toc487396170 h 20 HYPERLINK l _Toc487396171 4.6.6 配置软连接 PAGEREF _Toc487396171 h

6、 20 HYPERLINK l _Toc487396172 4.6.7 配置zabbix启动脚本 PAGEREF _Toc487396172 h 20 HYPERLINK l _Toc487396173 4.6.8 添加开机启动服务 PAGEREF _Toc487396173 h 21 HYPERLINK l _Toc487396174 4.6.9 web相关配置 PAGEREF _Toc487396174 h 22 HYPERLINK l _Toc487396175 4.7 解决zabbix图中出现中文乱码 PAGEREF _Toc487396175 h 26 HYPERLINK l _To

7、c487396176 4.8 更改监控项类型 PAGEREF _Toc487396176 h 27 HYPERLINK l _Toc487396177 4.9 防火墙设置 PAGEREF _Toc487396177 h 27 HYPERLINK l _Toc487396178 5. mysql数据库双主同步配置说明 PAGEREF _Toc487396178 h 28 HYPERLINK l _Toc487396179 5.1 服务器A、B的ip地址 PAGEREF _Toc487396179 h 28 HYPERLINK l _Toc487396180 5.2 备份zabbix库 PAGER

8、EF _Toc487396180 h 29 HYPERLINK l _Toc487396181 5.3 分别在两台服务器上建立同步用户 PAGEREF _Toc487396181 h 29 HYPERLINK l _Toc487396182 5.4 修改服务器的数据库配置文件/etc/f PAGEREF _Toc487396182 h 30 HYPERLINK l _Toc487396183 5.5 进入数据库查看服务器A、B作为主服务器的状态 PAGEREF _Toc487396183 h 32 HYPERLINK l _Toc487396184 5.6 分别在两个服务器上设置并启动slav

9、e PAGEREF _Toc487396184 h 33 HYPERLINK l _Toc487396185 6. 安装heartbear&pacemaker PAGEREF _Toc487396185 h 36 HYPERLINK l _Toc487396186 6.1 概念组成及工作原理 PAGEREF _Toc487396186 h 36 HYPERLINK l _Toc487396187 6.1.1 heartbeat的概念 PAGEREF _Toc487396187 h 36 HYPERLINK l _Toc487396188 6.1.2 HA集群相关术语 PAGEREF _Toc4

10、87396188 h 36 HYPERLINK l _Toc487396189 6.1.3 Heartbeat的组成 PAGEREF _Toc487396189 h 38 HYPERLINK l _Toc487396190 6.2 安装heartbeat PAGEREF _Toc487396190 h 41 HYPERLINK l _Toc487396191 6.3 配置heartbeat PAGEREF _Toc487396191 h 42 HYPERLINK l _Toc487396192 6.3.1 主配置文件(/etc/ha.d/ha.cf) PAGEREF _Toc487396192

11、 h 42 HYPERLINK l _Toc487396193 6.3.2 资源文件(/etc/ha.d/haresources) PAGEREF _Toc487396193 h 45 HYPERLINK l _Toc487396194 6.3.3 认证文件(/etc/ha.d/authkeys) PAGEREF _Toc487396194 h 47 HYPERLINK l _Toc487396195 6.3.4 配置备用节点的heartbeat PAGEREF _Toc487396195 h 48 HYPERLINK l _Toc487396196 6.4 启动heartbeat PAGER

12、EF _Toc487396196 h 48 HYPERLINK l _Toc487396197 6.5 配置crm PAGEREF _Toc487396197 h 49 HYPERLINK l _Toc487396198 6.5.1 附录一、crm常用命令参考 PAGEREF _Toc487396198 h 52 HYPERLINK l _Toc487396199 6.5.2 附录二、安装过程中异常处理 PAGEREF _Toc487396199 h 54 HYPERLINK l _Toc487396200 6.6 故障模拟 PAGEREF _Toc487396200 h 54 HYPERLI

13、NK l _Toc487396201 6.7 防火墙设置 PAGEREF _Toc487396201 h 55 HYPERLINK l _Toc487396202 7. 安装cman&pacemaker PAGEREF _Toc487396202 h 55 HYPERLINK l _Toc487396203 7.1 简介 PAGEREF _Toc487396203 h 56 HYPERLINK l _Toc487396204 7.2 安装cman PAGEREF _Toc487396204 h 58 HYPERLINK l _Toc487396205 7.3 配置cman PAGEREF _T

14、oc487396205 h 59 HYPERLINK l _Toc487396206 7.4 启动集群 PAGEREF _Toc487396206 h 61 HYPERLINK l _Toc487396207 7.5 配置pcs PAGEREF _Toc487396207 h 62 HYPERLINK l _Toc487396208 7.5.1 附录一、pcs常用命令参考 PAGEREF _Toc487396208 h 65 HYPERLINK l _Toc487396209 7.6 故障模拟 PAGEREF _Toc487396209 h 66 HYPERLINK l _Toc4873962

15、10 7.7 防火墙设置 PAGEREF _Toc487396210 h 67 HYPERLINK l _Toc487396211 8. 防火墙设置 PAGEREF _Toc487396211 h 67 HYPERLINK l _Toc487396212 9. 脚本安装和卸载zabbix PAGEREF _Toc487396212 h 70 HYPERLINK l _Toc487396213 9.1 脚本安装zabbix server PAGEREF _Toc487396213 h 70 HYPERLINK l _Toc487396214 9.2 脚本卸载zabbix server PAGER

16、EF _Toc487396214 h 711 zabbix运行条件Server:zabbix server需运行在LAMP(Linux+Apache+Mysql+PHP)环境下,对硬件要求低。Agent:目前已有的agent基本支持市面常见的OS,包含Linux、HPUX、Solaris、Sun、windows。SNMP:支持各类常见的网络设备。1.2 zabbix功能具备常见的商业监控软件所具备的功能(主机的性能监控、网络设备性能监控、数据库性能监控、FTP等通用协议监控、多种告警方式、详细的报表图表绘制)支持自动发现网络设备和服务器,支持分布式,能集中展示、管理分布式的监控点,扩展性强,s

17、erver提供通用接口,可以自己开发完善各类监控1.3 优劣势优点:开源,无软件成本投入Server对设备性能要求低支持设备多支持分布式集中管理开放式接口,扩展性强缺点:出现问题如需原厂支持需支付费用需在被监控主机上安装agent2. zabbix配置文件2.1 说明Server:指安装zabbix服务的服务器(以下简称服务器端),是最重要的部份,主要安装在linux系统上(支持多种操作系统),采用mysql存储监控数据并使用apache+php的方式呈现。Agent:指安装在被监控设备上的zabbix代理(以下简称代理),被监控设备上的数据由代理收集后统一上传到服务器端由服务器端收集、整理并

18、呈现。SNMP:也是agent的一种,指支持SNMP协议的设备(也可以是服务器),通过设定SNMP的参数将相关监控数据传送至服务器端(大部份的交换机、防火墙等网络设备都支持SNMP协议)。IPMI:Agent的另一种方式,主要应用于设备的物理性能监控,例如设备的温度、风扇的转速等。2.2 zabbix架构zabbix支持多种网络方式下的监控,可通过分布式的方式部署和安装监控代理,整个架构如图所示。3. 系统规划系统环境:CentOS5.6 32bit、RHEL6.2 64bit每个节点服务器都有两块网卡,一块用作连接公用网络,另一块通过以太网交叉线连接两个节点,作为心跳监控,网络以及IP地址规

19、划如表所示:节点类型IP地址规划主机名类型主用节点eth0:3/24server01Public IPeth1:/24private01private IPeth0:0:9无Virtual IP备用节点eth0:4/24server02Public IPeth1:/24private02private IP配置每个节点的/etc/hosts文件,保证两个节点内容一致,/etc/hosts文件内容如下:3 server014 server02 private01 private02系统拓扑:4. zabbix server安装zabbix版本: 同步授时中心时间同步授时中心的时间

20、,强制把系统时间写入CMOS。ntpdate clock -w注意:这里说的是系统时间,是由linux操作系统维护的。在系统启动时,Linux操作系统将时间从CMOS中读到系统时间变量中,以后修改时间通过修改系统时间实现。为了保持系统时间与CMOS时间的一致性,Linux每隔一段时间会将系统时间写入CMOS。由于该同步是每隔一段时间(大约是11分钟)进行的,在我们执行date -s后,如果马上重起机器,修改时间就有可能没有被写入CMOS。每天凌晨、6点、12点和18点与授时中心同步时间,并将结果保存至/var/log/ntpdate.log文件中。crontab -u root -e添加:0

21、0,6,12,18 * * * /usr/sbin/ /var/log/ntpdate.log查询一下服务crond的情况:chkconfig -list crond查询一下用户root的cron的配置情况:crontab -u root -l注意:linux下防火墙规则如果极严格的话可能会影响 ntpd 对时,打开 sport 123 即可(假设 OUTPUT链全 ACCEPT):iptables -A INPUT -p udp -sport 123 -j ACCEPT4.2 网卡服务配置停止NetworkManager服务,这样网卡就不受NetworkManage的控制。/etc/init

22、.d/NetworkManager stopchkconfig NetworkManager off4.3 建立LAMP环境4.3.1 CentOS5.6安装rpmforge-release-0.5.3-1.el5.rfrpm -ivh rpmforge-release-0.5.3-1.el5.rf.i386.rpm备注:zabbix编译安装中的选项“-with-ssh2”对libssh2的版本要求为=1.0.0,epel源的版本为0.18不符合需求,rpmforge源的版本为1.2.9符合需求。注意:64位系统请安装此包rpm -ivh rpmforge-release-0.5.3-1.el

23、5.rf.x86_64.rpmLAMP环境:yum -y install httpd mysql-server php安装相关依赖包:yum install -y gcc mysql-devel net-snmp-devel net-snmp-utils php-gd php-mysqlphp-common php-bcmath php-mbstring php-xml curl-devel iksemel* OpenIPMIOpenIPMI-devel fping libssh2 libssh2-devel unixODBC unixODBC-develmysql-connector-odb

24、c openldap openldap-devel java java-devel配置http不随系统启动:chkconfig httpd offchkconfig mysqld on注意:apache届时由heartbeat启动。4.3.2 RHEL 6.2使用安装光盘建立本地yum源:卸载已挂载的光盘:umount /dev/sr0挂载光盘并写入配置文件:mount /dev/sr0 /media/vi /etc/fstab末尾添加:/dev/sr0 /media iso9660 defaults 0 0创建yum配置文件:vi /etc/yum.repos.d/rhel6.repo添加:

25、basename=basebaseurl=file:/media/enabled=1gpgcheck=0gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release安装epel-release-6-8.noarch.rpm:rpm -ivh epel-release-6-8.noarch.rpm导入key:rpm -import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6添加163上的CentOS6源:wget -O /etc/yum.repos.d/CentOS6-Base-163.repo/.help/CentO

26、S6-Base-163.repo编辑CentOS6-Base-163.repo把文件里面的$releasever全部替换为6:vi /etc/yum.repos.d/CentOS6-Base-163.repoLAMP环境:yum -y install httpd mysql-server php安装相关依赖包:yum install -y gcc mysql-devel net-snmp-devel net-snmp-utils php-gd php-mysqlphp-common php-bcmath php-mbstring php-xml curl-devel iksemel* Open

27、IPMIOpenIPMI-devel fping libssh2 libssh2-devel unixODBC unixODBC-develmysql-connector-odbc openldap openldap-devel java java-devel配置http不随系统启动:chkconfig httpd offchkconfig mysqld on注意:apache届时由pacemaker启动。4.4 禁用SELINUXsetenforce 0修改/etc/selinux/config文件中设置SELINUX=disabledsed -i s/SELINUX=enforcing/S

28、ELINUX=disabled/ /etc/selinux/config备注:设置SELinux 成为enforcing模式setenforce 1设置SELinux 成为permissive模式setenforce 04.5 新建zabbix组和用户/usr/sbin/groupadd zabbix/usr/sbin/useradd -g zabbix zabbix4.6 编译安装zabbix4.6.1 编译安装下载解压zabbix:wget /projects/zabbix/files/ZABBIX%20Latest%20Stable/2.0.6/zabbix-2.0.6.tar.gz/d

29、ownloadtar zxvf zabbix-2.0.6.tar.gz编译安装:cd /root/zabbix-2.0.6/./configure -prefix=/usr/local/zabbix -enable-server -enable-agent -enable-proxy -with-mysql -enable-java -enable-ipv6 -with-net-snmp -with-libcurl -with-ldap -with-ssh2 -with-jabber -with-openipmi -with-unixodbcmake & make installconfigu

30、re:error: Invalid NET-SNMP directory - unable to find net-snmp-config编译安装zabbix时,配置时报以上错,导致检测系统环境不成功。提示unableto find net-snmp-config,说明缺少相关的依赖性。这是因为,在linux中,大多数软件都是开源的,并且可以自由使用。因此在开发时可以用到其他的软件包时我们直接就拿来了,不用在花功夫去重新编写,这就造成了所谓的依赖性。那么怎么解决该问题那?解决办法一:找出net-snmp-config属于哪个软件包,然后安装即可。yum search net-snmp-conf

31、ig,发现net-snmp-config属于软件包net-snmp-devel,yum安装该软件包,解决该问题。解决办法二:在配置时,我们加上了-with-net-snmp这个选项,因此需要检查系统环境是否有该软件包支持。因此,在配置时,不要加上-with-net-snmp这个选项即不会报如下错误configure:error: Invalid NET-SNMP directory - unable to find net-snmp-config。参考文献:zabbix中文文档/zabbix2/4.6.2 创建zabbix数据库开启mysql,修改mysql root密码为123456(实际使

32、用环境中可自定义密码):/etc/init.d/mysqld start/usr/bin/mysqladmin -u root password 123456创建zabbix库,设置字符为utf8:/usr/bin/mysql -uroot -p123456create database zabbix character set utf8;grant all privileges on zabbix.* to zabbix9 identified by 123456;grant all privileges on zabbix.* to zabbixlocalhost identified b

33、y 123456;开启zabbix用户远程连接权限(可选):grant all privileges on zabbix.* to zabbix% identified by 123456;quit备注:zabbix数据库可以和zabbix服务器分离,采用后端数据层的mysql服务器存储数据提高安全,本例因实体机仅有二台,故zabbix server和mysql server还在同一台物理机中。注意:本例为heartbeat的VIP地址。(请按实际环境设置VIP地址):导入数据库:cd /root/zabbix-2.0.6/database/mysql/mysql -uzabbix -h 9

34、-p123456 zabbix schema.sqlmysql -uzabbix -h 9 -p123456 zabbix images.sqlmysql -uzabbix -h 9 -p123456 zabbix zabbix.sql5.3 分别在两台服务器上建立同步用户设置数据库同步帐户:mysql -u root -p123456服务器A:grant replication slave,file on *.* to tongbu identified by tongbu;flush privileges;服务器B:grant replication slave,file on *.* t

35、o tongbu identified by tongbu;flush privileges;查看已建立的同步账户:use mysql;select user,host from user;5.4 修改服务器的数据库配置文件/etc/f服务器A的f配置:注意:server-id默认为1,一般主从同步中,主服务器server-id为1,双主同步原则上两台同步服务器server-id不同即可。vi /etc/f在user=mysql后添加:log-bin=mysql-binrelay-log=relay-binrelay-log-index=relay-bin-indexserver-id = 1

36、master-connect-retry=30binlog-do-db=zabbixreplicate-do-db=zabbixbinlog-ignore-db=mysqlreplicate-ignore-db=mysqlbinlog-ignore-db=testreplicate-ignore-db=testbinlog-ignore-db=largedatereplicate-ignore-db=largedatebinlog-ignore-db=information_schemareplicate-ignore-db=information_schemabinlog-ignore-db

37、=performance_schemareplicate-ignore-db=performance_schemalog-slave-updatesslave-skip-errors=alllserver-id = 1 服务器ID号lmaster-connect-retry=30 断点重试间隔为30秒lbinlog-do-db=zabbix 表示同步zabbix数据库lreplicate-do-db=zabbix 表示同步zabbix数据库lbinlog-ignore-db=mysql 不同步mysql数据库llog-slave-updates 在从服务器上将复制过来的更新操作写入二进制日志,

38、从而可以得到完整的二进制日志,便于数据恢复和重现。lslave-skip-errors=alll跳过复制错误,该参数目前设置值为all,即跳过所有复制错误,实际使用时也可以缩小跳过错误的范围。备注:binlog-ignore-db和replicate-ignore-db表示不需要同步的数据库,可以不设置(不设置时,mysql也只会同步binlog-do-db中设置的数据库),但是为了安全起见,建议设置该参数。yum安装的mysql实际只需要不同步mysql和test库即可,如果从官网下载rpm包安装mysql5.5则不同。注意:很多案例会将同步账户设置在此配置文件中,个人不建议这样做。服务器B

39、的f配置与服务器A一样,只需要将server-id改为2。重启服务器A和服务器B的mysql:/etc/init.d/mysqld restart5.5 进入数据库查看服务器A、B作为主服务器的状态服务器A:进入数据库mysql -u root -p123456查看服务器A作为主服务器的状态:show master status;服务器B:进入数据库mysql -u root -p123456查看服务器B作为主服务器的状态:show master status;5.6 分别在两个服务器上设置并启动slave服务器A:进入数据库设置slave参数,其中master_user和master_pas

40、sword为在服务器B上面设置的同步账号的名称和密码;master_host为服务器B的IP地址;master_log_file和master_log_pos为服务器B中查看作为主服务器状态时显示的File和Position;change master to master_user=tongbu,master_password=tongbu,master_host=,master_port=3306,master_log_file=mysql-bin.000001,master_log_pos=106;启动slave进程:start slave;服务器B上的slave设置与服务器A相同,只是c

41、hange master命令中的master属性均为服务器A。查看slave状态,其中Slave_IO_Running和Slave_SQL_Running均为Yes即说明同步启动成功。show slave statusG;在服务器B上查看slave进程,检查其状态,看到Slave_IO_Running和Slave_SQL_Running均为Yes,至此双主同步配置成功。在两台服务器的zabbix库中任意添加数据,都可以同步到对端服务器上。注意:l如果出现Slave_IO_Running: No或启动slave出现Could not initialize master info structur

42、e;的错误,分别在两个服务器上重新设置并启动slave。stop slave;reset slave;l如果出现Last_IO_Error: error connecting to master tongbu:3306 -retry-time: 30 retries: 86400的错误,请检查防火墙配置。在mysql中可通过以下命令来查看主从状态l查看master状态show master status;l查看slave状态show slave status;l查看当前进程show processlist G;l停止slave进程stop slave;l开始slave进程start slave

43、;l重置slave进程reset slave;6. 安装heartbear&pacemaker系统环境:CentOS5.6 32bit注意:CentOS6.x和RHEL6.x请使用cman&pacemaker的模式创建集群。6.1 概念组成及工作原理6.1.1 heartbeat的概念Heartbeat是Linux-HA项目中的一个组件,也是目前开源HA项目中最成功的一个例子, Linux-HA的全称是High-Availability Linux,这个开源项目的目标是:通过社区开发者的共同努力,提供一个增强linux可靠性(reliability)、可用性(availability)和可服务

44、性(serviceability)(RAS)的群集解决方案。Heartbeat提供了所有 HA 软件所需要的基本功能,比如心跳检测和资源接管、监测群集中的系统服务、在群集中的节点间转移共享 IP 地址的所有者等。Linux-HA的官方网站: 6.1.2 HA集群相关术语(1)节点(node)运行heartbeat进程的一个独立主机,称为节点,节点是HA的核心组成部分,每个节点上运行着操作系统和heartbeat软件服务,在heartbeat集群中,节点有主次之分,分别称为主节点和备用/备份节点,每个节点拥有唯一的主机名,并且拥有属于自己的一组资源,主节点上一般运行着一个或多个应用服务。而备用节

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

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

47、集群环境中脱离 CRM(Cluster resourcemanagement):集群资源管理模块 Cluster policy engine: 集群策略引擎 Cluster transition engine:集群转移引擎Heartbeat3.0拆分之后的组成部分: Heartbeat:将原来的消息通信层独立为heartbeat项目,新的heartbeat只负责维护集群各节点的信息以及它们之前通信; Cluster Glue:相当于一个中间层,它用来将heartbeat和pacemaker关联起来,主要包含2个部分,即为LRM和STONITH。 Resource Agent:用来控制服务启停,

48、监控服务状态的脚本集合,这些脚本将被LRM调用从而实现各种资源启动、停止、监控等等。 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) Pacemak

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

50、源切换到负载低的node上。 Heartbeat官 方最后一个STABLE release 2.x 版本是2.1.4,Heartbeat 3官方正式发布的首个版本是3.0.2,Heartbeat 3与Heartbeat2.x的最大差别在于,Heartbeat3.x按模块把的原来Heartbeat2.x拆分为多个子项目,但是HA实现原理与 Heartbeat2.x基本相同。配置也基本一致。(5) Heartbeat集群的一般拓扑图参考文献:/2895551/7452286.2 安装heartbeat卸载rpmforge-release-0.5.3-1.el5.rfrpm -e rpmforge-

51、release-0.5.3-1.el5.rf备注:清除rpmforge源后才可安装heartbeat,否则会有冲突。安装epel-release-5-4.noarch.rpmrpm -ivh epel-release-5-4.noarch.rpm导入key:rpm -import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL添加Cluster Labs repo:wget -O /etc/yum.repos.d/pacemaker.repo /rpm/epel-5/clusterlabs.repo清除yum缓存:yum clean all安装heartbeat:yum i

52、nstall -y pacemaker corosync heartbeat6.3 配置heartbeat6.3.1 主配置文件(/etc/ha.d/ha.cf)注意:heartbeat安装后,3个配置文件默认存放在/usr/share/doc/heartbeat-3.0.3/目录中,需将其拷贝至/etc/ha.d/目录中。cp /usr/share/doc/heartbeat-3.0.3/ha.cf /etc/ha.d/cp /usr/share/doc/heartbeat-3.0.3/haresources /etc/ha.d/cp /usr/share/doc/heartbeat-3.0

53、.3/authkeys /etc/ha.d/配置主配置文件:vi /etc/ha.d/ha.cf下面对ha.cf文件的每个选项进行详细介绍,其中“#”号后面的内容是对选项的注释说明。#debugfile /var/log/ha-debuglogfile /var/log/ha-log #指名heartbeat的日志存放位置。#crm on #是否开启ClusterResourceManager(集群资源管理)功能。bcast eth1 #指明心跳方式使用以太广播方式,并且是在eth1接口上进行广播。keepalive 2 #指定心跳间隔时间为2秒(即每两秒钟在eth1上发送一次广播)。dead

54、time30 #指定备用节点在30秒内没有收到主节点的心跳信号后,则立即接管主节点的服务资源。warntime10 #指定心跳延迟的时间为十秒。当10秒钟内备份节点不能接收到主节点的心跳信号时,就会往日志中写入一个警告日志,但此时不会切换服务。initdead120 #在某些系统上,系统启动或重启之后需要经过一段时间网络才能正常工作,该选项用于解决这种情况产生的时间间隔。取值至少为deadtime的两倍。ucasteth0 3 #使用网卡eth0的udp单播来通知心跳udpport 694 #设置广播通信使用的端口,694为默认使用的端口号。baud 19200 #设置串行通信的波特率。#se

55、rial/dev/ttyS0 #选择串行通信设备,用于双机使用串口线连接的情况。如果双机使用以太网连接,则应该关闭该选项。auto_failbackoff #用 来定义当主节点恢复后,是否将服务自动切回,heartbeat的两台主机分别为主节点和备份节点。主节点在正常情况下占用资源并运行所有的服务,遇到故 障时把资源交给备份节点并由备份节点运行服务。在该选项设为on的情况下,一旦主节点恢复运行,则自动获取资源并取代备份节点,如果该选项设置为off, 那么当主节点恢复后,将变为备份节点,而原来的备份节点成为主节点。#stonith baytech /etc/ha.d/conf/stonith.b

56、aytech # stonith的主要作用是使出现问题的节点从集群环境中脱离,进而释放集群资源,避免两个节点争用一个资源的情形发生。保证共享数据的安全性和完整性。#watchdog/dev/watchdog #该选项是可选配置,是通过Heartbeat来监控系统的运行状态。使用该 特性,需要在内核中载入softdog内核模块,用来生成实际的设备文件,如果系统中没有这个内核模块,就需要指定此模块,重新编译内核。编译完成输 入insmod softdog加载该模块。然后输入grepmisc /proc/devices(应为10),输入cat /proc/misc |grepwatchdog(应为1

57、30)。最后,生成设备文件:mknod /dev/watchdog c10130 。即可使用此功能。node node1 #主节点主机名,可以通过命令“uanme -n”查看。node node2 #备用节点主机名。ping #选择ping的节点,ping 节点选择的越好,HA集群就越强壮,可以选择固定的路由器作为ping节点,但是最好不要选择集群中的成员作为ping节点,ping节点仅仅用来测试网络连接。respawnhacluster /usr/lib/heartbeat/ipfail #该 选项是可选配置,列出与heartbeat一起启动和关闭的进程,该进程一般是和heartbeat集成

58、的插件,这些进程遇到故障可以自动重新启动。最常 用的进程是ipfail,此进程用于检测和处理网络故障,需要配合ping语句指定的ping node来检测网络的连通性。其中hacluster表示启动ipfail进程的身份。检查配置:egrep -v $|# /etc/ha.d/ha.cf保证ipfail的可执行属性chmod +x /usr/lib/heartbeat/ipfail6.3.2 资源文件(/etc/ha.d/haresources)Haresources文件用于指定双机系统的主节点、集群IP、子网掩码、广播地址以及启动的服务等集群资源,文件每一行可以包含一个或多个资源脚本名,资源之

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

60、source.d/目录下,heartbeat会根据脚本的名称自动去/etc/init.d或者/etc/ha.d/resource.d/目录下找到相应脚本进行启动或关闭操作。下面对配置方法进行具体说明:vi /etc/ha.d/haresources末尾添加:server01 IPaddr:9/24/eth0 httpd zabbix_server其中,zabbix是HA集群的主节点,heartbeat首先将执行/etc/ha.d/resource.d/9/24 start的操作,也就是虚拟出一个子网掩码为,IP为9的地址,此IP为heartbeat对外提供服务的网络地址,同时指定此IP使用的网

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论