Topology算法
兩種可應用Topology位置:
《1》wideIP對應多個pool
*需要定義Dest為pool或者pool Region的Topology記錄
*如果不定義,F5 DNS采取Pool RR
《2》pool對應多個VS
*需要定義Dest為DC,IP,IP Subnet或以上集合構成的Region的Topology記錄
*如果未定義,則Topology算法Miss
Topology記錄分為三列
*LDNS,Destination,Score/Weight
*LDNS,Destination作為輸入
*Score/Weight作為輸出
F5 DNS匹配WideIP后,在選擇pool時會將pool name分別與LDNS組合成對;
*只要給出LDNS,POOL name就可以在topolgy表中找到對應的Score/Weight值;
*然后將這個值作為對Pool name的Score評分;
最后根據Score的高低,決定選擇哪個pool
F5確定pool后,在選擇解析哪個VS地址作為DNS Response時,會將pool內的VS分別與LDNS組合成對:
*只要給出的LDNS,VS IP就可以在topology表中找到對應的Score/Weight值;
*然后將這個值作為對VS的Score評分
最后根據Score/Weight的高低,決定選擇哪個VS,Weight值高的優先
關於topology的對象:
《1》Request source:定義LDNS的ip地址滿足的條件,包括continent(大陸)、country、ISP、IP Subnet、Region(地區)、State(州)
logest match:
F5 DNS上topology默認啟用logest match,以加快Topology Record的匹配速度。在longest match啟用下,F5 DNS會自動對Topology Record進行排序,無法手動更改Topology條目順序。而且一旦匹配到滿足條件的記錄將不再向下匹配
使用以下命令查看Topology的排序情況:tmsh list /gtm topology all
排序原則:
IP Subnet>DC>POOL>Region>ISP>State>Country>Continent>LDNS Request Source negatior>Wildcard
當logest match被取消時,F5會匹配全部的所有的滿足的記錄,而不是只匹配到第一個滿足的就不再向下匹配,如所有滿足的記錄有多條,則按照Weight值高得優先被選擇。
負載均衡算法--RTT
實現原理:當任意一台F5 DNS收到LDNS請求時,由於RTT需要F5 DNS發起到LDNS的動態探測,所以F5 DNS先使用Falback算法中的GA算法將序號為0的地址返回給LDNS,同時從不同鏈路發起探測,並將探測結果寫到內存中,當同樣的LDNS再次發起解析請求時,F5 DNS使用RTT算法返回一個VS地址給LDNS;
負載均衡算法--QOS
使用virtual server當前各項參數指標綜合計算后通過分數來做最優選擇。
參數指標包括:
*Round trip time
*Hops
*Connection rate
*Packet rate
*topology
*Link capacity
*VS capacity
*Kilobytes/Second
對於簡單的配置,可以使用默認的設置,需要iquery查詢big-ip vs的性能。