用Heartbeat装备Linux高可用性集群ITeye - 超凡娱乐

用Heartbeat装备Linux高可用性集群ITeye

2019年02月22日08时07分17秒 | 作者: 惜玉 | 标签: 装备,集群,效劳 | 浏览: 2042

Linux下高可用集群计划许多,本文介绍的是性价比比较高的一种: 运用Heartbeat 2.0装备Linux高可用性集群。

一、 准备作业
你首要需求两台电脑,这两台电脑并不需求有相同的硬件(或许内存大小等),但假如相同的话,当某个部件呈现毛病时会简略处理得多。 接下来您需求决议怎么布置。你的集群是经过Heartbeat 软件发作在两台电脑之间心跳信号来树立的。为了传输心跳信号,需求在节点之间存在一条或多条介质通路(串口线经过modem电线,以太网经过穿插线,等等)。 现在能够开端装备硬件了。已然想要取得高可用性(HA),那么您很或许期望防止单点失效。在本例中,或许是您的null modem线/串口,或许网卡(NIC)/ 穿插线。因而便需求决议是否期望为每个节点增加第二条串口null modem连线或许第二条NIC/穿插线衔接。我运用一个串口和一块额定的网卡来作为heartbeat的通路,这是由于我只需一条null modem线和一块剩余的网卡,而且认为有两种介质类型传输heartbeat信号比较好。 硬件装备完结之后,便需求装置操作体系以及装备网络(我在本文中运用的是RedHat)。假定您有两块网卡,那么有一块应该装备用于惯例网络用处,另一块作为集群节点之间的专用网络衔接(经过穿插线)。例如,假定集群节点有如表-1下的IP地址:
表-1集群节点的IP地址

输入如下指令查看您的装备:
  ifconfig

  这将显现您的网卡及其装备。也能够运用指令“netstat –nr”来取得网络路由信息。 假如一切正常,接下来要断定能够来两个节点之间经过一切接口ping通对方。 假如运用了串口,便需求检测其衔接状况。把一个节点作为接纳者,输入指令:

  cat /dev/ttyS0

  在另一个节点上,输入:

  echo hello /dev/ttyS0

  应该能够在接纳节点上看到该文本。假如正常的话交流这两个节点的人物再作一次,不然有或许是运用了过错的设备文件。现在就开端着手搭建和装备一个简略的高性能核算集群体系。封闭不需求的效劳

/sbin/chkconfig acpid off /sbin/chkconfig anacron off /sbin/chkconfig apmd off /sbin/chkconfig auditd off /sbin/chkconfig autofs off /sbin/chkconfig bluetooth off /sbin/chkconfig cpuspeed off /sbin/chkconfig cups off /sbin/chkconfig gpm off /sbin/chkconfig haldaemon off /sbin/chkconfig iptables off /sbin/chkconfig isdn off /sbin/chkconfig kudzu off /sbin/chkconfig mDNSResponder off /sbin/chkconfig mdmonitor off /sbin/chkconfig messagebus off /sbin/chkconfig netfs off /sbin/chkconfig nfslock off /sbin/chkconfig nifd off /sbin/chkconfig pcmcia off /sbin/chkconfig portmap off /sbin/chkconfig rhnsd off /sbin/chkconfig rpcgssd off /sbin/chkconfig rpcidmapd off /sbin/chkconfig sendmail off /sbin/chkconfig xfs off

初始计划是运用两台PC(体系的详细结构如图-1所示),CPU为Pentium D 805,内存为 512MB,用1000Mbps交流机衔接,整个硬件环境能够说是再一般不过了。操作体系选用的是Red Hat Enterprise Linux 5.0,该办法关于红旗Linux、Fedora Linux和SuSE等发布版别均可完结。

图-1体系的物理结构

二、下载装置软件包

  接下来便能够装置Heartbeat软件。能够从如下方位得到: http://linux-ha.org/download Heartbeat软件包。在网站上也有RPM装置包,您也能够挑选从源代码编译。取得源代码tar文件或许装置source RPM包,将其解包到某个文件夹。在源代码树的顶端,输入"./ConfigureMe configure", 之后输入"make"和"make install"。

  假如运用RPM装置包的话需求包括如下软件包: ipfail,Stonith,Ldirectord。
  ipfail的功用直接包括在heartbeat里边,是一个能够在探知效劳IP失效了便立行将效劳IP抓取来用的功用。
  Stonith是为了要在任何server中止时,保证剩余的server不会被正在运作的server所影响,能够挑选性强制中止一些server的处理计划。或许会运用在例如同享数据的状况之下。

  Ldirector是一个负载平衡的效劳器。
