赞
踩
目录
2.2负载均衡群集(Load Balance Cluster)
2.3高可用群集(High Availability Cluster)
2.4高性能运算群集(High Performance Computer Cluster)
3.1.2.2应用层(专用)——针对特定协议(常称为Proxy Server)
LVS集群(Linux Vritual Server)
- 集群概念
- lvs模型
- lvs调度算法
- lvs实现
- lvs高可用性,负载均衡
SLA 服务等级协议(简称:SLA,全称:service level agreement)。是在一定开销下为保障服
务的性能和可用性,服务提供商与用户间定义的一种双方认可的协定。通常这个开销是驱动提供服
务质量的主要因素。在常规的领域中,总是设定所谓的三个9,四个9来进行表示,当没有达到这
种水平的时候,就会有一些列的惩罚措施,而运维,最主要的目标就是达成这种服务水平。
MTBF:Mean Time Between Failure 平均无故障时间,正常时间
MTTR:Mean Time To Restoration( repair)平均恢复前时间,故障时间
A = MTBF /(MTBF+MTTR) (0,1):99%,99.5%,99.9%,99.99%,99.999%;1年 = 365天 = 8760小时
90 = (1-90%)*365=36.5天
99 = 8760 * 1% = 87.6小时
99.9 = 8760 * 0.1% = 8760 * 0.001 = 8.76小时
99.99 = 8760 * 0.0001 = 0.876小时 = 0.876 * 60 = 52.6分钟
99.999 = 8760 * 0.00001 = 0.0876小时 = 0.0876 * 60 = 5.26分钟
99.9999= (1-99.9999%)*365*24*60*60=31秒
停机时间又分为两种,一种是计划内停机时间,一种是计划外停机时间,而运维则主要关注计划外停机时间。
互联网应用中,随着站点对硬件性能、响应速度、服务稳定性、数据可靠性等要求越来越高,单台服务器已经无法满足负载均衡及高可用的要求。
通过整合多台服务器,使用LVS来达到服务器构建服务群集,并以同一个IP地址对外提供相同的服务;在企业中常用的一种群集技术——LVS(Linux Virtual Server,Linux虚拟服务器)
系统性能扩展方式
水平扩展 增加服务器的数量 垂直扩展 提升单台服务器的性能;
横向扩展就是群集;
垂直扩展不再提及 随着计算机性能的增长,其价格会成倍增长。
分布式存储:Ceph,GlusterFS,FastDFS,MogileFS
分布式计算:hadoop,Spark
分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。
对于大型网站,访问用户很多,实现一个群集,在前面部署一个负载均衡服务器,后面几台服务器完成同一业务。如果有用户进行相应业务访问时,负载均衡器根据后端哪台服务器的负载情况,决定由给哪一台去完成响应,并且一台服务器垮了,其它的服务器可以顶上来。分布式的每一个节点,都完成不同的业务,如果一个节点垮了,那这个业务可能就会失败
第一层,负载调度器(Load Balancer或Director)
访问整个群集系统的唯一入口,对外使用所有服务器共有的VIP地址,也称为群集IP地址。通常会配置主、备两台调度器实现热备份,当主调度器失效以后能够平滑地替换至备用调度器,确保高可用性。
第二层,服务器池(Server Pool)
群集所提供的应用服务、由服务器池承担,其中每个节点具有独立的RIP地址(真实IP),只处理调度器分发过来的客户机的请求。当某个节点暂时失效时,负载调度器的容错机制会将其隔离,等待错误排除以后再重新纳入服务器池。
第三层,共享存储(Share Storage)
为服务器池中所有节点提供稳定、一致的文件存取服务,确保整个群集的统一性;共享存储可以使用NAS设备,或者提供NFS共享服务的专用服务器。
以上三个软件都可以使用四层
SNAT:内网用户可以通过SNAT技术科学上网到达外网;
DNAT:把内网服务共享给公网(公网用户可以访问内网)
keepalived:vrrp协议
Ais:应用接口规范
LVS:Linux Virtual Server,负载调度器,内核集成,针对Linux内核开发的负载均衡解决方案;1998年5月,由我国章文嵩(花名正明)博士创建, 阿里的四层SLB(Server Load Balance)是基于LVS+keepalived实现;LVS实际上相当于基于IP地址的虚拟化应用,为基于IP地址和内容请求分发的负载均衡提出了一种高效的解决方法。
LVS 官网:http://www.linuxvirtualserver.org/
阿里SLB和LVS:https://yq.aliyun.com/articles/1803 https://github.com/alibaba/LVS
整个SLB系统由三部分构成:四层负载均衡、七层负载均衡 和 控制系统
VS根据请求报文的目标IP和目标协议及端口将其调度转发至某RS,根据调度算法来挑选RS。LVS是内核级功能,工作在INPUT链的位置,将发往INPUT的流量进行“处理”
- [root@localhost ~]#grep -i -C 10 ipvs /boot/config-3.10.0-693.el7.x86_64
- #可以看到编译操作系统时开启或者关闭哪些功能
- CONFIG_NETFILTER_XT_MATCH_CPU=m
- CONFIG_NETFILTER_XT_MATCH_DCCP=m
- CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
- CONFIG_NETFILTER_XT_MATCH_DSCP=m
- CONFIG_NETFILTER_XT_MATCH_ECN=m
- CONFIG_NETFILTER_XT_MATCH_ESP=m
- CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
- CONFIG_NETFILTER_XT_MATCH_HELPER=m
- CONFIG_NETFILTER_XT_MATCH_HL=m
- CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
- CONFIG_NETFILTER_XT_MATCH_IPVS=m
- CONFIG_NETFILTER_XT_MATCH_LENGTH=m
- CONFIG_NETFILTER_XT_MATCH_LIMIT=m
- CONFIG_NETFILTER_XT_MATCH_MAC=m
- CONFIG_NETFILTER_XT_MATCH_MARK=m
- CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
- CONFIG_NETFILTER_XT_MATCH_NFACCT=m
- CONFIG_NETFILTER_XT_MATCH_OSF=m
- CONFIG_NETFILTER_XT_MATCH_OWNER=m
- CONFIG_NETFILTER_XT_MATCH_POLICY=m
- CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
- --
- CONFIG_IP_SET_HASH_NET=m
- CONFIG_IP_SET_HASH_NETPORT=m
- CONFIG_IP_SET_HASH_NETIFACE=m
- CONFIG_IP_SET_LIST_SET=m
- CONFIG_IP_VS=m
- CONFIG_IP_VS_IPV6=y
- # CONFIG_IP_VS_DEBUG is not set
- CONFIG_IP_VS_TAB_BITS=12
-
- #
- # IPVS transport protocol load balancing support
- #
- CONFIG_IP_VS_PROTO_TCP=y
- CONFIG_IP_VS_PROTO_UDP=y
- CONFIG_IP_VS_PROTO_AH_ESP=y
- CONFIG_IP_VS_PROTO_ESP=y
- CONFIG_IP_VS_PROTO_AH=y
- CONFIG_IP_VS_PROTO_SCTP=y
-
- #
- # IPVS scheduler
- #
- CONFIG_IP_VS_RR=m
- CONFIG_IP_VS_WRR=m
- CONFIG_IP_VS_LC=m
- CONFIG_IP_VS_WLC=m
- CONFIG_IP_VS_LBLC=m
- CONFIG_IP_VS_LBLCR=m
- CONFIG_IP_VS_DH=m
- CONFIG_IP_VS_SH=m
- CONFIG_IP_VS_SED=m
- CONFIG_IP_VS_NQ=m
-
- #
- # IPVS SH scheduler
- #
- CONFIG_IP_VS_SH_TAB_BITS=8
-
- #
- # IPVS application helper
- #
- CONFIG_IP_VS_FTP=m
- CONFIG_IP_VS_NFCT=y
- CONFIG_IP_VS_PE_SIP=m
-
- #
- # IP: Netfilter Configuration
- #
- CONFIG_NF_DEFRAG_IPV4=m
- CONFIG_NF_CONNTRACK_IPV4=m

