My FAQ,最新最全的IT技术FAQ
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 未整理篇 | 技术讨论
  当前位置: > 操作系统 > Linux > Linux综合
[转帖]在Redhat中用piranha架设Cluster
作者:未知 时间:2005-09-13 12:27 出处:ChinaUnix.net 责编:My FAQ
              摘要:[转帖]在Redhat中用piranha架设Cluster

  Cluster的功能主要是用作负载平衡,由virtual server对外连接internet并负责将要求服务的封
包,分配给真正提供服务的real server群,达到负载平衡;同时工作的分配可以避开故障无法提供服
务的real server由其它real server继续提供服务,防止在单一服务器的环境下主机的故障造成服务
中断的情形;而virtual server部分为单一对外通连的出口,负载极重,可以用HA方式由后备主机保障
其工作正常持续运行;piranha为REDHAT默认cluster的GUI接口配置程序,可单独设置cluster功能,
亦可加上HA后备功能。 

1.~4.为基本cluster的架设步骤 

5.为加入HA功能架设,针对virtual server提供后备主机功能 

6.遭遇到的问题与解决方案 

1. 安装所需软件包 

I. piranha-gui-0.4.12-2lp (GUI接口cluster设置工具) 

II. piranha-0.4.12-2lp 

III. ipchains-1.3.9-6lp (架设NAT) 

  取得软件包,或mount到光盘,进入RPMS目录进行安装 

  执行 # rpm –Uvh piranha* 

    # rpm –Uvh ipchains* 

2. 架构: 

  

I. real server群: 

真正提供服务的server(web server),在NAT型式下是以内部虚拟网域的形式,设置如同一般虚拟网域中clinet端。 

         使用网域:192.168.10.0/24 

II. virtual server: 

作用在导引封包的对外主机,专职负责封包的转送,不提供服务,但因为在NAT型式下必须对进出封包进行改写,所以负担亦重对外eth0:用DHCP方式,测试时 ip:202.39.145.156 

  eth0:0 :202.39.145.146 

对内eth1:192.168.10.12 

  eth1:0 :192.168.10.1 

NAT形式下仅virtual server有真实ip 

Real server群则为透过virtual server 

3.real server的架设(两架) 

架设方式同一般使用虚拟ip的局域网络 

I. 设网卡ip 

server1 :192.168.10.18/24 

server2 :192.168.10.28/24 

II. 每台server均将default gateway指向192.168.10.1 

192.168.10.1为该网域唯一对外的信道,设置在virtual server上,使该网域进出均需通过virtual server 

III. 每台server均开启httpd功能 

每台server均开启httpd功能供web server服务,可以在各real server上放置不同内容的网页,可由浏览器观察其对各real server读取网页的情形。 

4.virtual server的架设 

I. 设网卡ip 

对外eth0:ip用DHCP方式取得,测试时ip:202.39.145.156/26 

eth0:0 :202.39.145.146/26 

对内eth1:192.168.10.12/24 

  eth1:0 :192.168.10.1/24 

II. 设置NAT功能 

# echo 1 > /proc/sys/net/ipv4/ip_forward 

# echo 1 > /proc/sys/net/ipv4/ip_always_defrag 

# ipchains –P forward MASQ 

III. 设置piranha 

进入X-window中 

a. 执行piranha 

b. 设置”整体配置”(Global Settings) 

主LVS服务器主机IP: 202.39.145.156 

选定网络地址翻译(预设) 

NAT路径名称:    192.168.10.1 

NAT 路径装置:   eth1:0 

c.  设置虚拟服务器(Virtual Servers) 

添加编辑 

虚拟服务器部分:(Virtual Server) 

名称:       (任意取名) 

应用:       http 

协议:       tcp  

连接端口:     80 

地址:       202.39.145.146 

装置:       eth0:0 

重入时间:     180 (预设) 

服务延时:     10 (预设) 

加载监控工具:   ruptime (预设) 

调度策略:     Weighted least-connections 

持续性:      0 (预设) 

持续性屏蔽:    255.255.255.255 (预设) 

按下激活 

实时服务器部分:(Real Servers) 

添加编辑 

名字:       (任意取名) 

地址:       192.168.10.18 

权重:       1 (预设) 

按下激活 

另一架real server同上,地址:192.168.10.28 

d. 控制/监控(Controls/Monitoring) 

控制:piranha功能的激活与停止 

上述内容设置完成后即可按开始键激活piranha 

监控器:显示ipvsadm设置的routing table内容 

可立即更新或定时更新 

5.后备主机的设置(HA) 

 单一virtual server的cluster架构virtual server 负担较大,提供另一主机担任后备,可避免virtual server的故障而使对外服务工作终止;后备主机随时处于预备状态与virtual server相互侦测 

I. 后备主机: 

eth0: ip 202.30.145.151(用DHCP方式取得) 

eth1: ip 192.168.10.2 

同样需安装piranha,ipvsadm,ipchains等软件包 

  

II. 开启NAT功能(同 4.II.) 

III. 在virtual server(202.39.145.156)主机上设置 

a.执行piranhaà冗余度 

b.按下”激活冗余度” 

 冗余LVS服务器IP: 202.39.145.151 

 HEARTBEAT间隔(秒数):    2  (预设) 

 假定在…秒后进入DEAD状态: 5  (预设) 

 HEARTBEAT连接埠:     539  (预设) 