装置指令:
#rpm -ivh heartbeat-pils-*.rpm#rpm -ivh hearbeat-stonith-*.rpm#rpm -ivh hearbeat-*i386.rpm

  也能够运用yum指令在线装置,这样做不需求考虑依靠包所带来的费事。指令:
  yum install heartbeat

1、 装备主效劳器的heartbeat

  在启用Heartbeat之前,装置后要装备三个文件(如没有可手动树立):ha.cf、haresources、authkeys。这三个装备文件需求在/etc/ha.d目录下面,可是默许是没有这三个文件的,能够到官网上下这三个文件,也能够在源码包里找这三个文件,在源码目录下的DOC子目录里。

  1 装备ha.cf

  第一个是ha.cf该文件坐落在装置后创立的/etc/ha.d目录中。该文件中包括为Heartbeat运用何种介质通路和怎么装备他们的信息。在源代码目录中的ha.cf文件包括了您能够运用的悉数选项,详述如下:
  serial /dev/ttyS0
  运用串口heartbeat-假如不运用串口heartbeat,则有必要运用其他的介质,如bcast(以太网)heartbeat。用恰当的设备文件替代/dev/ttyS0。
  watchdog /dev/watchdog

  该选项是可选装备。经过Watchdog 功用能够取得供给最少功用的体系,该体系不供给heartbeat,能够在继续一份钟的不正常状况后从头发动。该功用有助于防止一台机器在被断定现已逝世之后康复heartbeat的状况。假如这种状况发作而且磁盘挂载因毛病而搬迁(fail over),便有或许有两个节点一起挂载一块磁盘。假如要运用这项功用,则除了这行之外,也需求加载“softdog”内核模块,并创立相应的设备文件。办法是运用指令“insmod softdog”加载模块。然后输入“grep misc /proc/devices”并记住得到的数字(应该是10)。然后输入”cat /proc/misc | grep watchdog”并记住输出的数字(应该是130)。依据以上得到的信息能够创立设备文件,“mknod /dev/watchdog c 10 130”。
  bcast eth1
  表明在eth1接口上运用播送heartbeat(将eth1替换为eth0,eth2,或许您运用的任何接口)。
  keepalive 2
  设定heartbeat之间的时间距离为2秒。
  warntime 10
  在日志中宣告“late heartbeat“正告之前等候的时间,单位为秒。
  deadtime 30
  在30秒后宣告节点逝世。
  initdead 120
  在某些装备下,重启后网络需求一些时间才干正常作业。这个独自的”deadtime”选项能够处理这种状况。它的取值至少应该为一般deadtime的两倍。
  baud 19200
  波特率,串口通讯的速度。
  udpport 694
  运用端口694进行bcast和ucast通讯。这是默许的,而且在IANA官方注册的端口号。
  auto_failback on
  该选项是有必要装备的。关于那些了解Tru64 Unix的人来说,heartbeat的作业办法类似于“favored member“形式。在failover之前,haresources文件中列出的主节点把握一切的资源,之后从节点接收这些资源。当 auto_failback设置为on时,一旦主节点从头康复联机,将从从节点取回一切资源。若该选项设置为off,主节点便不能从头取得资源。该选项与抛弃的nice_failback选项类似。假如要从一个nice_failback设置为off的集群升级到这个或更新的版别,需求特别留意一些事项以防止flash cut。请参阅FAQ中关于怎么处理这类状况的章节。
  node primary.mydomain.com
  该选项是有必要装备的。集群中机器的主机名,与“uname –n”的输出相同。
  node backup.mydomain.com
  该选项是有必要装备的。同上。
  respawn userid cmd
  该选项是可选装备的:列出即将履行和监控的指令。例如:要履行ccm看护进程,则要增加如下的内容:
  respawn hacluster /usr/lib/heartbeat/ccm
  使得Heartbeat以userid(在本例中为hacluster)的身份来履行该进程并监督该进程的履行状况,假如其逝世便重启之。关于 ipfail,则应该是:
  respawn hacluster /usr/lib/heartbeat/ipfail
  留意:假如完毕进程的退出代码为100,则不会重启该进程。

