首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Linux频道
Google
首页 入门 Linux编程 系统管理 网络管理 Linux认证 Unix/BSD Linux数据库 Linux集群 Linux手册 Linux下载 Ubuntu 论坛 专题 RSS
您现在的位置: 中国IT实验室 >> Linux >> Linux集群 >> 正文

用Heartbeat配置Linux高可用性集群

    
    六、配置Mon

    1 什么是Mon

    mon是针对linux开发的工具,但众所周知在sorlaris下他也可以工作。因为客户和服务端都是由perl语言书写,因此在轻便性上不会有问题。

    简单来说Heartbeat用来实现心跳和高可用性,Mon用来监控服务 。

    2 Mon方案

    图 4 是基于集群监视的Mon方案。

   


    
    图 5 是Mon检查每个集群节点MIB的过程
    
   


    
     3 首先自行搜尋以下的 Perl 模块
     
     

 perl-Mon-0.11-2.2.el5.rf.noarch.rpm
perl-Convert-BER-1.31.01-1.2.el5.rf.noarch.rpm
perl-Net-Telnet-3.03-1.2.el5.rf.noarch.rpm
perl-Time-HiRes-1.55-3.i386.rpm
perl-Time-Period-1.20-2.el5.rf.noarch.rpm
     
     安装命令:
     
    
 perl -MCPAN -e shell
cpan>install Time::Period
cpan>install Time::HiRes
cpan>install Convert::BER
cpan>install Mon::Protocol
cpan>install Mon::SNMP
cpan>install Mon::Client

     
     4 下载安装fping

     Ping命令大概是网管员最常用的命令了,使用Ping可以监测网络的通断、设备是否宕机,遗憾的是每次只能针对一台设备。在一个拥有20余台服务器和80多个可网管交换机的局域网内,Ping上一遍是很艰难的事情,而运行在Linux下的Fping(http://www.fping.com)可以轻松完成这一工作。Fping 命令与Ping命令非常相似,使用ICMP回应请求和应答来确定系统的可达性。它提供了一些Ping没有的特殊功能,比如,Fping可以在命令行上指定主机名或IP地址的列表、可以处理一个包含主机名或IP地址清单的文件。Fping并不是发送一个请求到单一目标(Ping的做法),而是用循环的方法发送ICMP请求到每个目标。另外,Fping可以用于脚本编程中。
     
    

 #wget http://www.kernel.org/pub/software/admin/mon/fping-2.2b1.tar.bz2
#bunzip2 fping-2.2b1.tar.bz2
#./configure
#make
#make check
#make install

     
     5 下载安装Mon
     
    
 #wget ftp://ftp.kernel.org/pub/software/admin/mon/mon-0.99.2.tar.gz
#tar -xzf mon-0.99.2.tar.gz
#cd mon-0.99.2
#mkdir /etc/mon
#cp auth.cf mon.cf /etc/mon
#mkdir /usr/lib/mon
#cp -r alert.d mon.d state.d mon /usr/lib/mon

     
     建立Mon报告目录和Mon报告文件

    

 #mkdir /usr/lib/mon/log.d

#vi /etc/mon/auth.cf


     
     内容如下:
     
    
 disable: root
dump: root
enable: root
get: root
loadstate: root
reset: root
savestate: root
set: root
start: root
stop: root
term: root
     
     #vi /etc/mon/mon.cf

    内容如下:
    不要写跟随他们的箭和数字; 他们仅仅出现在这里说明参数。

   

 alertdir = /usr/lib/mon/alert.d ← [1]
mondir = /usr/lib/mon/mon.d ← [2]
logdir = /usr/lib/mon/logs ← [3]
histlength = 500 ← [4]
dtlogging = yes ← [5]
dtlogfile = /usr/lib/mon/logs/dtlog ← [6]

hostgroup clusternodes clnode1 clnode2 clnode3 ← [7]
← [8]
watch clusternodes ← [9]
service cluster-ping-check [10]
interval 5s [11]
monitor fping.monitor [12]
period wd ...{Sa-Su} [13]
alert mail.alert alert@domain.com ← [14]
upalert mail.alert alert@domain.com ← [15]
alertevery 1h ← [16]

    
     说明如下:

    [ 1 ]警报脚本的路径。
    [ 2 ]监视器脚本的路径。
    [ 3 ]报告文件的路径。
    [ 4 ]→事件的最大限度数字在报告中节省。
    [ 5 ]→启用宕机的日志记录成为可能。
    [ 6 ]→报告到宕机事件。
    [ 7 ]被分配到一组的丛群节点的列表。
    [ 8 ]→在每个主机之后要求空的行。
    [ 9 ]→监视组观看所有节点。
    [ 10 ]→称为服务任何事物你想要。
    [ 11 ] fping的工作频率。
    [ 12 ]→使用fping.monitor脚本。
    [ 13 ]→针对语法输入:perldoc Time::Period
    [ 14 ]→当节点之一断开时。
    [ 15 ]→当节点之一连接时。
    [ 16 ]→每小时仅仅发送警报的电子邮件一次。
    Vi /etc/services,添加两行:
    mon 2583/tcp # MON
    mon 2583/udp # MON traps

    6 通过手工运行fping.monitor和mail.alert脚本的测试

    脚本命令如下:

  

 #/usr/lib/mon/mon.d/fping.monitor clnode1
输出如下:
start time: <current date>
end time : <current date>
duration : 0 seconds

--------------------------------------------------------
reachable hosts rtt
-------------------------------------------------------209.100.100.2 58.10 ms


   
   上面的报告IP地址为209.100.100.2以58.10个秒响应fping。
    如果这脚本不适当地工作,你能需要告诉Perl找到fping的工具。编辑fping.monitor文件:
    my $CMD = "/usr/local/sbin/fping -e -r $RETRIES -t $TIMEOUT";
    要测试电子邮件警报,输入:
    #echo "Testing 123" | /usr/lib/mon/alert.d/mail.alert alert@domain.com
    alert@domain.com 是电子邮件的发送地址。

    7 使用调试方式时开始Mon测试

    #/usr/lib/mon/mon -d
    正常输出如下:
    PID 8211 (clusternodes/cluster-ping-check) exited with [0]
    Mon发送的电子邮件警报如下:
    Subject: ALERT clusternodes/process-check: localhost:ntpd,ypbind

    Summary output : localhost:ntpd,ypbind

    Group : clusternodes
    Service : process-check
    Time noticed : <Time and Date>
    Secs until next alert :
    Members : localhost

    Detailed text (if any) follows:
    -------------------------------

    localhost:ntpd Count=0 Min=0 Max=0
    localhost:ypbind Count=0 Min=0 Max=0


    到此为止笔者简单介绍了使用Heartbeat 2.0配置Linux高可用性集群的从部署到监视完整过程。
   

上一页  [1] [2] [3] [4] [5] [6] [7] 

【责编:Zenghui】
中国IT教育
相关产品和培训
文章评论
 友情推荐链接
 专题推荐

 ·防范Linux病毒 打造没有病毒的乐土…
 ·Linux Shell编程实用指南…
 ·Linux日志分析与管理
 ·揭密Linux内存管理
 ·邮件服务Sendmail应用配置
 ·Linux 安全管理…
 ·Linux 下DNS服务器架设攻略…
 ·Linux 下的路由的配置与应用…
 ·专题:Apache实用手册
 ·全面剖析Linux文件系统
 今日更新
 认证培训
 频道精选
 Windows频道导航