当前位置: 首页 > article >正文

部署keepalvied+lVS(dr)高可用集群

第一步,环境准备

服务器名称

IP

描述

master

VIP:192.168.244.100

DIP:192.168.244.101

高可用keeplived_master

LVS负载均衡

backup

VIP:192.168.244.100

DIP:192.168.244.102

高可用keeplived_backup

LVS负载均衡

server1

RIP:192.168.244.103

Web服务器

server2

RIP:192.168.244.104

Web服务器

初始化部署,

修改主机名

hostnamectl set-hostname master

hostnamectl set-hostname backup

hostnamectl set-hostname server1  

hostnamectl set-hostname server2

配置域名解析,四台服务器都配置

# cat >> /etc/hosts <<EOF

192.168.244.101 master

192.168.244.102 backup

192.168.244.103 server1

192.168.244.104 server2

EOF

关闭防火墙,关闭selinux,四台服务器都要关闭

systemctl disable firewalld --now

关闭selinux

sed -i '/^SELINUX/s/enforcing/disabled/g' /etc/selinux/config

setenforce 0

安装常用软件

yum -y install ntpdate bash-completion* net-tools wget

配置时间同步

crontab -e

*/1 * * * * /usr/sbin/ntpdate ntp.aliyun.com

第二步,开始安装keepalived,并将/etc/keepalived/keepalived.conf文件进行备份

在master和backup两台服务器上安装

yum -y install keepalived

cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak

第三步,开始修改keepalived.conf配置文件 ,在master和backup两台服务器上修改

cat > /etc/keepalived/keepalived.conf << EOF

global_defs {

   router_id LVS_master  #主和从要有单独的route_id

}

vrrp_instance VI_1 {

    state MASTER  #主为MASTER 从为BACKUP

    interface ens33  #指定配机网卡的设备名

    virtual_router_id 51  #指定虚拟路由主从要一致

    priority 100  #指定优先级主优先高 从做先级低

    advert_int 1  #心跳检测时间间隔

    authentication {  #keepalived内通信认证方式

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {  #指定绑定的vip

        192.168.244.100

    }

}

EOF

master上要修改的keeplived.conf配置文件

backup上要修改的keeplived.conf配置文件

第四步,开启keepalived

启动keepalived

master ~]# systemctl start keepalived

backup ~]# systemctl start keepalived

使用ip a指令查看vip是否配置成功

在master主服务器上配置成功

[root@master ~]# ip a

[root@backup ~]# ip a         //从服务器上没有

测试一下vip是否飘移

关闭master服务器上的keepalived,查看backup服务器上是否有vip 也就是192.168.244.100/32的IP地址,有这说明vip漂移到了backup从服务器上,再开启master主服务器上的keepalived,就会漂移到master主服务器上

[root@master ~]# systemctl stop keepalived.service

成功

第五步,安装ipvsadm

master ~]# yum -y install ipvsadm

backup ~]# yum -y install ipvsadm

查看系统是否支持ip_vs模块

第六步,配置 LVS负载均衡,在master和backup两台主从服务器上配置

master ~]# ipvsamd -C

master ~]# ipvsadm -A -t 192.168.10.100:80 -s rr

master ~]# ipvsadm -a -t 192.168.10.100:80 -r 192.168.10.103:80 -g

master ~]# ipvsadm -a -t 192.168.10.100:80 -r 192.168.10.103:80 -g

master ~]# ipvsadm -Ln

backup ~]# ipvsamd -C

backup ~]# ipvsadm -A -t 192.168.10.100:80 -s rr

backup ~]# ipvsadm -a -t 192.168.10.100:80 -r 192.168.10.103:80 -g

backup ~]# ipvsadm -a -t 192.168.10.100:80 -r 192.168.10.103:80 -g

backup ~]# ipvsadm -Ln

第七步,在server1和server2上安装web服务器

server1 ~]# yum -y install httpd

server1 ~]echo "server1" > /var/www/html/index.html

server1 ~]# systemctl start httpd

server1 ~]# curl 192.168.10.103

server2 ~]# yum -y install httpd

server2 ~]echo "server02" > /var/www/html/index.html

server2 ~]# systemctl start httpd

server2 ~]# curl 192.168.244.104

第八步,配置server1和server2的虚拟vip

# cat > lvs.sh << EOF

#!/bin/bash

#description : start realserver

VIP=192.168.244.100

case "\$1" in

start)

echo " start LVS of REALServer"

/usr/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)

/usr/sbin/ifconfig lo:0 down

echo "close LVS Directorserver"

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 "Usage: \$0 {start|stop}"

exit 1

esac

EOF

在server1和server2上启动脚本,并使用ip a 指令来查看虚拟vip是否配置成功

sh lvs.sh start   //启动脚本

ip a   //查看IP地址

第九步,使用客户端进行测试

随便找一台服务器进行访问虚拟vip

[root@localhost ~]# for((i=1;i<=10;i++));do curl 192.168.244.100;done

成功

开始模拟故障

当master主服务器出现故障,keepalived关闭了

master ~]# systemctl stop keepalived

master ~]# keepalived_lvs_master ~]# ip a

[root@localhost ~]# for((i=1;i<=10;i++));do curl 192.168.244.100;done

还是可以使用

模拟server1宕机

[root@server1 ~]# systemctl stop httpd

在用ipvsadm做为负载均衡时,它没有健康检查功能,不能将宕机的后端realserver从lvs中清除


http://www.kler.cn/a/532216.html

相关文章:

  • 深入浅出:频谱掩码 Spectral Masking —— 噪音消除利器
  • 基于SpringBoot的新闻资讯系统的设计与实现(源码+SQL脚本+LW+部署讲解等)
  • Nginx的配置文件 conf/nginx.conf /etc/nginx/nginx.conf 笔记250203
  • Deep Crossing:深度交叉网络在推荐系统中的应用
  • BFS(广度优先搜索)——搜索算法
  • 蓝桥杯python基础算法(2-1)——排序
  • 【Envi遥感图像处理】010:归一化植被指数NDVI计算方法
  • Mono里运行C#脚本40—mono_magic_trampoline函数的参数设置
  • 算法日记10:SC62求和(单调栈)(共享求解)
  • 冷链监控系统
  • 4 前置技术(下):git使用
  • ElasticStack简介及应用
  • 基于开源AI智能名片2 + 1链动模式S2B2C商城小程序视角下的个人IP人设构建研究
  • arkui-x stack叠层解决焦点变换带来的布局问题
  • 《海丰县蔡氏简介》--汕尾市海陆丰大宗蔡姓源流简介
  • 见证中国力量|暴雨服务器全面支持DeepSeek
  • 交叉验证、精确率、召回率
  • 【阅读笔记】LED显示屏非均匀度校正
  • Vue.js 使用组件库构建 UI
  • 北京怀柔区区划地图矢量cdr格式ai高清大图
  • 一次线程数超限导致的hive写入hbase作业失败分析
  • 2.8学习记录
  • 什么是物理地址,什么是虚拟地址?
  • H. The Third Letter
  • 接入DeepSeek大模型
  • 蓝桥杯思维训练营(三)