2 装备haresources

  装备好ha.cf文件之后,就是haresources文件。该文件列出集群所供给的效劳以及效劳的默许一切者。 留意:两个集群节点上的该文件有必要相同。集群的IP地址是该选项是有必要装备的,不能在haresources文件以外装备该地址, haresources文件用于指定双机体系的主节点、集群IP、子网掩码、播送地址以及发动的效劳等。其装备句子格局如下:
  node-name network-config resource-group
  其间node-name指定双机体系的主节点,取值有必要匹配ha.cf文件中node选项设置的主机名中的一个,node选项设置的另一个主机名成为从节点。network-config用于网络设置,包括指定集群IP、子网掩码、播送地址等。resource-group用于设置heartbeat发动的效劳,该效劳终究由双机体系经过集群IP对外供给。在本文中咱们假定要装备的HA效劳为Apache和Samba。

  在haresources文件中需求如下内容:

  primary.mydomain.com 192.168.85.3 httpd smb

  该行指定在发动时,节点linuxha1得到IP地址192.168.85.3,并发动Apache和Samba。在中止时,Heartbeat将首要中止smb,然后中止Apache,最终开释IP地址192.168.85.3。这儿假定指令“uname –n”的输出为“primary.mydomain.com”-假如输出为“primary”,便应运用“primary”。

  正确装备好haresources文件之后,将ha.cf和haresource拷贝到/etc/ha.d目录。

3 装备Authkeys

  需求装备的第三个文件authkeys决议了您的认证密钥。共有三种认证办法:crc,md5,和sha1。您或许会问:“我应该用哪个办法呢?”简而言之: 假如您的Heartbeat运转于安全网络之上,如本例中的穿插线,能够运用crc,从资源的视点来看,这是价值最低的办法。假如网络并不安全,但您也期望下降CPU运用,则运用md5。最终,假如您想得到最好的认证,而不考虑CPU运用状况,则运用sha1,它在三者之中最难破解。

  文件格局如下:

  auth number
  number authmethod [ authkey ]

  因而,关于sha1,示例的/etc/ha.d/authkeys或许是

  auth 1
  1 sha1 key-for-sha1-any-text-you-want

  关于md5,只需将上面内容中的sha1换成md5就能够了。 关于crc,可作如下装备:

  auth 2
  2 crc

  不管您在关键字auth后边指定的是什么索引值,在后边有必要要作为键值再次呈现。假如您指定“auth 4”,则在后边必定要有一行的内容为“4 signaturetype ”。

  保证该文件的拜访权限是安全的,如600。

4、装备备份效劳器的heartbeat

  顺次装置主效劳器上的rpm软件包到备份效劳器的heartbeat。然后运用ssh指令把主效劳器装备文件传输到备份效劳器。
  #scp -r /etc/ha.d backupnode:/etc/ha.d
  Backupnode是备份效劳器的ip地址。

5、设置主效劳器和备份效劳器时间同步

  尽管Heartbeat不要求在两个效劳器上使体系钟同步首要和备份效劳器,可是体系时钟应该在的几十秒之内,不然在高可用性效劳的环境下会发作毛病。 在在两个体系发动Heartbeat之前,你应该人工查看而且放置体系时间(运用date指令)。 关于一种更好的长时间的处理的办法你应该在两个体系上运用NTP软件同步钟。

6、发动主效劳器的Heartbeat

  在发动主效劳器的Heartbeat,运用指令:
  #/etc/init.d/heartbeat start
  或许
  #service heartbeat start
  能够运用指令查看日志文件:
  #tail -f /var/log/messages
  此刻会发现呈现如下信息:
  primary.mydomain.com heartbeat[2886]: WARN: node backup.mydomain.com: is dead
  表明备份效劳器死机的正告,原因是备份效劳器的Heartbeat还没有发动。
  主效劳器的web效劳应该被heartbeat发动,一起heartbeat为主节点设置IP地址192.168.100.10。运用ifconfig eth0:0能够看到如下信息:
eth0:0 Link encap:Ethernet HWaddr 00:0C:29:D8:FD:EB inet addr:192.168.100.10 Bcast:192.168.100.15 Mask:255.255.255.240 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:14970 errors:0 dropped:0 overruns:0 frame:0 TX packets:14977 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:3624073 (3.4 Mb) TX bytes:3626223 (3.4 Mb) Interrupt:19 Base address:0x10a0
  一起/dev/sdb1,应该被挂接。运用df -h,能够看到的信息包括下面的行:
