做网站主机电脑,浙江省建设厅干部学校网站,免费传媒,网站建设验收方发言稿1. 描述以及工作原理 1. 什么是 LVS linux virtural server 的简称#xff0c;也就是 linxu 虚拟机服务器#xff0c;这是一个 由章文嵩博士发起的开源项目#xff0c;官网是 http://www.linuxvirtualserver.org,现在 lvs 已经是 linux 内核标 准的一部分#xff0c;使用… 1. 描述以及工作原理 1. 什么是 LVS linux virtural server 的简称也就是 linxu 虚拟机服务器这是一个 由章文嵩博士发起的开源项目官网是 http://www.linuxvirtualserver.org,现在 lvs 已经是 linux 内核标 准的一部分使用lvs 可以达到的技术目标是通过 linux 达到负载均衡技术和linux 操作系统实现一个高性能高可用的 linux 服务器集群他具有良好的可靠性可延展性和可操作性从而以低廉的成本实现最优的性能Lvs 是一个实现负载均衡集群开源软件项目lvs 从逻辑上可以分为调度层server集群层和共享存储 免费开源四层负载均衡 2. LVS 调度算法 1. 静态调度算法 Fixed Scheduling Method 1. 轮询 RR 轮询 ** 调度器通过 轮叫 调度算法将外部请求按顺序轮流分配到集群中的真 实服务器上它均等地对待每一台服务器而不管服务器上实际的连接数和系统负载。 2. 加权轮询 WRR 加权轮询 ** 调度器通过 加权轮叫 调度算法根据真实服务器的不同处理能力来调度访问请求。 这样可以保证处理能力强的服务器处理更多的访问流量。调度器 可以自动问询真实服务器的负载情况并动态地调整其权值 3. 目标地址 hash DH 目标地址 hash** 算法也是针对目标 IP 地址的负载均衡但它是一种静态映射算法通过一个散列Hash 函数将一个目标 IP 地址映射到一台服务器。目标地址散列调度算法先根据请求的目标IP 地址作为散列键 Hash Key 从静态分配的散列表找出对应的服务器若该服务器是可用的且未超载将请求发送到该服务器否则返回空。 4. 源地址 hash SH 源地址 hash** 算法正好与目标地址散列调度算法相反它根据请求的源 IP 地址作 为散列键Hash Key 从静态分配的散列表找出对应的服务器若该服务器是 可用的且未超载将请求发送到该服务器否则返回空。 它采用的散列函数与目标地址散列调度算法的相同。除了将请求的目标IP 地址换成请求的源 IP 地址外它的算法流程与目标地址散列调度算法的基本相似。在实际应用中源地址散列调度和目标地址散列调度可以结合使用在防火墙集群中它们可以保证整个系统的唯一出 入口。 2. 动态调度算法 Dynamic Scheduling Method 动态调度方法 1. Lc 最少链接 调度器通过 最少连接 调度算法动态地将网络请求调度到已建立的链接数最少的服务器上。 如果集群系统的真实服务器具有相近的系统性能采用 最小连接 调度算法可以较好地均衡负载。、 2. wlc 加权最少链接、 在集群系统中的服务器性能差异较大的情况下调度器采用 加权最少链接 调度算法优化负载均衡性能具有较高权值的服务器将承受较大比例的活动连接负载。调度器可以自动问询真实服务器的负载情况并动态地调整其权值。 3. sed 最少期望延迟 基于 wlc 算法举例说明 ABC 三台机器分别权重 123 连接数也分别是123 name 如果使用 WLC 算法的话一个新请求 进入时他可能会分给ABC 中任意一个使用 SED 算法后会进行这样一个运算 A:(11)/2 B:(12)/2 C:(13)/3 根据运算结果把连接交给 C 4. nq 从不排队调度算法 无需列队如果有台 realserver 的连接数 0 就直接分配过去不需要进行sed 运算 5. lblc 基于本地最少链接 基于局部性的最少链接 调度算法是针对目标 IP 地址的负载均衡目前主要用于Cache 集群系统。该算法根据请求的目标IP 地址找出该 目标 IP 地址最近使用的服务器若该服务器 是可用的且没有超载将请求发送到该服务器若服务器不存在或者该服务器超载且有服务器处于一半的工作负载则用 最少链接 的原则选出一个可用的服务器将请求发送到该服务器。 6. lblcr 带复制的基于本地的最少链接 带复制的基于局部性最少链接 调度算法也是针对目标 IP 地址的负载均衡目前主要用于Cache 集群系统。它与LBLC 算法的不同 之处是它要维护从一个 目标 IP 地址到一组服 务器的映射而 LBLC 算法维护从一个目标 IP 地址到一台服务器的映射。该算法根据请求的目标IP 地址找出该目标 IP 地址对应的服务器组按 最小连接 原则从服务器组中选出一台服务器 若服务器没有超载将请求发送到该服务器若服务器超载则按 最小连接 原则从这个集群中选出一 台服务器 将该服务器加入到服务器组中将请求发送到该服务器。同时当该服务器组有一段时间没有被修改 将最忙的服务器从服务器组中删除以降低复制的程度。 3. LVS 的工作原理 1. 当用户向负载均衡调度器 director server 发起请求调度器将请求发往内核空间 2. prerouting 链首先会接受到用户请求判断目标 ip 确定是本机 ip 将数据包发往input 链 3. IPVS 是工作在 input 链上的当用户请求到达 input 时 ipvs 会将用户请求和自己定义好的集群服务器进行比对如果用户请求就是定义的集群服务那么此时ipvs 会强行修改数据包里的目标 ip 地址以及端口并将新的数据包发往POSTROUTING 链 4. POSTROUTING 链接收到数据包后发现目标 ip 地址刚好是自己的后端服务器那么通过选路将数据包最终发送给后端服务器 2. 组成以及相关术语 1. 组成 1. ipvs ip virtual server,一段代码工作在内核空间ipvs是真正生效实现
调度的代码累死nginx中的proxy_pass 2. ipvsadm 另一段是工作在用户空间ipvsadm负责为ipvs内核框架编写规则定义
谁是集群服务谁是后端真正的服务器real server类似nginx中的
upstrean 3. lvs 组成 ipvsipv( 内核负载均衡调度代码 )sadm ipvs 管理器负责均衡提供集群后端服务等信息 2.术语 1. DS DIrector Server 前端负责均衡节点负载均衡服务器 2. RS real server 后端真实工作服务器 web 服务器 3. vip 向外部直接面向用户请求作为用户请求的目标 ip 地址负载均衡的ip地址提供给用户 4. DIP Director Server Ip 和内部主机通讯的 ip 地址负责与 Real Server 交互的内部Ip 5. RIP Real Server Ip 后端服务器 ip 地址 6. CIP client IP 访问客户端 ip 地址 3. 三种工作模式 1. *LVS-NAT 模式 2. *LVS-DR 模式 3. Lvs-Tun 模式隧道模式 4.NAT 模式的工作原理 1. 用户请求 ds 此时请求的报文会先到内核空间 prerouting 链此时报文 ip为 cip 目标 ip 为 vip 2. prerouting 检测发现数据包目标 ip 是本机将数据包送到 input 链 3. ipvs 对比数据包请求的服务是否为集群服务如果是修改数据包的目标ip 地址为后端服务器的 IP 地址然后将数据包发送给 POSTROUTING链此时报文ip 为 cip 目标 ip 为 rip 4. POSTROUTING 通过选路将数据发送给 Real Server 5. RealServer 对比发现目标 ip 为自己的 ip 开始构建响应报文发回给Director Server此时报文的源 ip 为 RIP 目标 ip 为 CIP 6. Derector Server 在响应客户端前会将源 ip 地址修改为自己的 VIP 然后响应给客户端目标ip 为 cip 此时报文源 IP 为 VIP 目标 ip 为 cipNAT模型的特性 1. Rs 应该是私有地址 Rs 网关必须指向 DIP 2. DIP 和 RIP 必须在同一个网段内 3. 请求和响应报文都应该经过 Director Server 高负载场景中 DirectorServer容易成为性能瓶颈 4. 支持端口映射 5. Rs 可是使用任意操作系统 6. 缺陷对 Ds 压力会比较大请求和响应都需要经过 ds 5.NAT 模式实战 - 环境准备 2. 给 NAT 主机增加一张网卡命名为 ens37 自动或者手工获取 ip 均可理论上nat 对应 ds 服务器应该有两张网卡 vip dip vip 对外服务需要使用公网ip dip 内网局域网使用虚拟机使用仅主机模式也可以用桥接模式和nat 模式都可以 3. 步骤 1. 配置两个网卡和两个ip地址正常来说应该配置两个不同的网段的ip一个对外的vip一个对内的dip现在主要使用nat的网络模式可以配置桥接模式对外Nat对内教师机不方便配置桥接模式所以都是配置的nat模式但是一定要分清楚哪个ip是vip哪个ip是dip在物理主机上都要能够ping通。 2. 克隆主机生成net模式的机器 3. 设置主机名称 nat.yuanyu.zhangmin [rootnat ~]# hostname
nat.yuanyu.zhangmin 4. 更改 ip 地址 vim /etc/sysconfig/network-scripts/ifcfg-ens33
DEFROUTEyes
IPV4_FAILURE_FATALno
IPV6INITyes
IPV6_AUTOCONFyes
IPV6_DEFROUTEyes
IPV6_FAILURE_FATALno
IPV6_ADDR_GEN_MODEstable-privacy
NAMEens33
UUID7a2bb575-3b9c-4206-9dd7-e87372b68952
DEVICEens33
ONBOOTyes
IPADDR10.1.1.100
NETMASK255.255.255.0
GATEWAY10.1.1.2
DNS18.8.8.8
DNS2114.114.114.114 5. 额外添加一张网卡选择对外提供服务的桥接模式或者 nat 模式选 择桥接模式 ip 不同 6. 查看所有网卡 [rootnat ~]# ip a
1: lo: LOOPBACK,UP,LOWER_UP mtu 65536 qdisc
noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd
00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: BROADCAST,MULTICAST,UP,LOWER_UP mtu 1500
qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:6f:6e:0a brd
ff:ff:ff:ff:ff:ff
inet 10.1.1.100/24 brd 10.1.1.255 scope global
ens33
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe6f:6e0a/64 scope link
valid_lft forever preferred_lft forever
3: ens36: BROADCAST,MULTICAST,UP,LOWER_UP mtu 1500
qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:6f:6e:14 brd
ff:ff:ff:ff:ff:ff
inet 192.168.0.100/24 brd 192.168.0.255 scope
global ens36
valid_lft forever preferred_lft forever
inet6 240e:878:8fa:6069:20c:29ff:fe6f:6e14/64
scope global mngtmpaddr dynamic
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe6f:6e14/64 scope link
valid_lft forever preferred_lft forever7. 修改网卡配置文件 [rootnat ~]# vim /etc/sysconfig/networkscripts/ifcfg-ens36
TYPEEthernet
BOOTPROTOnone
NAMEens36
UUID606c3bb5-ae86-42fa-95e1-d9766c3d4ab9
DEVICEens36
ONBOOTyes
IPADDR192.168.0.100
NETMASK255.255.255.0 8. 时间同步 [rootnat ~]# yum -y install ntpdate
[rootnat ~]# yum -y install ntp
[rootnat ~]# ntpdate cn.ntp.org.cn
[rootnat ~]# systemctl start ntpd
[rootnat ~]# systemctl enable ntpd 9. 停用其他服务 # 停用selinux
setenforce 0
sed -i /SELINUXenforcing/cSELINUXdisabled
/etc/selinux/config
#停用防火墙
systemctl stop firewalld
systemctl disable firewalld /dev/null
# 停用NetworkManage
systemctl stop NetworkManager
systemctl disable NetworkManager /dev/null 10. 添加 web 服务器 web01 10.1.1.200 web02 10.1.1.201 # 设置主机名称
# 关闭防火墙
# 固定ip地址
# 关闭SELinux
# 关闭NetworkManager
# 安装nginx
# 修改index.html文件
# 时间同步
# 启动服务 11. 配置 dns 服务器 1. yuanyu.zhangmin web01.yuanyu.zhangmin x.x.x.200 Web02.yuanyu.zhangmin x.x.x.201 nat.yuanyu.zhangmin x.x.x.100 Ds.yuanyu.zhangmin x.x.x.110 # 修改主机名称
# 固定ip
# 关闭防火墙
# 关闭SELinux
# 关闭NetManager
# 安装bind的
yum -y install bind
# 配置主配置文件
vim /etc/named.conf
# 配置zones文件
vim /etc/named.rfc...zones
# 配置zone文件
vim /var/named/...zone
# 同步时间
# 启动服务 12. 配置 client 客户测试机 # 临时指定dns服务器
# 永久指定dns服务器 6.NAT 模式搭建实战 1. nat 服务器配置 1. Itvs. Ip vartual server 已经是内核应用无法修改 2. ipvsadm 这个工具管理服务 # 安装ipvsadm
[rootnat ~]# yum -y install ipvsadm
# 清空以往的规则
[rootnat ~]# ipvsadm -C
# 查看规则
[rootnat ~]# ipvsadm -L -n
# 新增规则
[rootnat ~]# ipvsadm -A -t 192.168.0.100:80 -s rr
# 添加主机
[rootnat ~]# ipvsadm -a -t 192.168.0.100:80 -r
10.1.1.200:80 -m
[rootnat ~]# ipvsadm -a -t 192.168.0.100:80 -r
10.1.1.201:80 -m
# 设置ip转发
[rootnat ~]# vim /etc/sysctl.confnet.ipv4.ip_forward1# 设置生效
[rootnat ~]# sysctl -p
net.ipv4.ip_forward 1 2. web 服务器网关配置 [rootweb01 ~]# route del default
[rootweb01 ~]# route add default gw 10.1.1.100
[rootweb02 ~]# route del default
[rootweb02 ~]# route add default gw 10.1.1.100 7.DR 模式的搭建实战 配置 vip 网卡 1. 在编辑虚拟网络中创建桥接模式的网卡并且桥接到有网的适配器上 2. 在 vmware 的虚拟主机资源管理器找到虚拟主机右键菜单设置 3. 添加新的网卡自定义为刚才创建的桥接模式网卡 4. 此时在虚拟主机中使用 ifconfig 无法找到新的网卡 5. ip a 能够查看到新的 ens36 网卡没有路由 6. 编辑网卡配置 TYPEEthernet
BOOTPROTOnone
NAMEens36
UUIDfdbcb12c-33b6-4d7d-93bb-3b5380c4fb30
DEVICEens36
ONBOOTyes
IPADDR192.168.10.100 7. 重启 network 服务 [rootds01 ~]# systemctl restart network 添加规则 [rootds01 ~]# # 配置ipvs规则
[rootds01 ~]# ipvsadm -A -t 192.168.10.100:80 -s rr
[rootds01 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size4096)
Prot LocalAddress:Port Scheduler Flags
- RemoteAddress:Port Forward Weight
ActiveConn InActConn
TCP 192.168.10.100:80 rr
[rootds01 ~]# # 添加rs web01 web02 添加规则
[rootds01 ~]# ipvsadm -a -t 192.168.10.100:80 -r
10.1.1.200:80 -m
[rootds01 ~]# ipvsadm -a -t 192.168.10.100:80 -r
10.1.1.201:80 -m
[rootds01 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size4096)
Prot LocalAddress:Port Scheduler Flags
- RemoteAddress:Port Forward Weight
ActiveConn InActConn
TCP 192.168.10.100:80 rr
- 10.1.1.200:80 Masq 1 0
0
- 10.1.1.201:80 Masq 1 0
0 ip 转发 [rootds01 ~]# vim /etc/sysctl.conf
##########################################
net.ipv4.ip_forward1
#############################################
[rootds01 ~]# sysctl -p
net.ipv4.ip_forward 1 临时修改 web01 和 web02 的网 关 , 网关必须指向 dip 调度服务 器的对内的 ip [rootweb01 ~]# route del default
[rootweb01 ~]# route add default gw 10.1.1.100
[rootweb01 ~]# # 临时修改网关
# 这也要求了rs ip和 dip要在同一个网段因为dip是要作为网关存在的 vs-nat 模式的优点配置简单缺点是请求和响应都必须经过 ds 容易称为性能瓶颈 希望有这样的模式请求的时候使用 input 链进行负载均衡响应的时候就不要经过ds 直接由 rs 响应给客户端 在 nat 模式的时候请求 vip 接收 vip 的响应 构想 请求 vip 接受 rip 响应这是不允许 lvs-dr 模式 vip 请求 rip 响应 NAT 脚本 # ds脚本
#!/bin/bash
#配置网卡
echo TYPEEthernet /etc/sysconfig/networkscripts/ifcfg-ens36
echo BOOTPROTOnone /etc/sysconfig/networkscripts/ifcfg-ens36
read -p router name: router_name
echo NAME$rount_name /etc/sysconfig/networkscripts/ifcfg-ens36
uuidkey$( uuidgen )
echo UUID$uuidkey /etc/sysconfig/networkscripts/ifcfg-ens36 /etc/sysconfig/networkscripts/ifcfg-ens36
echo DEVICE$rount_name /etc/sysconfig/networkscripts/ifcfg-ens36
echo ONBOOTyes /etc/sysconfig/network-scripts/ifcfgens36
echo IPADDR192.168.10.100 /etc/sysconfig/networkscripts/ifcfg-ens36
systemctl restart network
#安装ipvsadm
yum list installed|grep ipvsadm
if[ $? -ne 0 ];then
yum -y install ipvsadm
fi
#配置规则
read -p vip: vip
read -p port: port
read -p rule: s
ipvsadm -A -t $vip:$port -s $s
# ip forward
echo net.ipv4.ip_forward1 /etc/sysctl.conf
sysctl -p
# rs脚本
#!/bin/bash
read -p dip: dip
# 设置网关
route del default
route add defualt gw $dip DR 模式 1. 性能更优回路不再经过 ds 2.ds 和 rs 为了保证用户响应都要求配置统一的 vip 3. 由于 rs 是直接响应 client 网关一定不能设置 ds 的 dip 4. 对 rs 的 vip 进行抑制让 ds 的 vip 接收请求 rs 的 vip 不接受请求 5.rs 的 vip 绑定点 lo 回路网卡上 1. 在 ds 的 ens33 上挂一个 vip 10.1.1.102 [rootdr03 ~]# ifconfig
ens33: flags4163UP,BROADCAST,RUNNING,MULTICAST mtu
1500
inet 10.1.1.101 netmask 255.255.255.0 broadcast
10.1.1.255
inet6 fe80::20c:29ff:fe38:97fb prefixlen 64
scopeid 0x20link
ether 00:0c:29:38:97:fb txqueuelen 1000
(Ethernet)
RX packets 153 bytes 16165 (15.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 144 bytes 15826 (15.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0
collisions 0
lo: flags73UP,LOOPBACK,RUNNING mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10host
loop txqueuelen 1000 (Local Loopback)
RX packets 64 bytes 5568 (5.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 64 bytes 5568 (5.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0
collisions 0
[rootdr03 ~]# ifconfig ens33:0 10.1.1.102 broadcat
10.1.1.102 netmask 255.255.255.255 up
broadcat: 未知的主机
ifconfig: --help gives usage information.
[rootdr03 ~]# ifconfig ens33:0 10.1.1.102 broadcast
10.1.1.102 netmask 255.255.255.255 up
[rootdr03 ~]# ifconfig
ens33: flags4163UP,BROADCAST,RUNNING,MULTICAST mtu
1500
inet 10.1.1.101 netmask 255.255.255.0 broadcast
10.1.1.255
inet6 fe80::20c:29ff:fe38:97fb prefixlen 64
scopeid 0x20link
ether 00:0c:29:38:97:fb txqueuelen 1000
(Ethernet)
RX packets 399 bytes 38090 (37.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 300 bytes 32758 (31.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0
collisions 0
ens33:0: flags4163UP,BROADCAST,RUNNING,MULTICAST mtu
1500
inet 10.1.1.102 netmask 255.255.255.255
broadcast 10.1.1.102
ether 00:0c:29:38:97:fb txqueuelen 1000
(Ethernet)
lo: flags73UP,LOOPBACK,RUNNING mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10host
loop txqueuelen 1000 (Local Loopback)
RX packets 64 bytes 5568 (5.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 64 bytes 5568 (5.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0
collisions 0
[rootdr03 ~]# ip a
1: lo: LOOPBACK,UP,LOWER_UP mtu 65536 qdisc noqueue
state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: BROADCAST,MULTICAST,UP,LOWER_UP mtu 1500 qdisc
pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:38:97:fb brd ff:ff:ff:ff:ff:ff
inet 10.1.1.101/24 brd 10.1.1.255 scope global ens33
valid_lft forever preferred_lft forever
inet 10.1.1.102/32 brd 10.1.1.102 scope global ens33:0
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe38:97fb/64 scope link
valid_lft forever preferred_lft forever
[rootdr03 ~]# route add -host 10.1.1.102 dev ens33:0
# 10.1.1.101 dip
# 10.1.1.102 vip 在rs上的vip和这个vip相同 2. 设置规范 # 安装ipvsadm
yum -y install ipvsadm
$ 设置规则
ipvsadm -A -t 10.1.1.102:80 -s rr
ipvsadm -a -t 10.1.1.102:80 -r 10.1.1.200 -g
ipvsadm -a -t 10.1.1.102:80 -r 10.1.1.201 -g
# rs不在需要指定端口dr不支持端口映射vip上是80端口最终就是80端
口
# -m nat -g gateway 设置 rs 主机 1. 在 lo 接口上绑定 vip [rootweb01 ~]# ifconfig lo:0 10.1.1.102 broadcast
10.1.1.102 netmask 255.255.255.255 up 2. 设置主机路由 [rootweb01 ~]# route add -host 10.1.1.102 dev lo:0 3. 抑制 rs 接收请求 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 4. 生成脚本对 web02 使用 ifconfig lo:0 10.1.1.102 broadcast 10.1.1.102 netmask
255.255.255.255 up
route add -host 10.1.1.102 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 5. 测试使用查看状态 [rootdr03 ~]# ipvsadm -Ln --stats
IP Virtual Server version 1.2.1 (size4096)
Prot LocalAddress:Port Conns InPkts
OutPkts InBytes OutBytes
- RemoteAddress:Port
TCP 10.1.1.102:80 1 6
0 360 0
- 10.1.1.200:80 0 0
0 0 0
- 10.1.1.201:80 1 6
0 360 0
[rootdr03 ~]# dr 模式的脚本 ds 脚本 #!/bin/bash
#在ens33上挂载一个ip地址
read -p vip: vip
read -p mac: mac
read -p num num
ifconfig $mac:$num $vip broadcast $vip netmask
255.255.255.255
# 主机路由
route add -host $vip dev $mac:$num
#安装ipvsadm
yum list installed|grep ipvsadm
if [ $? -ne 0 ] ; then
yum -y install ipvsadm
fi
#配置规则不需要设置ip_forword
ipvsadm -C
read -p rule: rule
read -p port: port
ipvsadm -A -t $vip:$port -s $rule
read -p rip1: rip1
ipvsadm -a -t $vip:$port -r $rip1 -g
read -p rip2: rip2
ipvsadm -a -t $vip:$port -r $rip2 -g rs 脚本 #!/bin/bash
#在ens33上挂载一个ip地址
read -p vip: vip
read -p mac: mac
read -p num num
ifconfig $mac:$num $vip broadcast $vip netmask
255.255.255.255
# 主机路由
route add -host $vip dev $mac:$num
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