当前位置:操作系统 > Unix/Linux >>

在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 ?加入
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,