c.按下”套用” 

d..至”控制/监控”页 

  按下”在当前执行层添加PULSE DEAMON” 

  按下”开始” 

IV. 在监空器按下”自动更新” 

这样可由窗口中看到ipvsadm所设置的routing table,并且动态显示real server联机情形,若real server故障,该主机亦会从监视窗口中消失。 

V. 激活后备主机的pulse daemon 

执行# /etc/rc.d/init.d/pulse start 

至此,HA功能已经激活,后备主机及virtual server由pulse daemon定时相互探询,一但virtual server故障,后备主机立刻激活代替;至virtual server 正常上线后随即将工作交还virtual server。 

6.架设过程遭遇的问题与对策: 

Q1:float ip 202.39.145.146 (eth0:0)设置后无法联机 

A1:设置的ip与名称需在dns注册,若无注册可在/etc/hosts中加入该主机名称及ip,即能在浏览器中用http://202.39.145.146 连上web server 

Q2:第一次设置piranha的虚拟服务器部分其地址预设为0.0.0.0修改为指定的ip地址后,关闭再开启,其地址变为255.255.255.255,更改无效 

A2:需直接修改/etc/lvs.cf 

  将函数virtual <your virtual server name> { 

  address = 255.255.255.255 eth0:0 ?改为您设置的地址(202.39.145.146) 

  active = 1 

  : (略)} 

  存盘后离开,回到piranha即可看见虚拟服务器部分其地址设置ok 

Q3:重新激活内部real server后外部浏览器无法读到该主机网页 

A3:检查该real server的route table是否default gateway设置消失 

  执行# route 检查一下若无default gateway 

  加上default gateway:执行 # route add default gw 192.168.10.1 dev eth0 

Q4:执行中real server断线后如何重新加入提供服务行列 

A4:若有一台real server故障而无法提供服务,该主机会从ipvsadm的routing table中消失(可由监控器中看到变化),由剩下的正常real server提供服务,在排除earl server故障原因后,按piranhaà控制à停止à开始,即可将修复的real server重新加入提供服务行列 

Q5:为何使用virtual ip设置(eth0:0/eth1:0) 

A5:这是为了提供HA功能,后备virtual server取代故障的virtual server时可以转换主机使用,在
不提供HA功能的情况下亦可以不用virtual ip只用真实ip来设置,cluster的功能相同 

Q6:执行piranha 按下开始键出现error讯息: 

Error: /etc/rc.d/init.d/pulse start 失败 

A6:开启terminal窗口,在命令列提示符号下执行 

# ps aux 

可以看到 nanny 这个daemon在位激活piranha的情况下仍存在未被上一次按下”停止”键所终止 

# kill –9 <nanny’s PID> 

停止nanny后,再按下piranhaà控制à开始键即可重新执行 

Q7:加上HA后备主机功能时,按下套用后出现error讯息: 

执行/usr/bin/rcp /etc/lvs.cf root@202.39.145.151:/etc/lvs.cf 失败 

Permission denied 

A7:这牵涉到rcp指令的使用,可直接用磁盘copy的方式复制/etc/lvs.cf 至后备主机的/etc/lvs.cf ;
而lvs.cf档案本身需要修正(两个lvs.cf需相同) 

    : (略) 

  primary = 202.39.145.156 

  nat_router = 192.168.10.1 eth1:0 

  service = lvs 

  backup_active = 1    ?加入此行 

  backup = 202.39.145.151 ?加入此行 

    : (略) 

  在未了解rcp指令的前,暂时可用此法完成HA 

Q8:后备主机成功取代后,但外部的浏览器仍无法正常读取网页,或联机失败? 

A8:在使用NAT型式架设cluster的环境下对外的virtual server主机必须具有NAT功能,
所以至少必须先执行NAT功能设置,才能正确取代 

 # echo 1 > /proc/sys/net/ipv4/ip_forward 

# echo 1 > /proc/sys/net/ipv4/ip_always_defrag 

# ipchains –P forward MASQ 

Q9:如何激活后备主机?如何还原virtual server? 

A9:virtual server 故障后,后备主机上的pulse daemon 在侦测得的后,会自动激活,并依
照/etc/lvs.cf 将相关设置转移至后备主机上,完全取代virtual server功能;一但virtual server
主机修复上线,原virtual server则成为后备主机,如此相互后备;若要立即换回原virtual server,
需在接上网络前激活virtual server上的 pulse daemon,上线后,pulse daemon会立刻将设置转移至
原来的virtual server,后备主机则再次进入后备等待状态。

 nbpanda 回复于:2003-01-23 10:35:12
谢谢很需要!

 hpc_lp 回复于:2003-07-29 14:29:01
在Red Hat 8.0中已经没有piranha软件包,那么该如何构建LVS集群呢?

 dujing 回复于:2003-09-06 16:45:24
编译内核。

 spubull 回复于:2004-08-12 09:50:52
我想问个问题啊!板主建立集群的系统是什么呢!?RH9?AS?还是什么呢?我在利用piranha建立集群的时候有个问题,就是输入好所有数据后利用
pulse start启动的时候出现没有办法启动heartbeach 接口的问题!
不知道版主有遇见这个情况的吗!?

 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 myfaq.com.cn All rights reserved. www.myfaq.com.cn 版权所有