负载均衡的应用场景为高访问量的业务,提高应用程序的可用性和可靠性。
如果您的应用访问量很高,可以通过配置监听规则将流量分发到不同的云服务器 ECS(Elastic Compute Service 弹性计算服务)实例上。此外,可以使用会话保持功能将同一客户端的请求转发到同一台后端ECS
可以根据业务发展的需要,随时添加和移除ECS实例来扩展应用系统的服务能力,适用于各种Web服务器和App服务器。
可以在负载均衡实例下添加多台ECS实例。当其中一部分ECS实例发生故障后,负载均衡会自动屏蔽故障的ECS实例,将请求分发给正常运行的ECS实例,保证应用系统仍能正常工作
为了提供更加稳定可靠的负载均衡服务,阿里云负载均衡已在各地域部署了多可用区以实现同地域容灾。当主可用区出现机房故障或不可用时,负载均衡仍然有能力在非常短的时间内(如:大约30s中断)切换到另外一个备可用区恢复服务能力;当主可用区恢复时,负载均衡同样会自动切换到主可用区提供服务。使用负载均衡时,您可以将负载均衡实例部署在支持多可用区的地域以实现同城容灾。此外,建议您结合自身的应用需要,综合考虑后端服务器的部署。如果您的每个可用区均至少添加了一台ECS实例,那么此种部署模式下的负载均衡服务的效率是最高的。
VS 代理服务器;RS 真实服务器;VIP 外网IP代理服务器;DIP 内网IP代理服务器;RIP 真实服务器IP
访问流程 CIP <--> VIP == DIP <--> RIP
完整请求过程
1.客户端发起请求报文,源IP为客户端IP地址(CIP),目的地址为VIP(代理服务器的外网地址);
2.当数据包到达我们的代理服务器,源IP不变,需要修改目的IP及端口号,此时源IP为客户端IP地址(CIP),目的地址为RIP(后端真实服务器IP);
3.真实服务器收到报文后构建响应报文,此时源IP修改为真实服务器自己的IP(VIP是内网地址),目的地址为CIP(外网客户端地址);
4.此时再发给代理服务器,源IP为代理服务器IP地址(VIP),目的地址为CIP(外网客户端地址)
ipvs scheduler:根据其调度时是否考虑各RS当前的负载状态,调度算法分为静态和动态
静态不管后端真实服务器的状态 根据自身算法进行调度;动态会根据后端服务器的状态进行调度;
动态服务器根据一个参考值 确定服务器是否忙 这个值越小 代表服务器比较清闲 代表优先级越高 就会优先调度
主要根据每RS当前的负载状态及调度算法进行调度Overhead=value 较小的RS将被调度
Overhead=activeconns*256+inactiveconns
Overhead=(activeconns*256+inactiveconns)/weight
Overhead=(activeconns+1)*256/weight
内核版本 4.15 版本后新增调度算法 FO 和 OVF
一个可用的真实服务器需要通式满足以下条件
ipvsadm是实现LVS内核的工具
选项 | 含义 |
---|---|
-A | 添加虚拟服务器 |
-D | 删除整个虚拟服务器 |
-s | 指定负载调度算法(轮询: rr、加权轮询: wrr、最少连接: lc、加权最少连接: wlc) |
-a | 添加真实服务器(节点服务器) |
-d | 删除某一个节点 |
-t | 指定VIP地址及TCP端口 |
-r | 指定RIP地址及TCP端口 |
-m | 表示使用NAT群集模式 |
-g | 表示使用DR模式 |
-i | 表示使用TUN模式 |
-w | 设置权重(权重为0时表示暂停节点) |
-p | -p 60 表示保持长连接60秒 |
-l | 列表查看 LVS虚拟服务器(默认为查看所有) |
-n | 以数字形式显示地址、端口等信息,常与"-l“选项组合使用。ipvsadm -ln |
- #管理集群服务
- ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p [timeout]] [-M netmask] [--pe persistence_engine] [-b sched-flags]
- ipvsadm -D -t|u|f service-address #删除
- ipvsadm –C #清空
- ipvsadm –R #重载,相当于ipvsadm-restore
- ipvsadm -S [-n] #保存,相当于ipvsadm-save
- #管理集群中的RS
- ipvsadm -a|e -t|u|f service-address -r server-address [-g|i|m] [-w weight]
- ipvsadm -d -t|u|f service-address -r server-address
- ipvsadm -L|l [options]
- ipvsadm -Z [-t|u|f service-address]
- 选项:
- lvs类型:
- -g: gateway, dr类型,默认
- -i: ipip, tun类型
- -m: masquerade, nat类型
- -w weight:权重
-
- 例子:
- ipvsadm -A -t 12.0.0.1:80 -s rr
-
- -A 新建代理服务器
- -t tcp协议
- -s 调度算法
-
-
-
- 主程序:/usr/sbin/ipvsadm
- 规则保存工具:/usr/sbin/ipvsadm-save
- 规则重载工具:/usr/sbin/ipvsadm-restore
- 配置文件:/etc/sysconfig/ipvsadm-config
- ipvs调度规则文件:/etc/sysconfig/ipvsadm