/dev/sdb1 485M 8.1M 452M 2% /ha

7、 发动备份效劳器的Heartbeat

  发动主效劳器的Heartbeat,运用指令:
  #/etc/init.d/heartbeat start
  或许
  #service heartbeat start
  能够运用指令查看日志文件:
  #tail -f /var/log/messages
  此刻会发现呈现如下信息:
  backup heartbeat[4656]: info: No local resources [/usr/lib/heartbeat/
  ResourceManager listkeys backup.mydomain.com]
  backup.mydomain.com heartbeat[4656]: info: Resource acquisition completed.
  表明备份效劳器没有能够运用的资源,原因是备份效劳器的现在是搁置状况,它只监听主效劳器心跳,直到主效劳器失效。

8、 查看主效劳器日志信息

  能够运用指令查看日志文件:
  #tail -f /var/log/messages
  此刻会发现呈现如下信息:
primary heartbeat[2886]: info: Heartbeat restart on node backup.mydomain.comprimary heartbeat[2886]: info: Link backup.mydomain.com:eth2 up.primary heartbeat[2886]: info: Node backup.mydomain.com: status upprimary heartbeat: info: Running /etc/ha.d/rc.d/status statusprimary heartbeat: info: Running /etc/ha.d/rc.d/ifstat ifstatprimary heartbeat[2886]: info: Node backup.mydomain.com: status activeprimary heartbeat: info: Running /etc/ha.d/rc.d/status status
能够运用tcpdump指令查看心跳播送是否抵达两个效劳器节点。
  #tcpdump -i all -n -p udp port 694

9、 中止主效劳器的Heartbeat

  中止主效劳器的Heartbeat,运用指令:
  #/etc/init.d/heartbeat stop
  或许
  #service heartbeat stop
  此刻能够运用指令查看备份效劳器日志文件:
  #tail -f /var/log/messages
  此刻会发现呈现如下信息:
backup.mydomain.com heartbeat[5725]: WARN: node primary.mydomain.com: is deadbackup.mydomain.com heartbeat[5725]: info: Link primary.mydomain.com:eth1dead.backup.mydomain.com heartbeat: info: Running /etc/ha.d/rc.d/status statusbackup.mydomain.com heartbeat: info: Running /etc/ha.d/rc.d/ifstat ifstatbackup.mydomain.com heartbeat: info: Taking over resource group test*** /etc/ha.d/resource.d/test called with statusbackup.mydomain.com heartbeat: info: Acquiring resource group:primary.mydomain.com testbackup.mydomain.com heartbeat: info: Running /etc/ha.d/resource.d/test start*** /etc/ha.d/resource.d/test called with startbackup.mydomain.com heartbeat: info: mach_down takeover complete.
在这个进程中,运用ping指令进行不间断监测,能够发现集群IP地址一向处于可通状况,并没有发作任何堵塞或推迟,所以,在封闭处于激活状况的 heartbeat的状况下,双机体系能够完结无缝切换。可是在别的一些状况下,比方网络毛病、主机关机或重启等,假如该主机的heartbeat处于激活状况,则不能完结双机的无缝切换,切换进程需求有必定的推迟,运用ping指令能够发现集群IP地址暂时无法运用。

10、 装备ipfail

  ipfail插件的用处是检测网络毛病,并作出合理的反响,假如需求的话使集群资源failover。为了完结这样的功用ipfail运用ping节点或许ping节点组,这些节点在集群中作为“哑”节点呈现。假如HA节点间能够彼此通讯ipfail便能够可靠地检测到其间一个网络衔接失效的状况,并作出弥补。

  装备ipfail的进程如下:

  a.挑选好的候选ping节点

  这步很重要。你的挑选越好,则得到的HA集群便越健壮。挑选固定的交流机路由器等是一个好主意。不要挑选HA集群中的任一个成员,也不要挑选其他人的作业站。挑选能反映您HA节点的衔接状况的ping节点也很重要。假如您要监督两个接口的衔接状况,正确的做法是为每个接口挑选一个只对该接口可用的ping 节点。

  b.设置auto_failback为on或许off

  只需当Heartbeat被装备为非legacy时ipfail才会起作用。在ha.cf文件中,如下将auto_failback设置为on或许 off:

  auto_failback on

  或许
  auto_failback off

  c.装备ha.cf使之发动ipfail。

  向ha.cf中增加如下一行(假定您在编译时的PREFIX为/usr):

  respawn hacluster /usr/lib/heartbeat/ipfail

  d.向ha.cf中参加ping节点:

  ping pnode1 pnode2 pnodeN

  将pnode1,pnode2,…pnodeN等替换为您ping节点的IP地址。
  保证向集群中各个成员的ha.cf中参加以上相同的装备指令。

  e. 修正Heartbeat装备文件


  假如修正了装备文件etc/ha.d/ authkeys或许 /etc/ha.d/ha.cf后要运用下面的指令从头加载效劳。
  #/etc/init.d/heartbeat reload
  或许
  #service heartbeat reload

