一、failover相關知識點
1、network failover和 hardwired failover的區別
- hardwired failover只能用於active/standby架構,無法用於active/active架構和viprion或者F5的虛擬機器中,因為這個是需要用硬體線路連線兩臺F5裝置;
- network failover可以用於各類2臺裝置以上的F5雙機部署中;Failover.NetTimeoutSec預設是3秒;
- hardwired failover和network failover是可以同時配置的,此時只有兩者都中斷,才會觸發failover;
2、配置HA高可用性
- 前期準備:配置基礎的網路,相同的版本,啟用license,授權相同的模組,配置NTP同步系統時間等;其中每臺裝置都要有獨一無二的裝置名,重名可能會導致有問題;
- 配置DSC communication設定:主要就是配置一個ip用於雙機通訊;建議使用單獨物理線路將雙機互聯,配置單獨的vlan和selfip用於DSC communication,這個ip用於同步配置資料,network failover 心跳,傳輸monitoring資料(這個不是monitor,是一個映象,主要是用於對會話保持之類的映象,因為不把會話保持資料同步到備機,主備切換的時候會話保持就丟失了);這個IP需要放開443, 4353, 1026 (UDP) 、22 埠;
至少要配置上圖的config sync和mirroring的ip
- 配置 device trust:這個只需要在一臺機配置即可,主要是需要交換證書去建立信任關係;
- 配置device group:這裡面有failover和sync-only可選;以及自動同步,手工同步,手工增量同步等可選;這個主要是用於配置同步;系統預設會有個Traffic Group1,所有需要同步的資料會和這個容器關聯;
- 配置需要同步的資料:可以配置多個traffic group,traffic group可以和virtual servers, pools, nodes, monitors, profiles, policies, iRules,等關聯;traffic group決定了那些資源是在那臺機當主機執行;這裡面需要注意下,如果對pool或者node單獨做了monitor,那麼不同裝置的探測結果可能不同,這是由於裝置的網路環境差異導致的。同步配置主要有Push和Pull可以選,push是將本機的配置同步到其他裝置,pull是拉其他裝置的配置到本機;
3、由於不同的人維護,可能會出現裝置配置不同步的情況,如何判斷那個裝置的配置是最新的?
- 方法一:登入所有裝置,有下圖樣式的是最新配置的,F5預設在配置出現改動的時候會有這個提示,意思是將這個裝置配置同步到其他裝置;
- 方法二:show cm device-group group_sync_failover,此處需要將group_sync_failover替換為自己配置的device groups名稱;時間新的那臺就是配置最新的;
- 方法三:show cm sync-status 按裡面的建議操作
4、traffic group 的failover方法:
教程顯示是三種,分別是preferred device order,load aware和HA score,但是在13.1版本中,只有preferred device order和HA score;preferred device order就是按順序,HA score是根據HA GROUP的值算出來的,值比較高的會成為下一個主機
5、可以觸發failover的情況
- 失去failover heartbeat;
- Failover Method設定為Failover to Device With Best HA Score時,HA Group探測的pool down;
- 配置了 automatic Failback,然後主機恢復正常;
- 觸發了HA配置裡面的fail-safe,比如一些重要程序mcpd 、tmm、sod等down了;show sys ha-status all-properties這個命令可以看到程序有問題時候的處理方法;
- 觸發了HA配置裡面的gateway pool down;
- 觸發了HA配置裡面的vlan 中斷;
6、配置connection mirroring和persistence mirroring
預設情況下,F5的備機是不會有主機的connection table和persistence records,當裝置發生主備切換時,某些配置了persistence的業務可能會發生異常;可以透過配置connection mirroring和persistence mirroring來解決該問題。但是開啟了這個比較吃裝置效能。connection mirroring是在VS上開啟Connection Mirroring即可(HTTP和UDP是不需要開的,只有長連線的TCP才需要,比如FTP和telnet)。persistence這個除了cookie,其他的都可以開,cookie是不需要F5去維護會話保持資訊的。