Centos 7-1作为代理服务器;Centos 7-2和Centos 7-3作为后端真实服务器;Centos7-4作为NFS共享存储服务器
- [root@localhost ~]#systemctl stop firewalld
- [root@localhost ~]#setenforce 0
- setenforce: SELinux is disabled
- [root@node2 ~]#systemctl stop firewalld
- [root@node2 ~]#setenforce 0
- [root@node3 ~]#systemctl stop firewalld
- [root@node3 ~]#setenforce 0
- [root@G ~]#systemctl stop firewalld
- [root@G ~]#setenforce 0
NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。通过使用 NFS
协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。对于大多数负载均衡
群集来说,使用 NFS 协议来共享数据存储是比较常见的做法,NFS 也是 NAS 存储设备必然支
持的一种协议。
NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制,以完成远程
到本地的映射过程。在 CentOS 7 系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS
共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持
- [root@G ~]#rpm -qa |grep nfs
- nfs-utils-1.3.0-0.48.el7.x86_64
- nfs4-acl-tools-0.3.3-15.el7.x86_64
- libnfsidmap-0.25-17.el7.x86_64
- [root@G ~]#systemctl start nfs
- [root@G ~]#systemctl status nfs
- ● nfs-server.service - NFS server and services
- Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled)
- Active: active (exited) since 二 2024-03-05 15:39:44 CST; 3s ago
- Process: 37332 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, status=0/SUCCESS)
- Process: 37325 ExecStartPre=/bin/sh -c /bin/kill -HUP `cat /run/gssproxy.pid` (code=exited, status=0/SUCCESS)
- Process: 37324 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)
- Main PID: 37332 (code=exited, status=0/SUCCESS)
- CGroup: /system.slice/nfs-server.service
-
- 3月 05 15:39:44 G.D systemd[1]: Starting NFS server and services...
- 3月 05 15:39:44 G.D systemd[1]: Started NFS server and services.
- [root@G ~]#mkdir /benet
- [root@G ~]#mkdir /accp
- [root@G ~]#vim /etc/exports
- [root@G ~]#cat /etc/exports
- /benet *
- /accp *
- [root@G ~]#exportfs -v
- [root@G ~]#exportfs -r
- exportfs: No options for /benet *: suggest *(sync) to avoid warning
- exportfs: No options for /accp *: suggest *(sync) to avoid warning
- [root@G ~]#exportfs -v
- /benet <world>(ro,sync,wdelay,hide,no_subtree_check,sec=sys,secure,root_squash,no_all_squash)
- /accp <world>(ro,sync,wdelay,hide,no_subtree_check,sec=sys,secure,root_squash,no_all_squash)
- [root@G ~]#cd /accp/
- [root@G accp]#ls
- [root@G accp]#echo accp > index.html
- [root@G accp]#cat index.html
- accp
- [root@G accp]#cd /benet/
- [root@G benet]#ls
- [root@G benet]#echo benet > index.html
- [root@G benet]#cat index.html
- benet