三、装备Stonith

  Stonith 即shoot the other node in the head使Heartbeat软件包的一部分,该组件答应体系主动地复位一个失利的效劳器运用衔接到一个健康的效劳器的悠远电源设备。Stonith设备是一种能够主动封闭电源来呼应软件指令的设备。图-1是Heartbeat与装备Stonith示例。

图 -1 Heartbeat与装备Stonith示例

  Stonith设备清单如下表-1:

查看当时支撑Stonith设备清单的指令:
  #/usr/sbin/stonith -L
  查看当时支撑Stonith设备其他状况的指令
  例如查看rps10的设备装备的指令:
  # /usr/sbin/stonith -l -t rps10 test
  指令输出:
STONITH: Cannot open /etc/ha.d/rpc.cfgSTONITH: Invalid config file for rps10 device.STONITH: Config file syntax: serial_device server outlet [ server outlet [...] ]All tokens are white-space delimited.Blank lines and lines beginning with # are ignored

所以在rps10设备在/etc/ha.d/ha.cf 装备文件中的格局如下:
STONITH_host backupserver rps10 /dev/ttyS0 primaryserver.mydomain.com 0

四、 装备内核看门狗支撑Heartbeat

  1 Linux下watchdog的作业原理

  Watchdog在完结上可所以硬件电路也可所以软件定时器,能够在体系呈现毛病时主动从头发动体系。在Linux 内核下, watchdog的根本作业原理是:当watchdog发动后(即/dev/watchdog 设备被翻开后),假如在某一设定的时间距离内/dev/watchdog没有被履行写操作, 硬件watchdog电路或软件定时器就会从头发动体系。

  /dev/watchdog 是一个主设备号为10, 从设备号130的字符设备节点。 Linux内核不仅为各种不同类型的watchdog硬件电路供给了驱动,还供给了一个根据定时器的纯软件watchdog驱动。 驱动源码坐落内核源码树drivers\char\watchdog\目录下。

  2 硬件与软件watchdog的差异

  硬件watchdog有必要有硬件电路支撑, 设备节点/dev/watchdog对应着实在的物理设备, 不同类型的硬件watchdog设备由相应的硬件驱动办理。软件watchdog由一内核模块softdog.ko 经过定时器机制完结,/dev/watchdog并不对应着实在的物理设备,只是为运用供给了一个与操作硬件watchdog相同的接口。

  硬件watchdog比软件watchdog有更好的可靠性。 软件watchdog根据内核的定时器完结,当内核或中止呈现异常时,软件watchdog将会失效。而硬件watchdog由本身的硬件电路操控, 独立于内核。不管当时体系状况怎么,硬件watchdog在设定的时间距离内没有被履行写操作,仍会从头发动体系。

  一些硬件watchdog卡如WDT501P 以及一些Berkshire卡还能够监测体系温度,供给了 /dev/temperature接口。 关于运用程序而言, 操作软件、硬件watchdog的办法根本相同:翻开设备/dev/watchdog, 在重启时间距离内对/dev/watchdog履行写操作。即软件、硬件watchdog对运用程序而言根本是通明的。

  在任一时间, 只能有一个watchdog驱动模块被加载,办理/dev/watchdog 设备节点。假如体系没有硬件watchdog电路,能够加载软件watchdog驱动softdog.ko。

3 Linux内核中关于watchdog的装备

  在/usr/src/linux目录运转指令:makemenu config
  保证鄙人面的菜单现已启用Software Watchdog选项
Character DevicesWatchdog Cards - Watchdog Timer Support[M] Software Watchdog (NEW)

图 2 编译内核支撑Software Watchdog选项

