lvs-dr

        通过为请求报文重新封装一个MAC首部进行转发,源MAC是DIP所在的接口的MAC,目标MAC是某挑选出的RS的RIP所在接口的MAC地址;源IP/PORT,以及目标IP/PORT均保持不变;
    VIP通常配置在lo:0 网卡上

Director和各RS都得配置使用VIP;

DR模型注意内容:

1、前端路由器将目标IP为VIP的请求报文发往Director

    有以下三种方法实现:

        (a) 在前端网关做静态绑定;
        (b) 在RS上使用arptables;
        (c) 在RS上修改内核参数以限制arp通告及应答级别;
                 arp_ignore 限制响应级别

                0:默认值,表示可使用本地任意接口上配置的任意地址进行响应;
                1: 仅在请求的目标IP配置在本地主机的接收到请求报文接口上时,才给予响应;

             arp_announce  限制通告级别

                0:默认值,把本机上的所有接口的所有信息向每个接口上的网络进行通告;
                1:尽量避免向非直接连接网络进行通告;
                2:必须避免向非本网络通告;

2、RS的RIP可以使用私网地址,也可以是公网地址;RIP与DIP在同一IP网络;RIP的网关不能指向DIP,以确保响应报文不会经由Director;

3、同时RS跟Director要在同一个物理网络;

4、请求报文要经由Director,但响应不能经由Director,而是由RS直接发往Client;

5、不支持端口映射;

大致拓扑图如下:

lvs-dr

工作流程:

    客户端发送对VIP的请求,通过网络路由和交换机,将请求发送到Director,Director接受请求,经过负载均衡算法选取一台RS,将RIP所在的网卡的MAC地址作为目标MAC,在局域网中进行ARP广播,指定的RS收到请求,进行解析,之后将响应直接回馈给Client,不经过Director。


实验,负载均衡wordpress:

    准备: VIP : 172.16.0.66

        Director: 172.16.251.73

        RS1: 172.16.252.137 

        RS2: 172.16.253.202

RS1、2中:

          先搭建amp环境yum install -y httpd php php-mysql php-mbstring php-mcrypt mariadb-server(最好rs共享mysql和使用分布式共享其他资源,使得访问的数据相同,在这里先不考虑,详情可查看之前的博客)

 配置数据库:

    vim /etc/my.cnf.d/server.cnf

lvs-dr

systemctl start  mariadb.service

 mysql_secure_installation 加强数据库安全性,为数据库设置管理员密码,并设定不可匿名访问。

mysql -u root -p password 登录数据库创建,名为wordpress的数据库

            CREATE DATABASE wordpress;

 编辑wordpress配置文件:

        cp wp-config-sample.php wp-config.php
        vim wp-config.php

    lvs-dr

chmod -R a+w wordpress/

配置httpd:

    在/var/www/html/下创建wordpress的软连接 ln -s 源文件 目标文件

    vim /etc/httpd/conf.d/test.conf 根据需要进行配置

lvs-dr

启动httpd服务 systemctl start httpd.service

配置RS网卡:ifconfig lo:0 172.16.0.66 netmask 255.255.255.255 broadcast 172.16.0.66 up

        echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
        echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
        echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
        echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

        route add -host 172.16.0.66 dev lo:0

Directory上:

        ifconfig ens33:0 172.16.0.66 netmask 255.255.255.255 broadcast 172.16.0.66 up

yum install -y ipvsadm

ipvsadm -A -t 172.16.0.66:80 -s rr

ipvsadm -a -t 172.16.0.66:80 -r 172.16.252.137 -g

ipvsadm -a -t 172.16.0.66:80 -r 172.16.253.202 -g

测试:

    在另外一台172.16网域内的主机上

lvs-dr

在RS主机中 tail /var/log/httpd/access_log

lvs-dr



原创文章,作者:Immortals、zcy,如若转载,请注明出处:http://www.178linux.com/78732

(1)
Immortals、zcyImmortals、zcy
上一篇 2017-06-28
下一篇 2017-06-29

相关推荐

  • raid 0磁盘阵列

    raid0 1  先给sdb磁盘和sdc磁盘分区 [root@localhost ~]# fdisk /dev/sdb    Command (m for help): n Command action   e   extended   p   primary part…

    Linux干货 2017-04-25
  • 搭建属于自己的DNS

    1、搭建主renzituo.com服务器     ①、在192.168.10.4主机上安装bind程序             yum -y install bind   &nbs…

    2017-04-16
  • Linux基础 & bash基础特性

    Q1:描述计算机的组成及其功能。 计算机的组成:运算器、控制器、存储设备、输入设备、输出设备。 运算器: 运算器是计算机中执行各种算术和逻辑运算操作的部件。运算器的基本操作包括加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、比较和传送等操作,亦称算术逻辑部件。 存储设备: 计算机总是需要记录与读取数据的,而这些数据当然不可能每次都由用户经过键盘…

    Linux干货 2016-10-30
  • 网络班N22期第一周博客作业

    一、计算机的组成及功能。  计算机是由硬件系统和软件系统两部分组成的。 1、硬件系统包含:    (1)、主板。又叫主机板(mainboard)、系统板(systemboard)或母板(motherboard),它安装在机箱内,是微机最基本的也是最重要的部件之一,主板一般为矩形电路板,上面安装了组成计算机的主要电路系统,一般有B…

    Linux干货 2016-08-15
  • OpenSSL 及创建私有CA

    OpenSSL 及创建私有CA OpenSSL OpenSSL,是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。 接下来对openssl基本命令进行介绍openssl 非常强大其子命令很多,这里只是对完成某些操作进行部分解释openssl 的基本格式为openss…

    2017-09-11
  • 2016全球运维大会,优云蒋君伟演讲“CMDB+自动化的管理融合”成一大亮点

    2016全球运维大会于9月23日-24日在上海盛大开幕。作为国内运维行业的重量级大会,优云产品总监蒋君伟在自动化专场与来自全国各地的运维同行一起探讨、分享业内自动化运维的最佳实践。现场情绪热烈,气氛高涨,成为了本届全球运维大会的一大亮点。 全新梳理自动化与CMDB的融合之道 全球运维大会当天,运维自动化专场很多大牛针对自动化运维管理中的CMDB进行了激烈的讨…

    Linux资讯 2016-12-05