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.www58058.com/78732

(1)
Immortals、zcyImmortals、zcy
上一篇 2017-06-28 20:15
下一篇 2017-06-29 14:32

相關推薦

  • 計算機的組成和其功能

    圖:計算機組成架構 計算機由硬件和軟件組成 硬件部分: CPU:又稱中央處理器,整個系統最高執行單元,執行各種運算,控制電腦自動協調地完成各種操作。 主板:它把計算機的各個部件緊密的連接在一起,各個部件通過主板進行數據傳輸,計算機重要的“交通樞紐”都在主板上,他的工作穩定性影響整機的工作穩定性。因同CPU的插腳和性能不同,所以針對不同的CPU也有不同的主板?!?/p>

    Linux干貨 2016-08-08
  • N27—第十周作業

    N27_第十周作業 1、請詳細描述Centos系統的啟動流程(詳細到每個過程系統做了哪些事情) 詳情請參考http://www.www58058.com/85713 2、為運行于虛擬機上的Centos 6添加一塊新的硬盤,提供兩個主分區; (1)為硬盤新建兩個主分區;并為其安裝grub (2)為硬盤的第一個主分區提供內核和ramdisk文件;為第二個分區提供…

    Linux干貨 2017-10-21
  • 馬哥教育網絡班21期-第7周課程練習

    第7周課程練習 創建一個10G分區,并格式為ext4文件系統; 添加一塊硬盤sdb 要求其block大小為2048,       預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl; # mke2fs -t ext4 -b 2048 -L 'MYDATA' -m 2 # mount -o ac…

    Linux干貨 2016-10-09
  • nl命令使用解析

    nl    命令功用: nl – number lines of files 顯示文件內容,并列出行號   命令樣式: nl [OPTION]… [FILE]…   命令選項: -b:正文行號,參數為樣式style -n:行號格式,參數為格式format -w:設定行號所占位數,參數為…

    Linux干貨 2016-10-20
  • ansible批量部署主從DNS

    什么是DNS服務DNS的解析流程分析遞歸查詢迭代查詢DNS相關的術語說明生產環境中的應用Bind9常見配置說明使用ansible自動部署主從DNS 什么是DNS服務 DNS(Domain Name Service)是Internet上用于名稱解析的服務,簡單來說,就是將域名轉換為IP地址的服務(正向解析),也可以用于將IP地址解析為對應的…

    Linux干貨 2016-06-29
  • N24-vt.lee-學習宣言

    學習宣言:  好好學習 天天向上!!!  2016-10-26

    Linux干貨 2016-10-26
欧美性久久久久