lvs+keepalived源码编译高可用集群部署

环境

https://www.keepalived.org/download.html //keepalived软件包下载地址

主keepalived服务器:192.168.80.100 主机名master
从keepalived服务器:192.168.80.101 主机名backup
Web服务器: 192.168.80.102 主机名web01
192.168.80.103 主机名web02

主从keepalived服务器上:

modprobe ip_vs       //执行这个模块内容
yum install   ipvsadm  -y   //安装ipvsadm

yum -y install gcc gcc-c++ make popt-devel kernel-devel openssl-devel

 tar xf keepalived-2.0.7.tar.gz -C /opt/

cd /opt/keepalived-2.0.7/

 ./configure --prefix=/

make && make install

cp /opt/keepalived-2.0.7/keepalived/etc/init.d/keepalived /etc/init.d/     //加入系统管理服务

systemctl start keepalived && systemctl enable keepalived  //开启并开机自启keepalived服务

主keepalived服务器上:

vi /etc/keepalived/keepalived.conf

! Configuration File for keepalived
global_defs {
   router_id LVS_01            //本服务器的名称
}
vrrp_instance VI_1 {            //定义VRRP热备实例
    state MASTER             //热备状态,MASTER表示主服务器,BACKUP表示从服务器
    interface ens33          //承载VIP地址的物理接口
    virtual_router_id 51        //虚拟路由器的ID号,每个热备组保持一致
    priority 150               //优先级,数值越大优先级越高
    advert_int 1               //通告间隔秒数(心跳频率)
    authentication {            //热备认证信息,每个热备组保持一致
        auth_type PASS        //认证类型密码认证
        auth_pass 6666        //密码字符串
    }
    virtual_ipaddress {          //指定漂移地址(VIP),可以有多个漂移地址网端要一样
        192.168.80.188
    }
}
virtual_server 192.168.80.188 80 {      //虚拟服务器地址(VIP)、端口
        delay_loop 6              //健康检查的间隔时间(秒)
        lb_algo rr                  //轮询(rr)调度算法
        lb_kind DR                 //直接路由(DR)群集工作模式
        persistence_timeout 60       //连接保持时间(秒)
        protocol TCP                //应用服务器采用的是TCP协议
real_server 192.168.80.102 80 {         //第一个Web服务器节点的地址、端口
        weight 1                   //节点的权重
        TCP_CHECK {                //健康检查方式
        connect_port 80             //检查的目标端口
        connect_timeout 3           //连接超时(秒)
        nb_get_retry 3              //重试次数
        delay_before_retry 3          //重试间隔
        }
}
real_server 192.168.80.103 80 {           //第二个Web服务器节点的地址、端口
        weight 1
        TCP_CHECK {
             connect_port 80
             connect_timeout 3
             nb_get_retry 3
             delay_before_retry 3
     }
  }
}

systemctl restart keepalived
ip addr show ens33
在这里插入图片描述

ipvsadm -L //查看LVS虚拟服务器
在这里插入图片描述

如果没有出现以上情况请重启keepalived

systemctl restart keepalived

cat /var/log/messages //查看日志信息
在这里插入图片描述

配置从keepalived服务器:
vi /etc/keepalived/keepalived.conf

! Configuration File for keepalived
global_defs {
   router_id LVS_02
}
vrrp_instance VI_1 {
    state BACKUP
    interface ens33
    virtual_router_id 51
    priority 105
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 6666
    }
    virtual_ipaddress {
        192.168.80.188
    }
}
virtual_server 192.168.80.188 80 {
        delay_loop 3
        lb_algo rr
        lb_kind DR
        persistence_timeout 6
        protocol TCP
real_server 192.168.80.102 80 {
        weight 1
        TCP_CHECK {
        connect_port 80
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 3
        }
}
real_server 192.168.80.103 80 {
        weight 1
        TCP_CHECK {
             connect_port 80
             connect_timeout 3
             nb_get_retry 3
             delay_before_retry 3
     }
  }
}

保存退出

systemctl restart keepalived
ipvsadm -L
在这里插入图片描述

模拟宕机
主的上面:
systemctl stop keepalived
ip addr show ens33 //可以查看到没有漂移地址
备份上面:
ip addr show ens33 //可以看到漂移192.168.80.188漂移地址

验证热备结果

配置Web节点服务器

第一台web节点:

yum install -y httpd
vi /etc/httpd/conf/httpd.conf

cd /var/www/html/

 echo "<h1>SERVER AA</h1>" > index.html

systemctl restart httpd

vi web.sh

#!/bin/bash
#haha
ifconfig lo:0 192.168.80.188 broadcast 192.168.80.188 netmask 255.255.255.255 up
route add -host 192.168.80.188 dev lo:0
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
sysctl -p &>/dev/null

sh web.sh
ifconfig

第二台web节点:
yum install -y httpd
vi /etc/httpd/conf/httpd.conf

cd /var/www/html/

 echo "<h1>SERVER BB</h1>" > index.html

systemctl restart httpd

vi web.sh

#!/bin/bash
#haha
ifconfig lo:0 192.168.80.188 broadcast 192.168.80.188 netmask 255.255.255.255 up
route add -host 192.168.80.188 dev lo:0
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
sysctl -p &>/dev/null

sh web.sh
ifconfig
在这里插入图片描述

到此环境搭建完成接下来测试
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
模拟web02服务器http服务宕机

systemctl stop httpd

在这里插入图片描述
测试LVS+Keepalived高可用群集
在客户端的浏览器中,能够通过LVS+Keepalived群集的漂移地址(192.168.80.188)正常访问web页面内容,则验证群集构建成功。

  1. 验证两台Web服务器轮询工作
    Win7访问http://192.168.80.188

  2. 模拟主调度器故障,验证结果
    systemctl stop keepalived
    //主调度器keepalived停止工作

3、模拟Web服务器web02故障

LVS+Keepalived已成功搭建并测试完成

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值