- [root@node2 ~]#yum install httpd -y
- [root@node2 ~]#showmount -e 192.168.241.24
- Export list for 192.168.241.24:
- /accp *
- /benet *
- [root@node2 ~]#mount 192.168.241.24:/accp /var/www/html
- [root@node2 ~]#df
- Filesystem 1K-blocks Used Available Use% Mounted on
- /dev/mapper/centos-root 52403200 3622304 48780896 7% /
- devtmpfs 917604 0 917604 0% /dev
- tmpfs 933524 0 933524 0% /dev/shm
- tmpfs 933524 17412 916112 2% /run
- tmpfs 933524 0 933524 0% /sys/fs/cgroup
- /dev/sda1 5232640 182380 5050260 4% /boot
- tmpfs 186708 12 186696 1% /run/user/42
- tmpfs 186708 0 186708 0% /run/user/0
- 192.168.241.24:/accp 52403200 4006912 48396288 8% /var/www/html
- [root@node2 ~]#systemctl start httpd
- [root@node2 ~]#systemctl status httpd
- ● httpd.service - The Apache HTTP Server
- Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
- Active: active (running) since Tue 2024-03-05 02:49:04 EST; 8s ago
- Docs: man:httpd(8)
- man:apachectl(8)
- Main PID: 6712 (httpd)
- Status: "Processing requests..."
- CGroup: /system.slice/httpd.service
- ├─6712 /usr/sbin/httpd -DFOREGROUND
- ├─6716 /usr/sbin/httpd -DFOREGROUND
- ├─6717 /usr/sbin/httpd -DFOREGROUND
- ├─6718 /usr/sbin/httpd -DFOREGROUND
- ├─6719 /usr/sbin/httpd -DFOREGROUND
- └─6720 /usr/sbin/httpd -DFOREGROUND
-
- Mar 05 02:48:09 node2.localdomain systemd[1]: Starting The Apache HTTP Se....
- Mar 05 02:48:29 node2.localdomain httpd[6712]: AH00558: httpd: Could not r...
- Mar 05 02:49:04 node2.localdomain systemd[1]: Started The Apache HTTP Server.
- Hint: Some lines were ellipsized, use -l to show in full.

