叢集元件

叢集必須由數個元件:「叢集管理員」、「叢集資料庫目錄」、「叢集資料庫目錄管理員」、「叢集管理員」及「叢集抄寫器」:共同合作才能正確地產生功用。此外,「網際網路叢集管理程式」會針對執行網際網路通訊協定的 HCL Domino® 伺服器進行叢集處理。

叢集管理員

叢集中的每部伺服器都會執行「叢集管理員」,目的是追蹤叢集中其他所有伺服器的狀態。它有一份清單列出目前叢集中有哪些伺服器可用,並且維護每一部伺服器工作量的相關資訊。

當您將伺服器新增至叢集時,Domino® 會自動啟動該伺服器上的「叢集管理程式」。只要是叢集伺服器的成員,每次您啟動伺服器時,「叢集管理員」就會啟動。

每個「叢集管理員」藉由與叢集中的其他伺服器交換訊息來監視叢集,這個動作稱為探測。根據這些探測,「叢集管理員」可確定其他叢集伺服器的工作量與使用性。當需要將使用者的要求重新指向其他抄本時,「叢集管理員」會先查看「叢集資料庫目錄」,判定哪些叢集伺服器包含所要求的資料庫抄本。然後,「叢集管理員」會告知用戶端哪些伺服器包含有抄本,以及這些伺服器是否可用。用戶端即可將要求重新指向包含有抄本且可用性最高的伺服器。

「叢集管理員」的工作包括:

  • 確定叢集內有哪些伺服器。它會定期監視「Domino® 名錄」,查看「伺服器」文件中 ClusterName 欄位與叢集成員關係清單是否有變動。
  • 監視叢集中伺服器的可用性與工作量。
  • 通知其他「叢集管理員」有關伺服器可用性的變動。
  • 通知用戶端有關可用抄本及叢集伺服器的可用性,好讓用戶端能夠依據叢集伺服器的可用性,為資料庫的要求重新指向(失效接手)。
  • 依據叢集伺服器的可用性,來平衡叢集中伺服器的工作量。
  • 在伺服器日誌檔中,記錄移轉與平衡工作量事件。

「叢集管理程式」在啟動時會檢查「Domino® 名錄」,以判定哪些伺服器歸屬於叢集。「叢集管理員」會將這份資訊放在伺服器的「叢集名稱快取記憶體」中維護。「叢集管理員」使用這份資訊與其他「叢集管理員」交換探測。「叢集管理員」並且也使用「叢集名稱快取記憶體」來儲存由這些探測所接收的可用性資訊。此資訊能協助「叢集管理程式」執行先前列出的功能,如失效接手及工作量平衡。

若要檢視「叢集名稱快取記憶體」中的資訊,請在伺服器主控台輸入 show cluster

叢集資料庫目錄

叢集的每一部伺服器上都有「叢集資料庫目錄」(cldbdir.nsf) 的抄本。「叢集資料庫目錄」中有份關於叢集中每個資料庫及抄本的文件。這份文件中所包含的資訊有:例如,資料庫名稱、伺服器名稱、路徑、抄本 ID 及其他抄寫及使用資訊。叢集元件使用此資訊來執行功能,例如決定移轉路徑、控制資料庫存取以及決定要抄寫哪些事件和抄寫至何處。

叢集資料庫目錄管理員

每一部伺服器的「叢集資料庫目錄管理員」會建立「叢集資料庫目錄」,並以最新的資料庫資訊將其更新。當您首次將伺服器新增到叢集時,「叢集資料庫目錄管理員」會在該伺服器上建立「叢集資料庫目錄」。當您新增資料庫到叢集伺服器時,「叢集資料庫目錄管理員」會在「叢集資料庫目錄」中建立文件,該文件即包含新資料庫的相關資訊。當您刪除叢集伺服器中的資料庫時,「叢集資料庫目錄管理員」就會將此文件從「叢集資料庫目錄」刪除。「叢集資料庫目錄管理員」還會追蹤每個資料庫的狀態,如標示為「暫停服務」(無法供使用者存取) 或「刪除擱置中」的叢集資料庫。

「叢集資料庫目錄」若發生變更,「叢集抄寫器」會立即將變更抄寫到叢集中每部伺服器的「叢集資料庫目錄」。如此可確保每個叢集成員都擁有叢集中各資料庫的最新資訊。

叢集管理員

「叢集管理員」執行許多與叢集有關的管理作業。例如,當您將伺服器新增到叢集時,「叢集管理員」會啟動「叢集資料庫目錄管理員」與「叢集抄寫器」。「叢集管理員」也會啟動尚未執行的「管理程序」。當您自叢集中移除伺服器時,「叢集管理員」會停止「叢集資料庫目錄管理員」與「叢集抄寫器」。它還會刪除該伺服器上的「叢集資料庫目錄」,並清除其他伺服器「叢集資料庫目錄」內有關該伺服器的記錄。

叢集抄寫器

「叢集抄寫器」會不斷地維持叢集間抄本資料的同步。每當叢集中的資料庫發生變更時,「叢集抄寫器」便會將變更迅速推送到叢集中的其他抄本。如此可確保使用者每回使用資料庫時,都可檢視最新的版本。「叢集抄寫器」也會將變更抄寫到存在某資料庫的專用資料夾中。依照預設,叢集中的每部伺服器是執行一個「叢集抄寫器」,不過,如果叢集中有許多活動,也可以執行更多個「叢集抄寫器」。

「叢集抄寫器」會查看「叢集資料庫目錄」,確定哪些資料庫有抄本在其他叢集成員處。「叢集抄寫器」會將這些資訊儲存在記憶體中,並利用它將變更抄寫到其他伺服器上。「叢集抄寫器」定期(預設為每 15 秒)檢查「叢集資料庫目錄」中有無變更。當「叢集抄寫器」偵測到「叢集資料庫目錄」中有發生變更時(例如新增或刪除資料庫,或資料庫已關閉「叢集抄寫器」),便會更新它儲存在記憶體中的資訊。

「叢集抄寫器」僅將變更推送到叢集中的伺服器。標準的同步中心作業 (抄本) 則會將變更來回抄寫到叢集以外的伺服器。