Shunze 學園 >資訊設備專區 >Array > 《分享》APV的Triangle Proxy Mode 哈囉,還沒有註冊或者登入。請你[註冊|登入]
« 上一篇主題 顯示成列印模式 | 增加到我的最愛
發表新主題 發表回覆
作者
主題
shunze
工友伯伯


註冊日期: 2002 04
來自: 潮汐終止之地
文章: 2251

shunze 離線
《分享》APV的Triangle Proxy Mode引用回覆 編輯/刪除文章 搜尋由  發表的其他文章 回報給版主 IP 位置 回此頁最上方

最近在建置一個大型監視系統的案子。
環境中的影像系統有著極大的流量需求,所以業主特別架設了6台影像主機進行分流服務。
但又擔心居中分流的APV在效能上無法負荷這麼大的流量,
因此有了連線request由APV做分流,但response則由後端主機直接回應,希望以這樣不對稱的架構,來避開效能瓶頸的問題。



這種架構在Array APV上稱為 Triangle Proxy (三角傳輸模式),
設定上一如Array一貫所強調的特色 -“簡單”。
以下我們就來看看這種Triangle Proxy Mode設定上有多簡單!


在設定Triangle Proxy Mode之前,有些重點我們必需先知道。
首先三角模式只支援TCPUDPIP這三種類型的服務,不支援L7的應用程式級別的服務;
再來就是後端真實服務主機必需啟用loopback網卡,並設定上VIP的IP位址,
這樣後端真實主機在回應時,才能以VIP的IP進行回覆,維持來回IP的對稱性。


在Triangle Proxy Mode的設定上,基本上跟預設的System Mode並無太大差別,
一樣要設real server、Group與分流方式,一樣要設定VIP。
唯一的差別,就是在Virtual Services中,要將模式圈選為“Operation as Triangle Proxy”,這樣就完成了!



比較有問題的會是後端真實主機的loopback網卡設定。

  • Windows 2008 R2 Loopback網卡設定
    我們以上述環境的第一台Server為例,示範如何在Windows 2008 R2中建立Loopback網卡。
    在Windows Server上要設定Loopback網卡,請在裝置管理員中點選網路卡後,按下執行,再點“新增傳統硬體裝置”。



    然後手動安裝選取的硬體,



    選擇網路介面卡。



    再選Microsoft的Microsoft Loopback Adapter後,一步步依指示完成安裝即可。





    完成後,到網路連線中設定此loopback網卡的IP為VIP的IP位址。





    由於跟實體網卡都擁有GW,所以會有多重閘道器的提示,忽略它,按下“是”即可。



    完成了嗎?
    還沒喔∼就差最後一步而已。
    在Windows 2008上還需要設定以下指令才能正常運作喔。
    netsh interface ipv4 set interface "net" weakhostreceive=enabled
    netsh interface ipv4 set interface "loopback" weakhostreceive=enabled
    netsh interface ipv4 set interface "loopback" weakhostsend=enabled

    其中netloopback分別為主機的正常網卡與loopback網卡。
    您可以將網卡更名為較易識別的名稱來輸入,也可以直接以中文網卡名稱來輸入。



    設定完成後,就可以開始測試。
    您會發現,在這種模式下,後端真實主機看到的前端使用者IP不再是做為proxy的APV IP,
    而是前端使用者自己的IP喔∼



  • Linux Loopback網卡設定
    我們以上述環境的第二台Server為例,示範如何在Linux中建立Loopback網卡。
    在Linux上要設定Loopback網卡方法很多,但透過以下指令都只能建立暫時性的Loopback網卡,重開機後就會消失...
    ifconfig lo:0 192.168.10.27 netmask 255.255.255.255 up
    ip addr add 192.168.10.27 label lo:0 dev lo scope global

    要建立永久性網卡,請透過編輯Loopback網卡的內容來建立,CentOS的網卡路徑如下。
    /etc/sysconfig/network-scripts/ifcfg-lo

    依示範環境需求,加入以下藍字的lo:0設定。
    DEVICE=lo
    IPADDR=127.0.0.1
    NETMASK=255.0.0.0
    NETWORK=127.0.0.0
    # If you're having problems with gated making 127.0.0.0/8 a martian,
    # you can change this to something else (255.255.255.255, for example)
    BROADCAST=127.255.255.255
    ONBOOT=yes
    NAME=loopback

    DEVICE=lo:0
    IPADDR=192.168.10.27
    NETMASK=255.255.255.255
    ONBOOT=yes

    另一系列Linux Ubuntu的網卡路徑如下。
    /etc/network/interfaces

    依示範環境需求,加入以下藍字lo:0的設定。
    # The loopback network interface
    auto lo
    iface lo inet loopback

    auto lo:0
    iface lo:0 inet static
    address 192.168.10.27
    netmask 255.255.255.255


    # The primary network interface
    auto eth0
    iface eth0 inet static
    address 192.168.10.15
    netmask 255.255.255.0
    gateway 192.168.10.1
    dns-nameservers 192.168.10.1

    然後停用Loopback所依附的實體網卡的ARP回應,
    以順子的環境來說實體網卡是eth0,停用ARP回應指令如下。
    net.ipv4.conf.eth0.arp_ignore = 1
    net.ipv4.conf.eth0.arp_announce = 2

    這邊要特別注意的是,Loopback的子網路遮罩一定要打 255.255.255.255
    而不是環境中的真實子網路遮罩長度 255.255.255.0。

    否則不僅三角傳輸模式無法生效,連帶的Real Server的實體IP 192.168.10.15也會無法提供連入管理。
    (因為255.255.255.0的子網路遮罩長度涵蓋了真實網卡的IP,導致無法對外回應,全都由Loopback取而代之了!)

    重開機讓設定生效,就可以進行測試了∼
    首先檢視網卡的配置,看看Loopback網卡 lo:0 是否出現。



    使用者端開啟瀏覽器,連結VIP服務位址192.168.10.27應該可正常提供服務。
    Linux上也可以看到提供服務的主機IP是VIP 192.168.10.27,
    而前端發起連線的IP同樣是使用者真實IP,而不是做為proxy的APV IP。



    Triangle Proxy Mode於Linux上的設定到此大功告成∼



參考資料
Direct Routing Aka. Direct Server Return...Loopback Adpter
F5-Npath-routing



♥順子老婆的網拍,請多關照∼

If you don't like something, change it.
If you can't change it, change your attitude.
Don't complain!




2015-11-02, 17:51 shunze 的個人資料 把 shunze 加入好友列表 發送Email給 shunze 瀏覽 shunze 的網站 MSN : shunze@gmail.com
  « 上一篇主題
發表新主題 發表回覆
跳到:

Powered by: Burning Board 1.1.1 2001 WoltLab GbR