热门标签 | 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:开启松散的反向路径校验。对每个进来的数据包,校验其源地址是否可达,即反向路径是否能通(通过任意网口),

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


推荐阅读
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 本文详细介绍了cisco路由器IOS损坏时的恢复方法,包括进入ROMMON模式、设置IP地址、子网掩码、默认网关以及使用TFTP服务器传输IOS文件的步骤。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
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社区 版权所有