热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

DR模式_虚拟集群LVS及DR模式搭建

本文由编程笔记#小编为大家整理,主要介绍了虚拟集群LVS及DR模式搭建相关的知识,希望对你有一定的参考价值。LVS(虚拟集群
本文由编程笔记#小编为大家整理,主要介绍了虚拟集群LVS及DR模式搭建相关的知识,希望对你有一定的参考价值。


LVS(虚拟集群Linux Virtual Server

LVS-NAT:地址转换,数据包来回都要经过NAT转换,所以Director Server(即LVS服务器)将成为系统瓶颈。使用NAT模式将需要两个不同网段的IP,一个IP接受外部请求服务,一般为外网ip,此IP称为VIP,一个IP与后realserver同一地址段,负责相互通信,称为DIP。后端realserver的网关地址需指向DIP。同时需开启linux内核的数据包转发功能。

             技术分享图片

 

LVS-TUN:隧道 ,LVS/TUN与 LVS/DR 类似。只是在报文外面再加一层IP封装,整个过程比LVS/DR模式多一次报文的封装/解封过程。LVS/DR只支持本地网络,LVS/TUN却可以跨机房。

             技术分享图片

 

LVS-DR: 直接路由,此种方式是最常用的方式,

       所有的Director和RealServer都在同一个物理网络中(交换机)并且都只有一块网卡。

 技术分享图片

 

常用的几种调度:

1. 轮叫调度 rr                    所有real_server轮流

2. 加权轮叫 wrr                 按照性能比例,好的多分,差的少分

3. 最少链接 lc                    给链接数少的分

4. 加权最少链接 wlc          按照性能比例,好的多分,差的少分,链接数也要保持比例

 

 

5. 基于局部性的最少连接调度算法 lblc

6. 复杂的基于局部性最少的连接算法 lblcr

7. 目标地址散列调度算法 dh

8. 源地址散列调度算法 sh

 

 

用DR模式配置(必须同一网段)

       首先准备构建集群的三台设备

       direct_server:192.168.254.17

       real_server1:192.168.254.18

       real_server2:192.168.254.19

       拟定vip为:192.168.254.250     

      

direct_server:

       # yum -y install ipvsadm

       # yum -y install httpd*

       # ipvsadm -C

       # ipvsadm -A -t 192.168.11.250:80 -s rr                

       # ipvsadm -a -t 192.168.11.250:80 -r 192.168.11.138:80 -g 

       # ipvsadm -a -t 192.168.11.250:80 -r 192.168.11.140:80 -g 

       # ifconfig ens33:0 192.168.11.250 broadcast 192.168.11.250 netmask 255.255.255.255 up       在ens33的子网卡添加一个虚拟ip,保证服务可以访问到VIP;

       # route add -host 192.168.11.250 dev ens33:0       

         添加一个路由通过ens33来访问Vip 192.168.254.250

       # vim /dev/sysconfig/ipvsadm  随便编辑一下      

       # ipvsadm -Ln --stats  -L显示内核虚拟服务器表

                             --zero  清空流量      -n 输出IP地址和端口的数字形式

 

                            /# -a添加          -t 添加一个虚拟IP的tcp 协议

                            /# -C:–clear 清除内核虚拟服务器表中的所有记录

                            /# -A添加一个虚拟IP  -s调度器

                            /# -r real_server         -g DR模式

                            /# ens33:0 是子网卡,设置第二个ip

                            /# broadcast 广播

                            /# ipvsadm文件缺失后会导致ipvsadm start失败

real_server:

# yum -y install httpd*

# ifconfig lo:0 192.168.11.250 broadcast 192.168.11.250 netmask 255.255.255.255 up   

       # route add -host 192.168.11.250 dev lo:0                    

                            /#loopback网卡,默认地址127.0.0.1

       # 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

       # vim /etc/www/html/index.html

             

this is 138(或者140) host

       # systemctl start httpd.service

 

测试:

用第四台虚拟机

# curl 192.168.11.250    出现下图情况即成功

 技术分享图片

 

也可以windows装curl包后,在命令行输入上述命令测试

      

       arp_ignore:定义接收到ARP请求时的响应级别     

              0:默认,只用本地配置的有响应地址都给予响应      

              1:仅仅在目标IP是本地地址,并且是配置在请求进来的接口上的时候才给予响应

                     (仅在请求的目标地址配置请求到达的接口上的时候,才给予响应)

       arp_announce:定义将自己的地址向外通告时的级别      

              0:默认,表示使用配置在任何接口的任何地址向外通告      

              1:尽量仅向目标网络通告与其网络匹配的地址      

              2:仅向与本地接口上地址匹配的网络进行通告      

 

 

tun隧道模式

 

       lvs-server:

       ifconfig tunl0 192.168.254.250 broadcast 192.168.254.250 netmask 255.255.255.0 up

       route add -host 192.168.254.250 dev tunl0

       ipvsadm -A -t 192.168.254.250:80 -s rr

       ipvsadm -a -t 192.168.254.250:80 -r 192.168.254.18 -i

       ipvsadm -a -t 192.168.254.250:80 -r 192.168.254.19 -i

 

 

       real server:

       ifconfig tunl0 192.168.254.250 netmask 255.255.255.255 broadcast 192.168.254.250 up

       route add -host 192.168.254.250 dev tunl0

       echo "1" >/proc/sys/net/ipv4/conf/tunl0/arp_ignore

       echo "2" >/proc/sys/net/ipv4/conf/tunl0/arp_announce

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

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

       echo "0" >/proc/sys/net/ipv4/conf/tunl0/rp_filter

       echo "0" > /proc/sys/net/ipv4/conf/all/rp_filter

 

       0:不开启源地址校验。

       1:开启严格的反向路径校验。对每个进来的数据包,校验其反向路径是否是最佳路径。

              如果反向路径不是最佳路径,则直接丢弃该数据包。

       2:开启松散的反向路径校验。对每个进来的数据包,校验其源地址是否可达,即反向路径是否能通(通过任意网口),

              如果反向路径不同,则直接丢弃该数据包。


推荐阅读
  • 本文详细介绍了如何在 Linux 系统上安装 JDK 1.8、MySQL 和 Redis,并提供了相应的环境配置和验证步骤。 ... [详细]
  • 本文详细介绍了在 Ubuntu 系统上搭建 Hadoop 集群时遇到的 SSH 密钥认证问题及其解决方案。通过本文,读者可以了解如何在多台虚拟机之间实现无密码 SSH 登录,从而顺利启动 Hadoop 集群。 ... [详细]
  • 西北工业大学作为陕西省三所985和211高校之一,虽然在农业和林业领域不如某些顶尖院校,但在航空航天领域的实力尤为突出。该校的计算机科学专业在科研和教学方面也具有显著优势,是考研的理想选择。 ... [详细]
  • ZeroMQ在云计算环境下的高效消息传递库第四章学习心得
    本章节深入探讨了ZeroMQ在云计算环境中的高效消息传递机制,涵盖客户端请求-响应模式、最近最少使用(LRU)队列、心跳检测、面向服务的队列、基于磁盘的离线队列以及主从备份服务等关键技术。此外,还介绍了无中间件的请求-响应架构,强调了这些技术在提升系统性能和可靠性方面的应用价值。个人理解方面,ZeroMQ通过这些机制有效解决了分布式系统中常见的通信延迟和数据一致性问题。 ... [详细]
  • HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送www方式的数据。HTTP协议采用了请求响应模型。客服端向服务器发送一 ... [详细]
  • 本文总结了《编程珠玑》第12章关于采样问题的算法描述与改进,并提供了详细的编程实践记录。参考了其他博主的总结,链接为:http://blog.csdn.net/neicole/article/details/8518602。 ... [详细]
  • 在 CentOS 6.4 上安装 QT5 并启动 Qt Creator 时,可能会遇到缺少 GLIBCXX_3.4.15 的问题。这是由于系统中的 libstdc++.so.6 版本过低。本文将详细介绍如何通过更新 GCC 版本来解决这一问题。 ... [详细]
  • Linux下MySQL 8.0.28安装指南
    本文详细介绍了在Linux系统上安装MySQL 8.0.28的步骤,包括下载数据库、解压数据包、安装必要组件和启动MySQL服务。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 大家好,我是李白。本文将分享一个从零开始的全栈项目,涵盖了设计、前端、后端和服务端的全面学习过程。通过这个项目,我希望能够帮助初学者更好地理解和掌握全栈开发的技术栈。 ... [详细]
  • window下的python安装插件,Go语言社区,Golang程序员人脉社 ... [详细]
  • 在 Ubuntu 中遇到 Samba 服务器故障时,尝试卸载并重新安装 Samba 发现配置文件未重新生成。本文介绍了解决该问题的方法。 ... [详细]
  • 基于Linux开源VOIP系统LinPhone[四]
    ****************************************************************************************** ... [详细]
  • Keepalived 提供了多种强大且灵活的后端健康检查机制,包括 HTTP_GET、SSL_GET、TCP_CHECK、SMTP_CHECK 和 MISC_CHECK 等多种检测方法。这些健康检查功能确保了高可用性环境中的服务稳定性和可靠性。通过合理配置这些检查方式,可以有效监测后端服务器的状态,及时发现并处理故障,从而提高系统的整体性能和可用性。 ... [详细]
  • 利用ZFS和Gluster实现分布式存储系统的高效迁移与应用
    本文探讨了在Ubuntu 18.04系统中利用ZFS和Gluster文件系统实现分布式存储系统的高效迁移与应用。通过详细的技术分析和实践案例,展示了这两种文件系统在数据迁移、高可用性和性能优化方面的优势,为分布式存储系统的部署和管理提供了宝贵的参考。 ... [详细]
author-avatar
soseast9975
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有