1.通过ldirectord在主、备Director Server上配置LVS
ldirectord是heartbeat的一个插件,在安装heartbeat时,默认已经安装了此插件。ldirectord主要用于监控集群系统中每个Real Server节点的运行状态,某个节点的服务出现异常或主机出现故障时,此节点从集群系统剔除,并且在节点恢复正常后,重新将此节点加入集群系统。
除了监控Real Server节点外,ldirectord的另外一个功能是配置LVS,只需设置好Ldirectord的配置文件,启动服务即可,Ldirectord会自动调用ipvsadm命令创建LVS路由表信息。ldirectord配置文件的默认路径为/etc/ha.d/ldirectord.cf。
下面是需要配置的选项
checktimeout=20 #判定Real Server出错的时间间隔
checkinterval=10 #指定ldirectord在两次检查之间的间隔时间
fallback=172.0.0.1:80 #当所有的Real Server节点不能正常工作时,Web服务器重定向的地址
autoreload=yes #是否自动重载配置文件,选yes时,配置文件发生变化时自动载入配置信息
logfile="/var/log/ldirectord.log" #设定ldirectord日志输出文件路径
quiescent=no #当选择no时,如果一个节点在checktimeout设置时间周期内没有响应,
#ldirectord将会从LVS的路由表中直接移除Real Server,此时,将中断
#现有的客户端连接,并使LVS丢掉所有的连接跟踪记录和持续连接模板;
#如果选择yes,当某个Real Server失效时,ldirectord将失效节点的权
#值设置为0,新的连接将不能到达,但是并不会从LVS路由表中清除此节
#点,同时,连接跟踪记录和程序连接模板仍然保留在director上
注意:以上几项为ldirectord.cf文件的全局设置,它们可以应用到多个虚拟机。下面是每个虚拟机的配置
virtual=192.168.12.200:80 #指定虚拟的IP地址和端口号,注意,在virtual这行的后
#面行必须缩进4个空格或者一个tab制表符进行标记
real=192.168.12.132:80 gate #指定Real Server地址和端口,同时指定LVS工
#作模式,用gate表示DR模式,ipip表示TUNL模
#式,masq表示NAT模式
real=192.168.60.133:80 gate
fallback=127.0.0.1:80 gate
service=http #指定服务的类型,这里是对http服务进行负载均衡
request="index.html" #ldirectord将根据指定的Real Server地址,结合该选
#项给出的请求页面,发送访问请求,检查Real Server上的服务是否正常运行,必
#须确保这里给出的页面地址是可以访问的,不然ldirectord会误认为节点已经失
#效,发生错误的监控现象
receive="Test Page" #指定请求和应答字符串,也就是index.html内容
scheduler=rr #指定调度算法,这里是rr(轮询)算法
protocol=tcp #指定协议类型,LVS支持TCP和UDP协议
checktype=negotiate #指定ldirectord的检测类型,checktype可以是
#connect、external、negotiate、off、on、ping和checktimeout这几
#个,默认为negotiate,通过页面交互来判断服务器节点是否正常
checkport=80 #指定监控端口
virtualhost=www.ixdba.net #虚拟服务器的名称,可以任意指定
配置完毕后可以执行如下命令启动或者关闭ldirectord服务
/etc/init.d/ldirectord {start|stop}
注意:一般通过heartbeat托管的方式,托管给heartbeat来管理ldirectord服务,不用手动启动和关闭ldirectord服务