如何在叢集中進行抄寫
叢集抄寫屬於事件導向,而非排程導向。當「叢集抄寫器」發現資料庫有變更時,它會立即將該變更抄寫到叢集中的其他抄本。如果有抄寫事件備份記錄,「叢集抄寫器」會將事件儲存在記憶體中,直到將事件抄寫到其他的叢集伺服器為止。如果在傳送前一個變更之前,相同的資料庫又發生變更的話,「叢集抄寫器」會儲存這些變更,然後再一起傳送,以節省處理的時間。
由於 HCL Domino® 只能將抄寫事件儲存在記憶體中,因此,唯有當來源與目的地伺服器均可使用時,才能順利完成抄寫。若目的地伺服器無法使用,「叢集抄寫器」會持續將事件儲存在記憶體中,直到目的地伺服器能使用為止。「叢集抄寫器」會定期嘗試將這些抄寫事件推送到目的地伺服器。兩次嘗試之間的間隔由一小時開始,之後隨著時間增加,至最長一天為止。
如果來源伺服器在抄寫完成之前就當機,記憶體中的抄寫事件便會遺失。因此,只要您重新啟動叢集伺服器,就應該使用標準抄寫(抄本 作業)對所有叢集成員強制立即抄寫。定期在叢集伺服器之間做排程抄寫(例如每日數次)也是一個好主意,可以確保資料庫維持在同步的狀態。
當「叢集抄寫器」將抄寫事件記錄在日誌檔時,也會記錄等待重試中的抄寫事件。因此您可知道哪些資料庫目前尚未同步化,並瞭解哪些錯誤阻礙了抄寫。在更正錯誤和抄寫成功之後,系統就不再記錄錯誤資訊。
「叢集抄寫器」會將抄寫公式的處理程序留給標準抄寫器。因為這些公式會使用大量的處理器資源,所以為了降低使用叢集抄寫的成本,這些公式並不由「叢集抄寫器」來處理。因此,若使用選擇性的抄寫,資料庫可能暫時納入與選擇公式不符的文件。Domino® 會在您執行標準抄寫時刪除這些文件。
叢集的抄寫歷程
因為叢集中的抄寫事件實在發生得太頻繁了,所以「叢集抄寫器」在抄寫資料庫時,不會每次都讀取或寫入該資料庫的抄寫歷程。抄寫成功時,歷程資訊會儲存在記憶體。隨後的每次成功抄寫事件都會新增至記憶體中保存的歷程資訊。「叢集抄寫器」大約每隔一小時就會將歷程資訊傳送到資料庫。
叢集的專用資料夾抄寫
在標準抄寫期間,專用資料夾及其內容只會與資料夾擁有者的用戶端進行抄寫。但是在叢集中,專用資料夾卻會抄寫到叢集內的其他抄本。這樣的行為可確保用戶端在移轉時,不管是存取哪個抄本,資料庫內容都是一樣的。叢集抄寫與標準抄寫都支援叢集內部專用資料夾及其內容的抄寫。
專用資料夾僅供資料夾的建立者或叢集內的伺服器存取。只有在存取控制清單 (ACL) 中被定義為「伺服器」或「伺服器群組」使用者類型的伺服器,才可以存取和抄寫資料庫內的專用資料夾。沒有明確列在 ACL 中的伺服器是不能抄寫專用資料夾的。