Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1522731
  • 博文数量: 297
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 3082
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 11:36
文章分类

全部博文(297)

文章存档

2011年(1)

2009年(45)

2008年(67)

2007年(184)

我的朋友

分类: LINUX

2008-04-07 11:06:39

alert lvs.alert -P tcp -V 10.144.43.185:23 -R 10.144.43.187 -W 5 –F dr
      upalert lvs.alert -P tcp -V 10.144.43.185:23 -R 10.144.43.187 -W 5 -F dr -u 1
# See /usr/doc for the original example...

3.3.修改完成后,就可以用service mon start,启动mon daemon,进行监测。
4.可以自己作一些测试,例如拔掉网路线,关掉Realserver上的服务,测试看看哪儿有问题。(呼!总算可以对老板交代了。^_^)
 
三、做Director的Load Balance:
  那如果今天我有一堆机器,而且在上面执行的服务都相当的重要,所以只有一部Director对这些重要工作来说,是非常危险的,万一这部Director死掉了,那我的服务不就毁了?因此在这儿要介绍「mon+heartbeat+fake+coda」的heartbeat与fake的安装与设定。
1.从抓取下列RPM档案:
heartbeat-1.0.3-1.rh.8.0.1.i386.rpm
heartbeat-1.0.3-1.rh.8.0.1.src.rpm
heartbeat-ldirectord-1.0.3-1.rh.8.0.1.i386.rpm
heartbeat-pils-1.0.3-1.rh.8.0.1.i386.rpm
heartbeat-stonith-1.0.3-1.rh.8.0.1.i386.rpm
 从抓取下列RPM档案:
libnet-1.1.0-1.rh.8.0.um.1.i386.rpm
perl-Authen-SASL-2.03-1.rh.8.0.um.1.noarch.rpm
perl-Convert-ASN1-0.16-2.rh.8.0.um.1.noarch.rpm
perl-IO-Socket-SSL-0.92-1.rh.8.0.um.1.noarch.rpm
perl-Mail-IMAPClient-2.2.7-1.rh.8.0.um.1.noarch.rpm
perl-Net-SSLeay-1.22-1.rh.8.0.um.1.i386.rpm
perl-Parse-RecDescent-1.80-8.noarch.rpm
perl-XML-NamespaceSupport-1.08-2.noarch.rpm
perl-XML-SAX-0.12-1.rh.8.0.um.1.noarch.rpm
从抓取下列perl-ldap档案,目前最新版本是0.27版本,其实都无所谓,可以用就好了。
perl-ldap-0.25.tar.gz (我这儿用以前我抓的tar.gz档)

2.开始依照下列顺序安装:
# rpm –ivh perl-Convert-ASNI-0.16.2.rh.8.0.um.1.onarch.rpm
# perl –ivh perl-Authen-SASL-2.03-1.rh.8.0.um.1.noarch.rpm
# rpm –ivh perl-Net-SSLeay-1.22-1.rh.8.0.um.1.i386.rpm
# rpm –ivh perl-IO-Socket-SSL-0.92-1.rh.8.0.um.1.noarch.rpm
# rpm –ivh perl-Mail-IMAPClient-2.2.7-1.rh.8.0.um.1.noarch.rpm
# rpm –ivh perl-Parse-RecDescent-1.80-8.noarch.rpm
# rpm –ivh perl- NamespaceSupport-1.08-2.noarch.rpm
# rpm –ivh perl- XML-SAX-0.12-1.rh.8.0.um.1.noarch.rpm
# rpm –ivh libnet-1.1.0-1.rh.8.0.um.1.i386.rpm
# gzip –dc perl-ldap-0.25.tar.gz |tar xvf –
# cd perl-ldap-0.25
# perl Makefile
# make && make test && make install
# cd ..
需要的Perl module安装完毕,开始安装heartbeat的modules。
# rpm –ivh heartbeat-pils-1.0.3-1.rh.8.0.1.i386.rpm
# rpm –ivh heartbeat-stonith-1.0.3-1.rh.8.0.1.i386.rpm
# rpm –ivh heartbeat-1.0.3-1.rh.8.0.1.i386.rpm
下面这个module是一个整合所有功能的RPM,heartbeat官方网站有介绍。
# rpm –ivh --nodeps heartbeat-ldirectord-1.0.3-1.rh.8.0.1.i386.rpm

  从这个网站上可以知道fake已经整合进heartbeat的功能里面,所以我们就不需要安装fake相关的程式了。
目前Linux-HA可以应用的方面如下:
o Web servers 
o LVS director servers 
o Mail servers 
o Database servers 
o Firewalls 
o File servers 
o DNS servers 
o DHCP servers 
o Proxy Caching servers 
o etc. 
  我们这里的重点是要做LVS Director Servers的Failover机制,也就是要做HA(High availability)架构。所以对于heartbeat-ldirectord这个套件不作介绍,有兴趣的人请自行研究()一文。

Linux-HA实验例子:
系统架构如同基本设置范例图形所示,只是这儿设置Primary Director为10.144.43.187 (linux187),而Secondary Director为10.144.43.142(linux142),而10.144.43.175(就是唯一的RealServer,但是事实上10.144.43.142与10.144.43.187上面还是有提供服务。简单的说就是Director可以互相备援,且Realserver失败的时候,会自动从Director上面将该笔资料自LVS的Routing Rule中消除。

1.在Linux142与Linux187上都将Mon与Heartbeat套件安装完成。且在/etc/rc.local中加入一个设定subinterface的shellscript(/root/conf/data)。

/root/conf/data 内容如下:
#!/bin/sh
# 开机时读取,设定LVS相关的设定值,此时扮演LVS中的RealServer的角色

PATH=/bin:/sbin:/usr/bin:/usr/sbin
export PATH
ifconfig lo:0 10.144.43.185 netmask 255.255.255.255 broadcast 10.144.43.185
echo 1 >/proc/sys/net/ipv4/ip_forward
echo 1 >/proc/sys/net/ipv4/conf/all/hidden
echo 1 >/proc/sys/net/ipv4/conf/lo/hidden
route add -host 10.144.43.185 dev lo:0

/etc/rc.local内容如下:
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local
# add subinterface
/root/conf/data
作这个动作的目的在于让Linux142、Linux187在开机的时候将lo:0这个subinterface加入在网路卡中,同时启动hidden避免ARP问题。记得
chmod 755 data。

2.在Linux142与 linux187中,接着设定Mon基本设定,修改/etc/mon/mon.cf,使其对nb8048、Linux187、linux142作监测。因为提供的服务是Port 8080,在/etc/services中的名称为(webcache)
#
# Extremely basic mon.cf file
#
#
# global options
#
cfbasedir   = /etc/mon
pidfile     = /var/run/mon.pid
statedir    = /var/run/mon/state.d
logdir      = /var/run/mon/log.d
dtlogfile   = /var/run/mon/log.d/downtime.log
alertdir    = /usr/lib/mon/alert.d
阅读(1679) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~