一般情況下對網絡服務器進行備份是比較簡單的工作,但是,一旦這些服務器組成了集群,那么備份起來就會讓人摸不著頭腦了,因為集群中會有多臺物理服務器(又被稱為節點),而他們對外則表現為一臺邏輯服務器。本文就幫你來理清如何對集群服務器進行備份的思緒。
集群有多種,針對每一種集群所采用的備份方式也不盡相同。作為樣例,我就舉例說明如何在一個被配置了Cluster Continuous Replication (CCR)的Windows Server Majority Node Set (MNS)集群中對其上運行的Exchange Server 2007數據進行備份。
簡單來講,一個服務器雙機熱備(http://www.expresscluster.net.cn/)服務器化之后的mailbox由兩個集群節點組成,一個處于活動狀態,另一個處于非活動狀態,只有活動狀態的服務器處于工作狀態,非活動狀態的服務器則作為一種熱備機而存在。Exchange Server 2007使用一種被稱為“log shipping(日志傳送)” 的機制將活動服務器上的transaction log傳送到非活動服務器上。這樣,一旦活動服務器發生故障,那么所有的數據都會在非活動服務器上保存著一份,可以立即被使用。
至于對數據的備份,Microsoft則推薦備份非活動服務器上對應的數據而不是備份活動服務器上的。之所以這樣推薦,其背后的原因是因為活動服務器是處于工作狀態的,它需要承擔所有的工作負載,此時如果去備份非活動服務器上對應的數據,就可以將對活動服務器的影響降到最低,你可以在任何時候發起備份,而不影響活動服務器上的用戶訪問。
雖然這種備份方式聽起來很有道理,但是你依然需要注意一個小問題。在集群failover的情況下,非活動服務器變成了當前工作的服務器,但當你把原本的活動服務器恢復上線時,它就會變為現在的非活動服務器了,而且會一直保持非活動服務器的角色,除非你手動設置它為活動節點(或者設定為自動回管)。此時問題就來了,你不可能立即就知道當前是哪臺服務器處于非工作狀態,那么你就不知道應該在哪臺服務器上進行備份了。
萬幸的是,你不必埋頭自己去解決這個問題了。大多數企業級的備份軟件都是cluster aware的,它們可以感知到集群當前的狀態,即便如此,你依然需要對備份集群服務器中的數據有一個戰略性的準備。