叢集元件
叢集必須由數個元件:「叢集管理員」、「叢集資料庫目錄」、「叢集資料庫目錄管理員」、「叢集管理員」及「叢集抄寫器」:共同合作才能正確地產生功用。
叢集管理員
叢集中的每部伺服器都會執行「叢集管理員」,目的是追蹤叢集中其他所有伺服器的狀態。它有一份清單列出目前叢集中有哪些伺服器可用,並且維護每一部伺服器工作量的相關資訊。
當您將伺服器新增至叢集時, Domino ®會自動啟動該伺服器上的叢集管理器。只要是叢集伺服器的成員,每次您啟動伺服器時,「叢集管理員」就會啟動。
每個「叢集管理員」藉由與叢集中的其他伺服器交換訊息來監視叢集,這個動作稱為探測。「叢集管理員」的工作包括:確定叢集內有哪些伺服器。然後,叢集管理器通知客戶端哪些伺服器包含副本以及這些伺服器的可用性。監視叢集中伺服器的可用性與工作量。
通知其他「叢集管理員」有關伺服器可用性的變動。
- 通知用戶端有關可用抄本及叢集伺服器的可用性,好讓用戶端能夠依據叢集伺服器的可用性,為資料庫的要求重新指向(失效接手)。它透過定期監視Domino ® Directory 以了解伺服器文件中的ClusterName欄位和叢集成員資格清單的變更來實現此目的。
- 在伺服器日誌檔中,記錄移轉與平衡工作量事件。
- 通知其他叢集管理員伺服器可用性的變更。
- 「叢集管理員」會將這份資訊放在伺服器的「叢集名稱快取記憶體」中維護。
- 「叢集管理員」使用這份資訊與其他「叢集管理員」交換探測。
- 「叢集管理員」並且也使用「叢集名稱快取記憶體」來儲存由這些探測所接收的可用性資訊。
啟動時,叢集管理器會檢查Domino ®目錄以決定哪些伺服器屬於該叢集。它將這些資訊保存在伺服器叢集名稱快取的記憶體中。叢集資料庫目錄叢集的每一部伺服器上都有「叢集資料庫目錄」(此資訊可協助叢集管理器執行前面列出的功能,例如故障轉移和工作負載平衡。
show cluster「叢集資料庫目錄」中有份關於叢集中每個資料庫及抄本的文件。
這份文件中所包含的資訊有:例如,資料庫名稱、伺服器名稱、路徑、抄本 ID 及其他抄寫及使用資訊。
cldbdir.nsf叢集元件使用此資訊來執行功能,例如決定移轉路徑、控制資料庫存取以及決定要抄寫哪些事件和抄寫至何處。叢集資料庫目錄管理員每一部伺服器的「叢集資料庫目錄管理員」會建立「叢集資料庫目錄」,並以最新的資料庫資訊將其更新。當您首次將伺服器新增到叢集時,「叢集資料庫目錄管理員」會在該伺服器上建立「叢集資料庫目錄」。
當您新增資料庫到叢集伺服器時,「叢集資料庫目錄管理員」會在「叢集資料庫目錄」中建立文件,該文件即包含新資料庫的相關資訊。
當您刪除叢集伺服器中的資料庫時,「叢集資料庫目錄管理員」就會將此文件從「叢集資料庫目錄」刪除。當您首次將伺服器新增至叢集時,叢集資料庫目錄管理員會在該伺服器上建立叢集資料庫目錄。「叢集資料庫目錄」若發生變更,「叢集抄寫器」會立即將變更抄寫到叢集中每部伺服器的「叢集資料庫目錄」。如此可確保每個叢集成員都擁有叢集中各資料庫的最新資訊。Out of servicePending delete叢集管理員
「叢集管理員」執行許多與叢集有關的管理作業。例如,當您將伺服器新增到叢集時,「叢集管理員」會啟動「叢集資料庫目錄管理員」與「叢集抄寫器」。
「叢集管理員」也會啟動尚未執行的「管理程序」。
當您自叢集中移除伺服器時,「叢集管理員」會停止「叢集資料庫目錄管理員」與「叢集抄寫器」。它還會刪除該伺服器上的「叢集資料庫目錄」,並清除其他伺服器「叢集資料庫目錄」內有關該伺服器的記錄。叢集抄寫器「叢集抄寫器」會不斷地維持叢集間抄本資料的同步。每當叢集中的資料庫發生變更時,「叢集抄寫器」便會將變更迅速推送到叢集中的其他抄本。
如此可確保使用者每回使用資料庫時,都可檢視最新的版本。
「叢集抄寫器」也會將變更抄寫到存在某資料庫的專用資料夾中。「叢集抄寫器」會查看「叢集資料庫目錄」,確定哪些資料庫有抄本在其他叢集成員處。「叢集抄寫器」會將這些資訊儲存在記憶體中,並利用它將變更抄寫到其他伺服器上。「叢集抄寫器」僅將變更推送到叢集中的伺服器。標準的同步中心作業 (抄本) 則會將變更來回抄寫到叢集以外的伺服器。
集群複製器在集群資料庫目錄中尋找以確定哪些資料庫在其他集群成員上有副本。Cluster Replicator 將此資訊儲存在記憶體中,並使用它來將變更複製到其他伺服器。集群複製器會定期(預設每 15 秒)檢查集群資料庫目錄中的變更。當叢集複製器偵測到叢集資料庫目錄發生變更時(例如,新增或刪除的資料庫或現在停用叢集複製的資料庫),它會更新儲存在記憶體中的資訊。
集群複製器僅將變更推送到集群中的伺服器。標準複製器任務 (REPLICA) 將變更複製到叢集外部的伺服器或從叢集外部的伺服器複製變更。