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

keepalived+lVS(dr)高可用集群

keepalived+lVS(dr)高可用集群

规划

服务器名称IP描述
master
keepalived+lvs
VIP:192.168.238.100
DIP:192.168.238.151
keepalived的master节点和lvs负载均衡
backup
keepalived+lvs
VIP:192.168.238.100
DIP:192.168.238.152
keepalived的备份节点和lvs负载均衡
server1VIP:192.168.238.100
RIP:192.168.238.153
web服务器
server2VIP:192.168.238.100
RIP:192.168.238.154
web服务器

配置主机名

hostnamectl set-hostname master   #151执行
hostnamectl set-hostname backup   #152执行
hostnamectl set-hostname server1   #153执行
hostnamectl set-hostname server2   #154执行

四台机器都配置dns还有 关闭防火墙、关闭selinux

cat > /etc/hosts << EOF
192.168.238.151 master
192.168.238.152 backup
192.168.238.153 server1
192.168.238.154 server2
EOF

#关闭防火墙
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

151和152安装keepalived 和ipvsadm

yum -y install keepalived
cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak

yum -y install ipvsadm

151执行

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.238.100
}
}
EOF

152执行

cat > /etc/keepalived/keepalived.conf << EOF
global_defs {
router_id LVS_backup #主和从要有单独的route_id
}
vrrp_instance VI_1 {
state BACKUP #主为MASTER 从为BACKUP
interface ens33 #指定配机网卡的设备名
virtual_router_id 51 #指定虚拟路由主从要一致
priority 80 #指定优先级主优先高 从做先级低
advert_int 1 #心跳检测时间间隔
authentication { #keepalived内通信认证方式
auth_type PASS
auth_pass 1111
}
virtual_ipaddress { #指定绑定的vip
192.168.238.100
}
}
EOF

151和152启动keepalived

systemctl start keepalived

151和152查看系统是否支持ipvs

lsmod |grep ip_vs

151和152配置LVS负载均衡

ipvsadm -C
ipvsadm -A -t 192.168.238.100:80 -s rr
ipvsadm -a -t 192.168.238.100:80 -r 192.168.238.153:80 -g
ipvsadm -a -t 192.168.238.100:80 -r 192.168.238.154:80 -g

server1和server2安装httpd

yum -y install httpd
echo "server1" > /var/www/html/index.html   #server1执行
echo "server2" > /var/www/html/index.html   #server2执行
systemctl start httpd

server1和server2编写配置虚拟IP脚本 vim lvs.sh

#!/bin/bash
#description : start realserver
VIP=192.168.238.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

执行

source lvs.sh start

在152上测试

在这里插入图片描述


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

相关文章:

  • langchain教程-2.prompt
  • 告别手动操作!用Ansible user模块高效管理 Linux账户
  • 【漫画机器学习】083.安斯库姆四重奏(Anscombe‘s Quartet)
  • 深入理解 YUV Planar 和色度二次采样 —— 视频处理的核心技术
  • 深度整理总结MySQL——SQL的执行顺序和流程
  • R语言 | 使用 ComplexHeatmap 绘制热图,分区并给对角线分区加黑边框
  • Z2400039基于Java-+ SpringBoot + vue 企业信息管理系统的设计与实现(源码 配置 PPT 文档 分享)
  • 家庭记账本小程序
  • 工作坊报名|使用 TEN 与 Azure,探索你的多模态交互新场景
  • 刷题分享11_30
  • 模拟器快速上手,助力HarmonyOS应用/服务高效开发
  • IEEE 802.11s wifi mesh网络
  • Linux kernel 堆溢出利用方法(三)
  • 图卷积网络GCN与图注意力网络GAT原理详解
  • Vue.js 中 v-bind 和 v-model 的用法与异同
  • 力扣-位运算-8【算法学习day.48】
  • Scala的字符串
  • 图书馆管理系统设计思路
  • 使用异步编程提升Python网络请求性能
  • Figma入门-原型交互
  • [windows] [C++] 由变量命名引起的血案
  • Stable Diffusion 3详解
  • oracle 用户手册
  • Android电视项目焦点跨层级流转
  • CodeIgniter 如何加载多个帮助文件
  • 241130_MindNLP学习记录