4 加载模块

  #insmod softdog

  阐明:watchdog能让体系在呈现毛病1分钟后重启该机器。这个功用能够协助效劳器在的确中止心跳后能够从头康复心跳。 假如运用该特性,则在内核中装入"softdog"内核模块,用来生成实践的设备文件,输入"insmod softdog"加载模块。 输入"grep misc /proc/devices"(应为10),输入"cat /proc/misc | grep watchdog"(应为130)。 生成设备文件:"mknod /dev/watchdog c 10 130" 。

  5 测验软件狗

  修改文件 /etc/ha.d/ha.cf
  如掉下面一行的注释号:
  watchdog /dev/watchdog
  从头发动Heartbeat
  #service heartbeat restart
  运用指令杀掉heartbeat进程
  killall -9 heartbeat
  此刻日志文件中应当呈现一行:
  Softdog: WDT device closed unexpectedly. WDT will not stop!
  表明软件狗收效。别的运用指令lsmod能够看到软件狗现已加载。如图3 。

6 删去软件狗的办法

  运用指令能够从内核中删去软件狗:
  #modprobe -r softdog

五、测验Heartbeat装备

  在你把你的Heartbeat的高可用性效劳器放到生产中之前,这儿是对企图的一些作业:

  1. 在主效劳器上拔去电源线

  在备份效劳器上的Heartbeat应该从首要的效劳器发现heartbeat若干数据包丢失,而且开端毛病搬运。 运用Stonith,备份效劳器应该把电源封闭或许复位到首要的效劳器。 在备份效劳器上的Heartbeat然后应该运转恰当的资源脚本(当Stonith作业有“铲除”时或许完结)拿资源的一切权。 在备份效劳器上的Heartbeat也应该发送ARP播送通知顾客或许网络设备MAC地址由于资源IP地址已改变。

  2. 测验hb_standby指令的行为

  运用在首要的效劳器上的hb_standby指令把资源逼迫到搬迁到备份效劳器。 然后再一次在备份效劳器上运用指令来把资源往回逼迫搬迁到主效劳器. ipfail假如hb_standby指令不恰当地作业,也将不恰当地作业。

  3. 拔去在主效劳器上的网络电缆

  运用ipfail能够检测到网络联络失利,而且应该被发现到备份效劳器,而且资源和IP别号搬迁到备份效劳器。

  4. 在两个效劳器之间删去一切heartbeat途径

  当你在两个效劳器之间删去一切heartbeat途径时,什么会发作? 假如你运用Stonith,备份效劳器将假定首要的效劳器已死去,开端一个Stonith作业,而接收资源。

  5. 在首要的效劳器( 运用指令:killall - 9 heartbeat )上杀死heartbeat 看护进程

  当你运用IP别号到供给资源到顾客核算机时,Stonith是特别重要的。 备份效劳器有必要Stonith或许在企图假定资源的一切权防止裂缝脑条件之前复位主效劳器。

  6. 从头引导两个效劳器

六、装备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.rpmperl-Convert-BER-1.31.01-1.2.el5.rf.noarch.rpmperl-Net-Telnet-3.03-1.2.el5.rf.noarch.rpmperl-Time-HiRes-1.55-3.i386.rpmperl-Time-Period-1.20-2.el5.rf.noarch.rpm
装置指令:
#perl -MCPAN -e shellcpan install Time::Periodcpan install Time::HiRescpan install Convert::BERcpan install Mon::Protocolcpan install Mon::SNMPcpan install Mon::Client
4 下载装置fping

  Ping指令大概是网管员最常用的指令了,运用Ping能够监测网络的通断、设备是否宕机,惋惜的是每次只能针对一台设备。在一个具有20余台效劳器和80多个可网管交流机的局域网内,Ping上一遍是很困难的作业,而运转在Linux下的 Fping()能够轻松完结这一作业。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: rootdump: rootenable: rootget: rootloadstate: rootreset: rootsavestate: rootset: rootstart: rootstop: rootterm: 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 secondsreachable 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

    linux下oracle发动ITeye

    指令,发动,文件
  • 3

    SVN资源库降级ITeye

    资源库,降级,文件
  • 4

    Linux下VNC装备ITeye

    效劳,修正,设置
  • 5

    GRUB手艺装置Fedora15ITeye

    装置,文件,无法
  • 6

    Linux hosts 主机名ITeye

    主机名,文件,运用
  • 7
  • 8
  • 9

    OS Crossover Settings快报

    装置,渠道,方位
  • 10

    win7 快捷键tengxun

    程序,任务栏,数字