使用piranha搭建高可用LVS集群

  • A+
所属分类:其他

Linux Cluster
使用piranha搭建高可用LVS
piranha可以说是搭建高可用LVS集群里面,配置起来最简单的,由redhat提供可基于web页面进行配置,果然是亲生。
DIP=director IP
RIP=realserverIP
VIP=virtual server IP
realserver=rs
ha=director

1.实验概况

1.1实验拓扑图

依然还是这张图
这里写图片描述

1.2简介

同样的四台virtualbox创建的4台centos5.5虚拟机单网卡,

1.3实验步骤

1.3.1MASTER配置

1).单网卡、桥接模式启动ha1,并配置ip地址为192.168.8.31
2).关闭防火墙与selinux
    service iptable stop
    service ip6table stop
    vim /etc/selinux/conf
    修改为SELINUX=disabled
3).安装ipvsadm
    yum install -y ipvsadm
4).安装piranha
    yum install -y piranha
    安装完成后与piranha相关的有两个服务
    piranha_gui 图形界面配置的服务
    pulse        管理piranha服务的
    #注,使用yum安装piranha,会同时把httpd装上了
    配置piranha的密码,用于web界面登陆验证
    piranha-passwd
    输入密码
    再次输入
5).安装ipvsadm
    yum install -y ipvsadm
6).配置piranha
    a.打开piranha的图形配置服务与httpd服务
    service piranha-gui start
    service httpd start
    b.打开浏览器输入director的DIP地址及端口号默认为3636,题主的是http://192.168.8.31:3636/
    login
    用户名为:piranha
    密码:刚才已经设置了

这里写图片描述

c.如何English very棒,那么此配置页面对您毫无压力,看不懂也无妨
这里写图片描述
控制与监测选项卡,此处不需要填写
d.全局配置
本次实验中
公有地址填写MSATER-director的DIP
私有地址为空
LVS工作模式选择Director Router(DR模式)
点击ACCEPT
这里写图片描述
e.备胎服务器配置
点击ENABLE启用备胎服务器
配置如图
这里写图片描述这里写图片描述
f.虚拟服务配置
点击ADD
点击EDIT 进行配置
这里写图片描述这里写图片描述这里写图片描述
g.realserver配置
点击ADD
点击EDIT
点击(DE)ACTIVATE激活服务
这里写图片描述这里写图片描述
h.监控脚本
点击BLANK SEND
这里写图片描述

    i.在VIRTUAL SERVERS选项卡里的realserver以及VIRTUAL SERVERS,记得点击激活服务(DE)ACTIVATE

配置结束,会自动生成配置文件/etc/sysconfig/ha/lvs.cf,可暂时不关闭配置web页面
配置文件内容如下:

serial_no = 16
primary = 192.168.8.31
service = lvs
backup_active = 1
backup = 192.168.8.32
heartbeat = 1
heartbeat_port = 539
keepalive = 6
deadtime = 18
network = direct
debug_level = NONE
monitor_links = 1
syncdaemon = 0
virtual dddd {
active = 1
address = 192.168.8.30 eth0:1
sorry_server = 127.0.0.1
vip_nmask = 255.255.255.0
port = 80
expect = “HTTP”
use_regex = 0
load_monitor = none
scheduler = wlc
protocol = tcp
timeout = 6
reentry = 15
quiesce_server = 0
server RS1 {
address = 192.168.8.33
active = 1
port = 80
weight = 1
}
server RS2 {
address = 192.168.8.34
active = 1
port = 80
weight = 3
}
}

1.3.2BACKUP配置

1).启动配置ip地址后关闭iptables与selinux
2).安装piranha ipvsadm
3).在MASTER中使用
scp /etc/sysconfig/ha/lvs.cf 192.168.8.32:/etc/sysconfig/ha/
将MASTER的piranha配置文件复制一份到BACKUP中

1.3.3realserver配置

两台realserver配置一样
启动配置IP后
安装httpd
yum install -y httpd
创建测试页
echo "this is rs1" > /var/www/html/index.html
为区分在realserver2中为
echo "this is rs2" > /var/www/html/index.html
启动httpd服务
service httpd start
创建脚本
vim /etc/init.d/lvsrs

脚本内容如下

#!/bin/bash
#description:Start real server
/etc/rc.d/init.d/functions

VIP=192.168.8.30
case "$1" in
    start)
    echo "Start LVS of realserver"
    /sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
        echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
        echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
        echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
        echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
;;
    stop)
     echo "Close LVS Director realserver"
        /sbin/ifconfig lo:0 down
        echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore
        echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce
        echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
        echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
;;
 *)
        echo "$0: Usage: $0 {start|stop}"
        exit 1
esac
修改脚本的权限
chmod 755 /etc/init.d/lvsrs
将脚本复制一份到realserver2
scp /etc/init.d/lvsrs 192.168.8.34:/etc/init.d/

1.3.4 启动服务

在realserver中
/etc/init.d/lvsrs start
在MASTER BACKUP中使用
service ipvsadm start
service pulse start
启动成功后可在MASTER中使用ipvsadm -ln 查看已创建的ipvsadm规则
使用ip addr 查看VIP是否在MASTER中创建了
接着可以自行做故障检测,测试realserver节点断开后再接入,MASTER与BACKUP的切换

注:若是在BACKUP中使用service pulse start提示Starting pulse: pulse: no active lvs services defined in /etc/sysconfig/ha/lvs.cf
 将BACKUP中的etc/sysconfig/ha/lvs.cf的虚拟服务器的avtive改为1,原为0
 virtual dddd {
         active = 1 
  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
ssh

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: