lvs DR模式+基于五台服务器部署keepalived + lvs DR模式架构(前端带路由)负载均衡的高可用集群

lvs DR 模式+基于五台服务器部署keepalived + lvs DR模式架构(前端带路由)负载均衡的高可用集群

DR 模式一:

客户端:172.20.26.167

LVS服务器:172.20.26.198

后端服务器:172.20.26.218

后端服务器:172.20.26.210

两台后端服务器

yum install nginx tcpdump -y

echo "this is 26.218 page" > /usr/share/nginx/html/index.html

echo "this is 26.210 page" > /usr/share/nginx/html/index.html

启动nginx服务

在218、210服务器配置VIP:

cd /etc/sysconfig/network-scripts

cat > ifcfg-lo:1 <<EOF

DEVICE=lo:1

IPADDR=172.20.26.200

NETMASK=255.255.255.255

ONBOOT=yes

NAME=loopback

EOF

重启网络服务

systemctl restart network

配置arp抑制:

echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

在172.20.26.198LVS服务器上配置调度器VIP:

cd /etc/sysconfig/network-scripts

cat > ifcfg-ens34 <<EOF

TYPE=ethernet

BOOTPROTO=none

DEVICE=ens34

ONBOOT=yes

IPADDR=172.20.26.200

PREFIX=24

GATEWAY=172.20.26.254

EOF

重启网络服务

systemctl restart network

在172.20.26.198LVS服务器上安装ipvsadm

yum install ipvsadm -y

配置LVS:

#添加集群服务,调度方式如果不指定,默认是wlc

ipvsadm -A -t 172.20.26.200:80

添加后端真实服务器,工作模式如果不指定,默认是DR模式,-m为NAT模式,如需指定使用-g

ipvsadm -a -t 172.20.26.200:80 -r 172.20.26.218

ipvsadm -a -t 172.20.26.200:80 -r 172.20.26.210

#查看lvs配置

ipvsadm --Ln

访问测试:

root@node2 \~# curl 172.20.26.200

this is 26.218 page

root@node2 \~# curl 192.168.75.200

this is 26.210 page

DR 模式二

基于六台服务器部署keepalived + lvs DR模式架构(前端带路由)负载均衡的高可用集群;

修改网络模式前将所需软件包安装完成

客户端机器,网卡模式为桥接模式

路由器上开启数据包的转发:

echo 1 > /proc/sys/net/ipv4/ip_forward

两台后端服务器:

yum install nginx -y 安装nginx

yum install tcpdump -y 安装抓包工具

echo "this is RS1.152.129 pages" > /usr/share/nginx/html/index.html

echo "this is RS2.152.128 pages" > /usr/share/nginx/html/index.html

两台LVS服务器A、B:

yum install ipvsadm -y

yum install keepalived -y

echo 1 > /proc/sys/net/ipv4/ip_forward

实验环境各台服务器网络配置:

1、CIP服务器的网关设置为R外IP(172.20.26.6)

2、充当路由器的服务器,R外的网关设置为物理机的网关地址172.20.26.254

充当路由器的服务器,R内的网关设置为仅主机模式的默认网关地址192.168.152.2

3 、LVS服务器A的VIP网关设置为路由器R内的IP地址

VIP1: 192.168.152.200

cat > /etc/sysconfig/network-scripts/ifcfg-ens33:1 <<EOF

TYPE="Ethernet"

BOOTPROTO="none"

DEVICE="ens33:1"

ONBOOT="yes"

GATEWAY=192.168.152.131

IPADDR=192.168.152.200

PREFIX=24

EOF

LVS 服务器A的DIP网关设置为路由器R内的IP地址

DIP1 :192.168.152.130

cat > /etc/sysconfig/network-scripts/ifcfg-ens33 <<EOF

TYPE="Ethernet"

BOOTPROTO="none"

DEVICE="ens33"

ONBOOT="yes"

GATEWAY=192.168.152.131

IPADDR=192.168.152.130

PREFIX=24

EOF

4 、LVS服务器B的VIP网关设置为路由器R内的IP地址

VIP2: 192.168.152.201

cat > /etc/sysconfig/network-scripts/ifcfg-ens33:1 <<EOF

TYPE="Ethernet"

BOOTPROTO="none"

DEVICE="ens33:1"

ONBOOT="yes"

GATEWAY=192.168.152.131

IPADDR=192.168.152.201

PREFIX=24

EOF

LVS 服务器B的DIP网关设置为路由器R内的IP地址

DIP2 :192.168.152.132

cat > /etc/sysconfig/network-scripts/ifcfg-ens33 <<EOF

TYPE="Ethernet"

BOOTPROTO="none"

DEVICE="ens33"

ONBOOT="yes"

GATEWAY=192.168.152.131

IPADDR=192.168.152.132

PREFIX=24

EOF

5 、两台后端真实服务器的网关设置为路由器R内的IP地址

配置后端的VIP:

cat > /etc/sysconfig/network-scripts/ifcfg-lo:1 <<EOF

DEVICE=lo:1

IPADDR=192.168.152.200

NETMASK=255.255.255.255

ONBOOT=yes

NAME=loopback

EOF

抑制arp:

echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

配置后端的VIP:

cat > /etc/sysconfig/network-scripts/ifcfg-lo:1 <<EOF

DEVICE=lo:1

IPADDR=192.168.152.200

NETMASK=255.255.255.255

ONBOOT=yes

NAME=loopback

EOF

抑制arp:

echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

各台服务器均能相互ping通(各台服务器selinux关闭、firewalld关闭,开机启动禁用)。

LVS 服务器A、B上配置ipvsadm

配置LVS:

ipvsadm -A -t 192.168.152.200:80 -s rr

ipvsadm -a -t 192.168.152.200:80 -r 192.168.152.129

ipvsadm -a -t 192.168.152.200:80 -r 192.168.152.128

开启数据包的转发:

echo 1 > /proc/sys/net/ipv4/ip_forward

在客户端上访问后端资源

Curl 192.168.152.200 因为设置为rr 轮询方式,各自轮询访问后端服务器

两台LVS服务器上配置keepalived高可用

MASTER:

! Configuration File for keepalived

global_defs {

router_id LVS_MASTER

}

vrrp_instance VI_1 {

state MASTER

interface ens33

virtual_router_id 51

priority 100

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.152.200

}

}

virtual_server 192.168.152.200 80 {

delay_loop 6

lb_algo rr

lb_kind DR

persistence_timeout 50

protocol TCP

sorry_server 192.168.152.200 80

real_server 192.168.152.129 80 {

weight 1

HTTP_GET {

url {

path /

status_code 200

}

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

real_server 192.168.152.128 80 {

weight 1

HTTP_GET {

url {

path /

status_code 200

}

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

}

BACKUP:

! Configuration File for keepalived

global_defs {

router_id LVS_BACKUP

}

vrrp_instance VI_1 {

state BACKUP

interface ens33

virtual_router_id 51

priority 90

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.152.200

}

}

virtual_server 192.168.152.200 80 {

delay_loop 6

lb_algo rr

lb_kind DR

persistence_timeout 50

protocol TCP

sorry_server 192.168.152.200 80

real_server 192.168.152.129 80 {

weight 1

HTTP_GET {

url {

path /

status_code 200

}

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

real_server 192.168.152.128 80 {

weight 1

HTTP_GET {

url {

path /

status_code 200

}

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

}

相关推荐
万联WANFLOW7 小时前
SD-WAN 控制平面高可用怎么做?SDWAN 控制器挂了,全网会发生什么
运维·网络·分布式·架构
踩着两条虫7 小时前
可视化 vs 终端 vs 云端:VTJ.PRO、Claude Code、Codex 三强横评
前端·vue.js·人工智能·低代码·架构
Fabarta7 小时前
从 0 实现 ChatGPT 风格的流式对话 UI
算法·架构
酱学编程7 小时前
【从零到一实现一个 AI Agent 框架 · 第四篇】04. 任务规划:拆解复杂目标 -
服务器·网络·数据库·人工智能
搭贝8 小时前
低代码平台私有化部署架构与信创全栈适配实战
低代码·架构·rxjava
学渣超9 小时前
记一次分布式事务数据不一致的排查之旅:从超时到索引,层层剥茧
java·后端·架构
小短腿的代码世界9 小时前
Qt Bluetooth源码深度解析:从HCI协议到跨平台API的完整架构
开发语言·qt·架构
艾莉丝努力练剑9 小时前
OpenCode AI 编程:Ubuntu 24.04 环境安装与使用指南
linux·服务器·网络·人工智能·tcp/ip·ubuntu
崇山峻岭之间10 小时前
Keil5输出hex转换为bin的设置
linux·运维·服务器
小短腿的代码世界10 小时前
Qt WebEngine多进程架构与IPC通信:从Chromium多进程到Qt信号槽融合
qt·架构·系统架构