天天看點

lvs-nat,lvs-dr模型建構phpMyAdmin

  1.使用NAT模型的TCP協定類型的lvs服務負載均衡一個php應用,如Discuz!論壇或者phpMyAdmin;

  NAT模型的lvs叢集的建構是基于網絡位址轉換進行的;是以首先必須要有至少三台主機,配置其IP位址;

  ①

  Directory主機:

           172.16.72.5(面向外網IP)

           192.168.72.5(面向内網RS的IP)

  RS1主機:

       192.168.72.6(RIP1)

  設定預設網關:

  RS2主機:

       192.168.72.7(RIP2)

  配置RS主機通往Directory的網關,為什麼添加網關,詳情請看上一篇部落格!

  ②在三台主機上安裝httpd服務

   yum -y install httpd

   配置RS1的虛拟主機

   配置RS2的虛拟主機

   安裝RS的php-fpm與mariadb-server服務

   yum -y install php-fpm mariadb-server

   對php-fpm的配置檔案進行修改,修改為監聽本機(預設就是監聽本機的,剛下載下傳的朋友可以不用改了)

   ③設定Directory

   首先檢查一下Directory主機是否加載IPVS的核心子產品

   有則已加載

   下載下傳lvs的使用者空間指令ipvsadm,用于設定ipvs的規則指令

   yum install -y ipvsadm

   設定叢集服務規則:

   -t:表示tcp服務;後面的IP位址與端口表示的是這次叢集Directory的VIP與相關服務端口;

   -s:表示使用的算法,這裡算法表示為rr算法,算法詳情請見上一篇部落格;

   -p:設定長連接配接,不設定無法正常啟動;

   添加RS管理規則:

   -r:為指定的RIP;

   最後設定核心轉發功能,否則Directory無法轉發

   将phpMyAdmin導入兩台RS主機中,解壓;

   配置MySQL表與表對應的使用者權限

   RS1:

   RS2:

   配置php-fpm:

   建立其session目錄,存放會話,并将其屬主屬組更改為apache

   通過用戶端通路:

   因為是rr算法,,從第一台RS通路,是以其使用者密碼為wjq,123456

  經過一段時間的長連接配接再次通路:

  2.使用DR模型的FWM類型的lvs服務負載均衡一個php應用,如Discuz!論壇或者phpMyAdmin;

  DR模型的原理上篇部落格已經講得很清楚了,在這裡就不多說了;

  首先配置DR排程器:

  因為DR模型的直連路由架構,是以DR排程器的VIP與DIP在同一個端口,在這裡将VIP作為從接口,将DIP作為主接口,友善後續解決單點故障;

   VIP的配置方式:

   ifconfig eno16777736:0 172.16.72.5 netmask 255.255.255.255 broadcast 172.16.72.5 up

   設定FWH規則:

   規則模式同ipvs相似,不同在于其需要在封包進入核心空間後設定防火牆标簽,然後由設定的FWH規則根據其标簽确定使用哪個叢集服務,使用哪種算法發往哪台RS;

   設定防火牆标簽需在mangle表的PREROUTING鍊上設定;

    #iptables -t mangle -A PREROUTING -p tcp --dport 80 -d 172.16.72.5 -j MARK --set-mark 10

    注意:目标IP設定為VIP的,--set-mark設定的為防火牆标簽,設定的值随意,80端口則為通路VIP的的那個端口服務; 

    設定基于FWH的叢集服務:

    #ipvsadm -A -f 10 -s rr

   最後設定核心轉發功能!!

   DR模型的排程器配置完畢!

   配置RS:

    首先需要配置一個與DIP同網段的RIP,并将其arp_ignore與arp_announce設定為1與2

    arp_ignore常用的三種等級:

     0:預設值,對于任何網絡的通路都會回應;

     1:對不是通路本網絡接口的封包不予以回應;

     2:對不是通路本網絡接口的保溫不予以回應,并且保證來訪IP位址與該接口的IP位址在同一子      網;

     注意:一般用的是1這個級别;

    arp_announce常用的三種級别:

     0:預設值,将本機所有接口的資訊向所有接口所連接配接的網絡中通告;

     1:盡量避免向本接口不同網絡中的其他接口通告;

     2:絕對避免向非本網絡的主機通告;

    設定方式:在/proc/sys/net/ipv4/conf/all/arp_ignore

            /proc/sys/net/ipv4/conf/all/arp_announce

            /proc/sys/net/ipv4/conf/lo/arp_ignore

            /proc/sys/net/ipv4/conf/lo/arp_announce

            使用輸出重定向的方式寫入

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

    配置RS的VIP,再環回接口的标簽上配置

    如:

    配置方法:#ifconfig lo:0 172.16.72.5 netmask 255.255.255.255 broadcast 172.16.72.5 up

    第二台RS配置方法同上;

    将phpMyAdmin壓縮包導入/var/www/html中,解壓,配置php-fpm(同nat模型的配置一樣),配置    Mariadb(同nat模型配置一樣)

    直接通路:

    通路第一次,因為使用的是rr算法

    經過了一段時間的持久連接配接,再次通路時:

本文轉自 wujunqi1996 51CTO部落格,原文連結:http://blog.51cto.com/12480612/1974885