Dominic的经验积累dominic.blog.chinaunix.net
dominic_80
全部博文(58)
ORACLE(4)
MYSQL(8)
安全技术(1)
集群技术(4)
网站技术(4)
安全技术(2)
2015年(1)
2014年(1)
2012年(1)
2011年(19)
2009年(1)
2008年(1)
2007年(11)
2006年(10)
2005年(13)
10569445
90941333
iCymbidi
owinux
platinum
flw2
小雅贝贝
quakegao
professo
Bsolar
liwen200
lingniao
hackerun
java3344
奉天道人
wyy20161
分类: LINUX
2006-02-24 14:30:56
集群技术主要分为三大类:
我们这里使用RedHat AS 3.x,LVS,Linux-HA,Ldirectord,构造一个高可用的负载均衡集群系统。如图:
各层的作用:
各服务器IP分配:
IPVS是LVS集群系统的核心软件,它的主要作用是:
IPVS的负载均衡机制有三种,这里使用IP Tunneling机制:
IPVS的负载调度算法有十种:
IPVS安装主要包括三方面:
关于如何编译内核请参考其他文档,这里使用从UltraMonkey下载的已编译好的内核。
在Load Banlancer、Backup和Real Server上使用同一内核,IPVS和ARP hidden都已编译在这个内核里:
在Load Banlancer和Backup上安装IPVS管理软件:
wget tar zxf ipvs-1.0.10.tar.gzcd ipvs-1.0.10/ipvs/ipvsadmmake install
chkconfig --del ipvsadm
配置IPVS(/etc/sysconfig/ipvsadm),添加Real Server:
相关链接:
注意事项:
HeartBeat是Linux-HA的高可用性集群软件,它的主要作用是:
HeartBeat串口线连接测试方法:
修改主机名(/etc/hosts):
安装:
主配置文件(/etc/ha.d/ha.cf):
资源文件(/etc/ha.d/haresources):
认证文件(/etc/ha.d/authkeys),选取一种认证方式,这个文件的权限必须是600:
安装HeartBeat过程中,已经自动安装了Ldirectord,它的作用是:
配置(/etc/ha.d/ldirectord.cf):
# A sample virual with a fallback that will override the gobal settingvirtual=192.168.136.10:80 real=192.168.136.11:80 ipip real=192.168.136.12:80 ipip real=192.168.136.101:80 ipip real=192.168.136.102:80 ipip real=192.168.136.103:80 ipip fallback=127.0.0.1:80 gate service=http request="test.html" receive="Test Page" virtualhost= scheduler=rr #persistent=600 #netmask=255.255.255.255 protocol=tcp
在每个Real Server的中添加监控页:
在启动集群系统之前,我们认为包括Load Balancer和Backup在内的所有服务器都是Real Server。
在服务器上添加以下脚本/etc/init.d/tunl,用来配置tunl端口,应用arp补丁:
VIP=192.168.136.10
. /etc/rc.d/init.d/functions
case "$1" in start) echo "Tunl port starting" ifconfig tunl0 $VIP netmask 255.255.255.255 broadcast $VIP up echo 1 > /proc/sys/net/ipv4/ip_forward echo 1 > /proc/sys/net/ipv4/conf/all/hidden echo 1 > /proc/sys/net/ipv4/conf/tunl0/hidden ;; stop) echo "Tunl port closing" ifconfig tunl0 down echo 1 > /proc/sys/net/ipv4/ip_forward echo 0 > /proc/sys/net/ipv4/conf/all/hidden ;; *) echo "Usage: $0 {start|stop}" exit 1esac
如果有多个Virutal IP,可以使用tunl0:0,tunl0:1...。
在Load Balancer和Backup上,这个脚本的启动级必须先于heartbeat,关闭级必须后于heartbeat。
在HeartBeat资源文件(/etc/ha.d/haresources)中定义了实现集群所需的各个软件的启动脚本。
这些脚本必须放在/etc/init.d或者/etc/ha.d/resource.d目录里,启动顺序不能变:
IPaddr的作用是启动Virutal IP,它是HeartBeart自带的一个脚本。
ipvsadm的作用是在启动的时候把所有Real Server加入群中。
ldirectord的作用是启动ldirectord监控程序。
lvs的作用是为启动Load Balancer做准备,关闭tunl端口,取消arp补丁:
case "$1" in start) echo "Preparing for Load Balancer" ifconfig tunl0 down echo 1 > /proc/sys/net/ipv4/ip_forward echo 0 > /proc/sys/net/ipv4/conf/all/hidden ;; stop) echo "Preparing for Real Server" ifconfig tunl0 $VIP netmask 255.255.255.255 broadcast $VIP up echo 1 > /proc/sys/net/ipv4/ip_forward echo 1 > /proc/sys/net/ipv4/conf/all/hidden echo 1 > /proc/sys/net/ipv4/conf/tunl0/hidden ;; *) echo "Usage: lvs {start|stop}" exit 1esac
启动集群系统:
http://www-900.ibm.com/developerWorks/cn/linux/theme/special/index.shtml#cluster
上一篇:LINUX VIRTUAL SERVER (LVS大全)
下一篇:HEARTBEAT热备文档
登录 注册