- [root@node3 ~]#yum install httpd -y
- [root@node3 ~]#systemctl start httpd
- [root@node3 ~]#systemctl status httpd
- ● httpd.service - The Apache HTTP Server
- Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
- Active: active (running) since 三 2024-03-06 00:03:52 CST; 8s ago
- Docs: man:httpd(8)
- man:apachectl(8)
- Main PID: 37651 (httpd)
- Status: "Processing requests..."
- CGroup: /system.slice/httpd.service
- ├─37651 /usr/sbin/httpd -DFOREGROUND
- ├─37653 /usr/sbin/httpd -DFOREGROUND
- ├─37654 /usr/sbin/httpd -DFOREGROUND
- ├─37655 /usr/sbin/httpd -DFOREGROUND
- ├─37656 /usr/sbin/httpd -DFOREGROUND
- └─37657 /usr/sbin/httpd -DFOREGROUND
-
- 3月 06 00:03:26 node3.node3 systemd[1]: Starting The Apache HTTP Server...
- 3月 06 00:03:52 node3.node3 systemd[1]: Started The Apache HTTP Server.
- [root@node3 ~]#mount 192.168.241.24:/benet /var/www/html
- [root@node3 ~]#df
- 文件系统 1K-块 已用 可用 已用% 挂载点
- /dev/mapper/centos-root 52403200 3625648 48777552 7% /
- devtmpfs 917604 0 917604 0% /dev
- tmpfs 933524 0 933524 0% /dev/shm
- tmpfs 933524 9172 924352 1% /run
- tmpfs 933524 0 933524 0% /sys/fs/cgroup
- /dev/sda1 5232640 182372 5050268 4% /boot
- tmpfs 186708 12 186696 1% /run/user/42
- tmpfs 186708 0 186708 0% /run/user/0
- 192.168.241.24:/benet 52403200 4006912 48396288 8% /var/www/html

