
我打算為MSSQL開發一個客製化的HA程序,但在閱讀一些有關叢集的文章時遇到了一個問題。
當master宕機時,slave會投票選出新的master,新的master將接手舊master的虛擬IP位址。
這裡的虛擬IP位址是什麼?
例如:
A:主站 192.168.1.100
B:從站 192.168.1.101
C:從站 192.168.1.102
是否有另一個 IP 位址分配給 A?還是IP 192.168.1.100是虛擬IP?無法新增額外的網路卡。
Windows系統。
答案1
我不確定你到底在做什麼,但這裡有一些集群地址基本原理,它們往往大多匹配,無論是通過內置還是通過依賴外部函數來達到類似的效果:
除了特定於各個叢集節點的 IP 位址之外,HA 叢集通常還會建立一個或多個屬於該叢集的叢集 IP 位址。
根據設定和特定技術,該叢集位址通常可以是
綁定到叢集節點之一(即與該節點的 NIC MAC 位址相關聯),從而該節點成為活動節點。故障轉移時,另一個節點會將其 MAC 位址綁定到叢集 IP 位址並承擔主動角色。
與所有或一些叢集節點可以訂閱的多播MAC位址相關聯,由此可以具有多個活動節點。在這種情況下,群集IP 位址可以是多播IP 位址(這使得綁定協定相容)或更不常見(例如在Microsoft NLB 群集中)綁定到多播MAC 位址的IP 單播位址(這需要網路路由器/switches 能夠處理此協定不相容的 L3/L2 映射,通常透過額外的設定指令)。
叢集通常僅將叢集位址用於客戶端到叢集的流量,並將單獨的節點位址用於叢集內流量,例如狀態資訊和心跳。集群內流量有時會放置在專用網路上。