轉自《網絡運維與管理》201406-11html
配置F5交換機的問題在於,與平時所學的交換機、路由器思路徹底不一樣,拿到設備後,徹底不知如何下手。web
網絡拓撲圖以下:算法
兩臺web服務器對外提供服務,Ip地址爲:192.168.192.10-20/24,外網地址192.168.27.100的80端口進行負載均衡的訪問。瀏覽器
F5配置最簡單負載均衡,須要配置的參數有Node(節點)、Pool(資源池)、和Virtual Server(虛擬服務器),它們的關係式,先配置Node,而後配置VS。Node是最基本的定義,如每一個服務器就是一個Node,負載均衡Pool是一組Node接收和處理流量的一組設備,如web服務器集羣。BIGIP系統將客戶機流量請求發送到Pool成員中的任一服務器上(Node),而後將Pool與BIGIP系統中的Virtual server相關聯,最後,BIGIP系統將進入Virtual Server中流量傳輸到Pool成員,Pool再傳達給Node。服務器
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%網絡
Virtual Server重要參數併發
F5的核心就是Virtual Server。負載均衡
一、VS Type運維
在配置VS時,VS的Type有Performance L四、Standard VS、Forwarding IP 和 Fast Http。通常企業中常見的是前三種,考慮到儘可能減小F5負載均衡引入對應用系統的影響,在可能的狀況下,建議優先選用Performance L4類型的Virtual Server。在一些必須使用Standard的狀況下,必然須要在F5設備上啓用7層功能,包括Cookie會話保持、Session ID會話保持、Header會話保持、基於交易的長鏈接拆分等應用場景。另外,在應用系統須要使用F5實現Syn攻擊防禦時,能夠採用 Standard Virtual Server。在明確後臺應用基於HTTP協議時,建議在Standard的基礎上關聯BIGIP內置的標準HTTP Profile。對於非HTTP協議的應用,須要在VS上關聯的其餘Profile或者iRules根據實際的業務需求進行肯定。tcp
下面對每一個VS的類型進行深刻的說明:
第一種: Performance L4 模式(4層數據的轉發)
Performance L4模式如圖2所示,其中TMM只是負責客戶端鏈接的分配和轉發,不改變TCP鏈接中的任何參數,即客戶端鏈接與服務器攔截是1:1的關係。通常企業中常是這種模式,由於轉發速率快。但在一些7層數據包的狀況下,如HTTP,建議使用Standard VS模式。
第二種 Standard VS模式
在這種模式下,客戶端與服務器端的TCP鏈接徹底獨立,同時F5默認狀況下以客戶端源IP和後臺創建鏈接,在打開SNAT的狀況下用SNAT地址和後臺創建鏈接。Standard VS的端口永遠對外開放,不管後臺是否有服務器在工做。也就是說,若是VS開放的端口是80,在Node A和Node B都down的狀況下,虛IP的80端口仍是能夠telnet通的,只不過網頁訪問不了了。
第三種: Forwarding IP
通常用於內外網鏈接,沒有Pool Member,轉發徹底取決於本地路由。默認狀況下,F5沒有路由功能,須要創建一個全0的VS去開啓F5的路由功能,其中,若是想控制只有內網能夠訪問外網,而外網不能訪問內網,能夠經過調整「VLAN and Tunnel Traffic」參數來實現。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2. VS Profile
VS Profile 是依賴於VS的存在,是對於VS的流量進行格式化處理。若是VS上配置了TCP Profile,那麼對於UDP的鏈接,F5是不會接受的。
tcp參數中Idel Timeout值(多長時間鏈接裏面沒有數據流量時就刪除鏈接表)必需要與服務器相配合,不然會出現錯誤。若是F5上此值爲150s,而IIs服務器爲300s,就會產生大量錯誤。
三、 VS裏面的Address Translation 和 Port Translation ,默認狀況下都是 enabled。
Address Translation的含義是若是外面訪問的主機和VS IP不同,就須要開啓此參數,好比VS IP地址是192.168.27.100,真實機器爲192.168.27.10,那麼須要開啓Address Translation,而企業應用中,這參數通常是開啓的,除非特殊的上面介紹的Fowarding IP模式不須要開啓。
Port Translation 參數的意思是VS地址是192.168.27.100的8080端口對應真實地址的80端口,那麼須要開啓Port Translation
四、SNAT Pool ???
內網須要訪問公網進行NAT轉換。當配置SNAT AutoMap的時候,表示請求從哪一個VLAN發出去,則SNAT的源地址爲VLAN上的SelfIp,好比外網用戶(192.168.27.1)訪問內網服務器(192.168.192.10),在開啓SNAT AutoMap的狀況下,訪問的源IP將轉變爲F5的內網SelfIP(192.168.192.2)去訪問。當一個vlan上有多個SelfIP存在的時候,SNAT的源地址是在多個SelfIP之間輪詢。
五、會話保持
在大多數電子商務的應用系統或者須要進行用戶身份認證的在線系統中,一個客戶與服務器常常通過屢次的交互過程才能完成一筆交易或者是一個請求的完成。因爲這幾回交互過程是密切相關的,服務器在進行這些交互過程的某一個交互步驟時,每每須要瞭解上一次交互過程的處理結果,服務器進行下一步操做時須要,就要求全部這些相關的交互過程都由一臺服務器完成,而不能被負載均衡器分散到不一樣的服務器上。
F5 BigIP支持多種的會話保持方式,其中包括:簡單會話保持(源地址會話保持)、HTTP Header的會話保持,基於SSL Session ID的會話保持,I-Rules會話保持以及基於HTTP Cookie的會話保持,此外還有基於SIP ID以及Cache設備的會話保持等。下面重點介紹一下基於源地址會話保持和基於HTTP Cookie的會話保持。
源地址會話保持就是基於訪問的源地址,若是一直是該IP在訪問,則一直定向到一臺服務器。比較重要的是會話保持時間,默認是180s,能夠根據具體須要進行修改。
可是存在的問題就在於當多個客戶是經過代理或者地址轉換的方式來訪問服務器時,因爲都分配到同一臺服務器上,會致使服務器之間的負載嚴重失衡。另一種狀況是客戶機數量不多,但每一個客戶機都會產生多個併發訪問,對這些併發訪問也要求經過負載均衡器分配到多個服務器上,這時,基於客戶機源地址的會話保持方法也會致使負載均衡失效。
這裏就出現了第二種會話保持的功能基於Cookie的會話保持,這個經常使用於HTTP/HTTPs複雜均衡,即一個用戶訪問一個網站,在客戶沒有清除Cookie的狀況下,F5總會命中同一臺服務器,這就防止了好比用戶訪問網銀時,須要跳轉頁面時,跳轉到另一臺服務器上,致使交易失敗的狀況發生。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
六、 One Connect
在使用VS Standard模式,而且通常和Cookie的會話保持一塊兒使用時,One Connect實現鏈接聚合下降服務器的總鏈接數。
七、HA 介紹
實現Redundant機制。
兩臺BigIP 之間的通訊機制能夠共同兩種方式進行:
串口數據線方式:經過互相檢測對端的心跳信號,來判斷對端設備的工做狀態,在每一臺BigIP設備內,都有專用的WatchDog芯片來產生心跳信號和檢測對端的心跳信號。
網絡數據線方式:兩臺BigIP距離較遠的時候採用這種方式。經過System->High Availability 進行修改。當採用網絡數學線方式進行心跳線時,須要開啓Network Failover,注意Peer Management Address 須要填寫Management端口的IP,無論此端口是否連線,而實際控制HA的地址能夠在Unicast進行填寫。
在啓用Network Failover後,能夠配置LAN Failsafe的功能,可使BigIP檢測到在相應VLAN沒有流量(像對端交換機端口Down掉或者掉電停機)時,F5設備能夠即時切換,進入High Availability -> Failsafe -> Vlan failsafe 便可對此進行配置。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
經驗總結:
一、拿到F5首先就是要激活,經過嚮導能夠很簡單的進行激活,可是記住必定要能上網,最好在上架前完成激活工做。
二、打開瀏覽器使用https://192.168.1.245 設備管理ip能夠登陸到F5設備。默認用戶名和密碼均爲admin。
三、建立相應的VLAN,並將接口加入相應的VLAN,Network -> VLANS 。
Name : 設置這個VLAN的名字;
Tag: 保留爲空;
Interface:定義Avalilable 中顯示的端口有選擇性的劃分到這個vlan中,指定端口後,單擊<< 選人 Untagged 欄便可。
點擊 Finished 完成。
四、在劃分完VLAN後,便可對每一個VLAN進行IP地址的定義,方法以下:點擊左側導航條中的 Networks -> Self IPs。
五、配置路由,點擊左側導航條中的 Networks -> Routes .
Type :定義配置的是默認網關仍是靜態路由。
Destination: 定義目標網段。
Netmask : 定義目標網段的掩碼;
Resource : 定義網關地址。
點擊 Finished 完成。
六、Pool 配置:點擊左側導航條中的Local Traffic -> Virtual Servers -> Pools;
Name 定義建立的Pool的名字。
Health Monitors 定義該Pool使用的健康檢查機制,此處爲TCP。
Load Balacing Method定義該Pool使用哪一種負載均衡算法 --咱們選用 observed-member(觀察法)。
New Members 定義該pool下真實的服務器的IP和Port。
點擊 Finished 完成。
七、Virtual Server 配置,Local Traffic -> Virtual Servers,這裏面的參數能夠參見以前介紹的進行填寫,並將管理相應的Pool。並配置相應的F5輪詢方式,經常使用的是輪詢(RoundRobin)。
八、配置Monitor 的做用是檢查服務器的健康狀態,而後關聯的相應的Pool,Local Traffic -> Monitors。
九、配置Redundant,這在前面已介紹。