测试
- [root@localhost ~]#curl 192.168.241.22
- accp
- [root@localhost ~]#curl 192.168.241.23
- benet
- [root@localhost ~]#cd /etc/sysconfig/network-scripts/
- [root@localhost network-scripts]#ls
- ifcfg-ens33 ifdown-ppp ifup-ib ifup-Team
- ifcfg-lo ifdown-routes ifup-ippp ifup-TeamPort
- ifdown ifdown-sit ifup-ipv6 ifup-tunnel
- ifdown-bnep ifdown-Team ifup-isdn ifup-wireless
- ifdown-eth ifdown-TeamPort ifup-plip init.ipv6-global
- ifdown-ib ifdown-tunnel ifup-plusb network-functions
- ifdown-ippp ifup ifup-post network-functions-ipv6
- ifdown-ipv6 ifup-aliases ifup-ppp
- ifdown-isdn ifup-bnep ifup-routes
- ifdown-post ifup-eth ifup-sit
- [root@localhost network-scripts]#cp ifcfg-ens33 ifcfg-ens36
- [root@localhost network-scripts]#vim ifcfg-ens33
[root@localhost network-scripts]#vim ifcfg-ens36
- [root@localhost ~]#systemctl restart network
- [root@localhost ~]#ip a
- 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
- 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 qlen 1000
- link/ether 00:0c:29:51:4b:b5 brd ff:ff:ff:ff:ff:ff
- inet 192.168.241.11/24 brd 192.168.241.255 scope global ens33
- valid_lft forever preferred_lft forever
- inet6 fe80::de6f:32c8:5a64:a6b2/64 scope link
- valid_lft forever preferred_lft forever
- 3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
- link/ether 52:54:00:53:c1:45 brd ff:ff:ff:ff:ff:ff
- inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
- valid_lft forever preferred_lft forever
- 4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000
- link/ether 52:54:00:53:c1:45 brd ff:ff:ff:ff:ff:ff
- 5: ens36: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
- link/ether 00:0c:29:51:4b:bf brd ff:ff:ff:ff:ff:ff
- inet 12.0.0.1/24 brd 12.0.0.255 scope global ens36
- valid_lft forever preferred_lft forever
- inet6 fe80::8cb:b13b:40ac:6df1/64 scope link
- valid_lft forever preferred_lft forever
- [root@localhost ~]#route -n
- Kernel IP routing table
- Destination Gateway Genmask Flags Metric Ref Use Iface
- 0.0.0.0 192.168.241.11 0.0.0.0 UG 100 0 0 ens33
- 0.0.0.0 12.0.0.1 0.0.0.0 UG 101 0 0 ens36
- 12.0.0.0 0.0.0.0 255.255.255.0 U 100 0 0 ens36
- 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
- 192.168.241.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
- [root@localhost ~]#sysctl -a|grep ip_forward
- net.ipv4.ip_forward = 0
- net.ipv4.ip_forward_use_pmtu = 0
- sysctl: reading key "net.ipv6.conf.all.stable_secret"
- sysctl: reading key "net.ipv6.conf.default.stable_secret"
- sysctl: reading key "net.ipv6.conf.ens33.stable_secret"
- sysctl: reading key "net.ipv6.conf.ens36.stable_secret"
- sysctl: reading key "net.ipv6.conf.lo.stable_secret"
- sysctl: reading key "net.ipv6.conf.virbr0.stable_secret"
- sysctl: reading key "net.ipv6.conf.virbr0-nic.stable_secret"
- [root@localhost ~]#vim /etc/sysctl.conf
- [root@localhost ~]#sysctl -p
- net.ipv4.ip_forward_use_pmtu = 1

本地yum仓库搭建ipvsadm
- [root@localhost ~]#cd /etc/yum.repos.d/
- [root@localhost yum.repos.d]#ls
- CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo
- CentOS-CR.repo CentOS-Media.repo epel.repo
- CentOS-Debuginfo.repo CentOS-Sources.repo epel-testing.repo
- [root@localhost yum.repos.d]#mkdir bak
- [root@localhost yum.repos.d]#mv *.repo bak/
- [root@localhost yum.repos.d]#ls
- bak
- [root@localhost yum.repos.d]#vim local.repo
- [root@localhost yum.repos.d]#cat local.repo
- [local]
- name=local
- baseurl=file:///mnt
- gpgcheck=0
- [root@localhost yum.repos.d]#yum clean all
- [root@localhost yum.repos.d]#yum makecache
- [root@localhost yum.repos.d]#mount /dev/sr0 /mnt
- mount: /dev/sr0 写保护,将以只读方式挂载
- [root@localhost yum.repos.d]#yum install ipvsadm.x86_64 -y
- [root@localhost yum.repos.d]#ipvsadm-save > /etc/sysconfig/ipvsadm
- [root@localhost yum.repos.d]#systemctl start ipvsadm
- [root@localhost yum.repos.d]#systemctl status ipvsadm
- ● ipvsadm.service - Initialise the Linux Virtual Server
- Loaded: loaded (/usr/lib/systemd/system/ipvsadm.service; disabled; vendor preset: disabled)
- Active: active (exited) since 二 2024-03-05 17:19:22 CST; 5s ago
- Process: 10518 ExecStart=/bin/bash -c exec /sbin/ipvsadm-restore < /etc/sysconfig/ipvsadm (code=exited, status=0/SUCCESS)
- Main PID: 10518 (code=exited, status=0/SUCCESS)
-
- 3月 05 17:19:22 localhost.localdomain systemd[1]: Starting Initialise the...
- 3月 05 17:19:22 localhost.localdomain systemd[1]: Started Initialise the ...
- Hint: Some lines were ellipsized, use -l to show in full.
- [root@localhost yum.repos.d]#ipvsadm -C
- [root@localhost yum.repos.d]#ipvsadm -ln
- IP Virtual Server version 1.2.1 (size=4096)
- Prot LocalAddress:Port Scheduler Flags
- -> RemoteAddress:Port Forward Weight ActiveConn InActConn
- [root@localhost yum.repos.d]#ipvsadm -A -t 12.0.0.1:80 -s rr
- [root@localhost yum.repos.d]#ipvsadm -ln
- IP Virtual Server version 1.2.1 (size=4096)
- Prot LocalAddress:Port Scheduler Flags
- -> RemoteAddress:Port Forward Weight ActiveConn InActConn
- TCP 12.0.0.1:80 rr
- [root@localhost yum.repos.d]#ipvsadm -a -t 12.0.0.1:80 -r 192.168.241.22:80 -m
- [root@localhost yum.repos.d]#ipvsadm -a -t 12.0.0.1:80 -r 192.168.241.23:80 -m
- [root@localhost yum.repos.d]#ipvsadm -ln
- IP Virtual Server version 1.2.1 (size=4096)
- Prot LocalAddress:Port Scheduler Flags
- -> RemoteAddress:Port Forward Weight ActiveConn InActConn
- TCP 12.0.0.1:80 rr
- -> 192.168.241.22:80 Masq 1 0 0
- -> 192.168.241.23:80 Masq 1 0 0

[root@node2 ~]#vim /etc/sysconfig/network-scripts/ifcfg-ens33
- [root@node2 ~]#systemctl restart network
- [root@node2 ~]#route -n
- Kernel IP routing table
- Destination Gateway Genmask Flags Metric Ref Use Iface
- 0.0.0.0 192.168.241.11 0.0.0.0 UG 100 0 0 ens33
- 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
- 192.168.241.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
[root@node3 ~]#vim /etc/sysconfig/network-scripts/ifcfg-ens33
- [root@node3 ~]#systemctl restart network
- [root@node3 ~]#route -n
- Kernel IP routing table
- Destination Gateway Genmask Flags Metric Ref Use Iface
- 0.0.0.0 192.168.241.11 0.0.0.0 UG 100 0 0 ens33
- 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
- 192.168.241.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
- [root@localhost ~]#cat /proc/net/ip_vs
- IP Virtual Server version 1.2.1 (size=4096)
- Prot LocalAddress:Port Scheduler Flags
- -> RemoteAddress:Port Forward Weight ActiveConn InActConn
- TCP 0C000001:0050 rr
- -> C0A8F117:0050 Masq 1 0 0
- -> C0A8F116:0050 Masq 1 0 0
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。