Windows Server 2008上安裝群集連續復制
盡管在Windows Server 2008上配置群集連續復制(CCR)與在Windows Server 2003上的配置過程類似,但還是有一些明顯差別。在配置CCR之前,我們推薦你完整地閱讀《群集連續復制》一文。另外,還要確保事先滿足《部署群集連續復制》一文中的所有要求。
在Windows Server 2008上安裝CCR要完成以下幾個步驟:
1. 配置硬件安裝,啟動群集網絡構造與配置過程。
2. 構造群集,依次生成第一、第二個節點。
3. 配置群集網絡和丟失群集心跳的容限。
4. 配置并保護文件共享見證。
5. 設置群集活動及非活動的郵箱服務器角色。在活動郵箱服務器角色的設置過程中,
群集郵箱服務器(CMS)將被創建。
注意:
我們推薦完成每一步驟之后再進行下面的步驟。完成所有步驟后,在應用之前最好驗證一下CCR解決方案的有效性。
安裝完成后,還要進行下面的任務:
? 調整故障轉移的控制設置。
? 調整傳輸dumpster的默認配置。
? 驗證在群集節點間移動CMS的能力。
? 使連續復制活動的多網絡選項有效。
在開始任何上面所提到的步驟之前,你必須首先確保目標電腦已安裝Windows Server 2008所需的操作系統組件。至于在Windows Server 2008上安裝微軟Exchange必要組件的具體步驟,請看《如何在Windows Server 2008上安裝Exchange 2007 SP1的必要組件》一文。
下面的部分將詳細解釋安裝過程的每一步驟。
網絡構造和配置
在Windows Server 2008的2個節點的CCR環境中創建CMS時,你必須有足夠數量的可用IP地址。與遺留群集明顯不同的是,Windows Server 2008故障轉移群集提供了新的組網能力。舉例來說,Windows Server 2008故障轉移群集提供了對多子網,動態主機配置協議(DHCP),IPv4及IPv6的支持。當Windows Server 2008故障轉移群集運行時,微軟Exchange Server 2007 Service Pack 1(SP1)支持在地理上分散的群集里兩個子網間的故障轉移。這種支持包括單復制群集(SCC)和CCR環境中的郵箱服務器。
注意:
盡管Windows Server 2008故障轉移群集支持DHCP IPv4,我們仍然建議在實際應用環境中使用靜態IP地址。如果一定要在故障轉移群集中使用DHCP IPv4,建議配置DHCP服務器以保證IP地址的使用無時間限制。
下面開始配置Windows Server 2008故障轉移群集。單個群集節點現在可以放置在相互分隔的路由網絡中。這要求依賴于IP地址的資源(如網絡名稱資源)實現一種“或”(OR)邏輯,因為不可能每個群集節點都存在一個直接本地連接用以連接該群集相鄰的各個網絡。這將有助于在業務或應用故障轉移到遠程節點時進行IP地址和網絡名資源的在線分配。
所有與網絡名稱資源有關的在線IP地址將會按定制列表在域名系統(DNS)中進行動態注冊(如果設置為動態更新),這樣,就使那些在線的IP地址資源能在第一時間返回給客戶。由于群集節點被放置在不同的路由網絡中,而且為了在用戶數據報協議(UDP)之上實現可靠會話協議(單播),通信機制也改變了,因此地理分散群集的組網要求不再適用。因此,機構可以在兩個物理數據中心之間配置故障轉移群集,而不需要使用虛擬局域網(VLAN)技術在兩地間擴展群集子網。
當CMS的移動和故障轉移發生在一個地理上分散的多子網故障轉移群集時,CMS的名字將會被保留。然而,分配給該名字的IP地址卻不會保留下來。該服務器對用戶及其它服務器是否具有可用性取決于新IP地址在DNS中的傳播。DNS傳播可能要花費一些時間。正是因為這樣,我們建議將CMS DNS主機記錄的生存時間值(TTL)配置為5分鐘(300秒)。至于配置CMS的DNS TTL值的詳細步驟,請查看《如何配置網絡名稱資源的DNS TTL值》一文。當CMS的DNS TTL值配置成功后,你必須停機并重啟CMS才能使改動生效。
盡管內部微軟Office Outlook客戶端使用新的IP地址連接時并不需要對配置文件進行更新或重新配置,它們仍然需要等待本地DNS緩存清空后,才將CMS名稱解析由舊IP地址轉移到新IP地址。當IP地址傳播到合適的DNS服務器,在客戶端命令行運行下面的命令,就可以清空Outlook客戶端的DNS緩存。
ipconfig /flushdns
公共和專用網絡都需要IP地址。專用和公共地址的要求如下:
l 專用地址:群集專用網的每個節點的每個網絡適配器都要求有一個IP地址與之對應。你可以使用靜態IPv4地址或動態分配的IPv6地址。但要注意,你不可以使用在同一個子網或公共網中同一個網絡的IP地址。建議使用的專用地址為10.10.10.10和10.10.10.11,子網掩碼為255.255.255.0。
l 公共地址:群集公共網,有時也稱為混合網絡。它的每個節點的每個網絡適配器也都要求有一個IP地址與之對應。與專用網不同的是,故障轉移群集和CMS也需要IP地址以便客戶端及管理員訪問。同樣,你也要注意,不可以使用在同一個子網或專用網中同一個網絡的IP地址。你可以使用IPv4地址,DHCP IPv4地址或靜態IPv6地址。
重要:
群集網絡的所有網絡適配器必須使用相同版本的TCP/IP。也就是說,它們必須是都只使用IPv4或者都同時使用IPv4和IPv6。
群集郵箱服務器的網絡最佳實踐法
我們還建議對你的群集網絡遵循以下最佳實踐法:
l 使用有意義的名稱:你有很多機會來為所構建群集的每個節點,每個群集網絡接口,每個群集以及CMS來安排一個有意義的名字。例如,用于與其它Exchange服務器和客戶端通信的網絡可以命名為Public。用于在群集節點之間進行通信的網絡可以命名為Private。最好使用互相關聯且無須參考拓撲圖的名字。另一個有用的慣例是將群集節點與CMS的名稱相關聯。例如,將CMS及其相應的兩個節點分別命名為mbx01,mbx01-node1和mbx01-node2。
l 為每個專用網絡接口使用專用IP地址: 對于每個節點可用的IP地址范圍及子網掩碼列表,看下面的表格。
專用網絡接口的地址范圍及子網掩碼
網絡/ 節點 IP 地址范圍 子網掩碼
Private / NODE110.10.10.10-255255.255.255.0
Private / NODE210.10.10.11-255255.255.255.0
注意以下幾點:
l 如果你的公共網使用10.x.x.x 的網絡地址和255.255.255.0作為子網掩碼,建議使用可替換的專用網絡IP地址和子網掩碼。
l 我們不建議使用任何形式的容錯適配器或配置專用網組隊。如果你的專用網需要一些冗余性,可以將配置多個網絡適配器僅供群集使用。使用這種技術時,檢驗固件和驅動器是否處于最新版本是非常重要的。要獲取服務器群集上的兼容性信息,聯系你的網絡適配器供應商。要了解更多關于故障轉移群集部署中的網絡適配器組隊信息,請查看微軟知識庫文章254101,《網絡適配器組隊和服務器群集》。
構建故障轉移群集
從添加群集中的第一個節點開始,故障轉移群集就被構建了。這一過程使群集具有唯一的網絡名和IP地址。網絡名和IP地址,共同構成了群集網絡的身份。隨著節點不斷地聯機與脫機,網絡名和IP地址在群集節點之間移動。通常來說,群集網絡的身份一般不用于CMS的管理。
如果你熟悉如何配置故障轉移群集或先前版本的Exchange群集,你會發現CCR群集的配置過程與之是非常不同的。如果你是剛開始接觸群集解決方案,你會發現這種配置過程會比典型的群集配置簡單得多。
你可以根據《如何創建Windows Server 2008群集連續復制的故障轉移群集》這篇文章里的建議,構建一個新的群集。
添加其它節點
當你在第一個節點上安裝了群集服務后,你會發現你花在第二個節點上的安裝時間要少一些。這是因為安裝程序使用第一個節點上的網絡配置設置作為后續節點網絡設置配置的基礎。在添加并配置第二個節點之前,你應該使群集配置生效。你可以通過在命令行中運行Cluster.exe group來驗證群集服務是否運行和可操作。如果生效。應該產生類似下面的輸出。
C:/>cluster group
Listing status for all available resource groups:
Group Node Status
------------------ --------------- ------
Cluster Group Online
我們還建議你在進行上面步驟之前,查閱所事件日志中所有可能需要引起注意的錯誤和警告信息。有關如何添加第二個節點到群集中的詳細步驟,請查閱《如何創建Windows Server 2008群集連續復制的故障轉移群集》一文。
配置群集網絡
把兩個節點都加入群集后,必須配置群集網絡組件。尤其要指出的是,你必須為群集和客戶訪問配置網絡,而且你還必須設置丟失群集心跳的容限。我們還建議你使用更加有意義的名稱來重命名群集網絡。
下面的表格詳細表示了有關群集網絡心跳配置的可用選項。
配置群集網絡的選項
選項描述
允許群集使用該網絡(專有網絡)如果你在該網絡只使用群集服務進行節點間通信,那么單選此項。客戶端將不能通過該網絡連接到CMS。
允許群集使用該網絡,并允許客戶端通過該網絡連接(混合網絡)如果你想使用該網絡適配器讓群集服務既進行群集內節點間通信,又進行與外部客戶端的通信,那么同時選擇這兩個選項。群集服務可以使用該網絡進行節點間通信,客戶端也能通過該網絡連接到CMS。
不允許群集使用該網絡 (未管理網絡)如果你不想使用群集中的這個網絡,或不想讓群集服務管理網絡,那么單選此項。群集服務將不能使用該網絡進行節點間通信,客戶端也不能夠通過該網絡連接到CMS。
在CCR環境中部署CMS要求兩個節點都至少支持兩個網卡。在CCR環境中,你必須將一個網絡配置成專用網絡,而將另一個配置成混合網絡。
在Exchange 2007 SP1中,任意由群集服務管理并支持群集使用和客戶端連接功能的網絡都能用于連續復制功能,包括種子設定,日志傳送和種子再設定。這在Exchange 2007 SP1中可以通過一個叫Enable-ContinuousReplicationHostName的新cmdlet來實現。
注意:
其中一個配置群集網絡的方法是:創建初步的網絡配置,然后只選擇部分網絡測試并運行故障轉移群集管理工具中的驗證配置向導(如跳過目錄,存儲和系統配置測試)。當只運行已選的網絡測試時,這一過程并不會花很長時間。通過查看驗證報告,你可以修正網絡配置中任何可能的錯誤。當整個群集都配置完成后,我們建議你重新運行驗證配置的向導,并選上所有的測試選項。
為丟失群集心跳設置容限
當配置完群集通信和網絡優先級后,我們建議你設定丟失群集心跳的具體容限。這樣做,可以使監測群集節點間連接性的群集服務允許一些微小的中斷。這將防止網絡短暫故障發生時的故障轉移。我們建議你在所有節點配置允許10次丟失心跳的專用和混合群集網絡。這一設置值大約相當于12秒鐘。
關于如何配置群集網絡組件的具體步驟,請看《如何配置群集網絡》一文。
為群集郵箱服務器網絡名稱資源設置TTL
有兩個部署場景,在進行故障或恢復選項時會引起CMS分配IP地址的改變。
l 在多子網環境中部署CMS。
l 用于恢復失效群集的備份群集。
上面兩個場景,CMS的名稱不會改變,但是分配給CMS的IP地址將會發生變化。客戶端和其它與CMS通信的服務器,在CMS的IP地址變化的情況下將不能夠與CMS重新建立通信,除非DNS更新了IP地址的信息,而且任何本地DNS緩存也都被更新。為了最小化客戶端及其它服務器獲得DNS信息變化的時間,我們建議將DNS針對CMS網絡名稱資源的TTL值設置為5分鐘。
注意:
在多數環境中,我們建議只設置DNS針對CMS網絡名稱資源的TTL值。然而,如果在不使用Exchange管理工具通過名稱連接到群集以進行管理的環境中,我們建議為群集網絡名稱資源設置一個較小的TTL值。
默認情況下,群集服務設置DNS TTL值為20分鐘。盡管可以通過DNS管理工具在DNS數據庫中直接手工調整主機名的TTL值,但DNS中網絡名稱注冊每次進行更新時,DNS數據庫都會被重寫,群集服務又重新設為默認值的20分鐘。DNS中網絡名稱注冊的更新在每次CMS啟動,移動或故障及故障轉移后恢復時都會發生。
Windows Server 2008為故障轉移群集的網絡名稱資源加入了新的私有特性。這一新特性叫做HostRecordTTL,你可以使用Cluster.exe對它進行配置。
注意:
這一特性只在Windows Server 2008的故障轉移群集中才可用。在Windows Server 2003故障轉移群集中并沒有這樣的屬性。對于運行Windows Server 2003的故障轉移群集來說,群集服務默認值為20分鐘總是適用的。
至于在多子網CMS或備用群集部署中設置網絡名稱資源DNS TTL值的具體步驟,請查閱《如何配置網絡名稱資源的DNS TTL值》一文。
配置群集仲裁
群集網絡配置完成后,下一步就是配置故障轉移群集使用節點和文件共享多數仲裁資源。這包括兩個方面的步驟:
1. 在Windows服務器上創建文件共享,然后用NTFS文件系統和共享許可來保護文件共享。有關如何創建安全文件共享的具體步驟,請查閱《如何為文件共享多數仲裁創建安全文件共享》一文。
2. 配置群集使用節點和文件共享多數仲裁模型。關于如何配置故障轉移群集使用節點和文件共享多數仲裁模型的具體步驟,請查閱《如何配置節點和文件共享多數仲裁》一文。
驗證確認故障轉移群集
Windows Server 2008包含一個名為驗證配置的新向導,你可以使用它來驗證故障轉移群集配置是否正常有效。我們建議在群集中安裝Exchange 2007之前運行該向導。通過在安裝Exchange 2007前運行該向導,你可以確定并定位群集中可能造成Exchange無法成功安裝的配置問題。
驗證配置向導包含四組測試來驗證群集是否滿足微軟必須支持的要求。這些要求是群集解決方案執行Windows Server 2008兼容性標志要求的一個補充。
這四組測試為:目錄(Inventory),網絡,存儲器和系統配置。由于CCR不使用共享存儲,因此沒有必要運行存儲器組的測試。如果你在一個沒有任何群集存儲資源的故障轉移群集中運行存儲器組測試,比如為CCR設計的故障轉移群集,那么存儲器組的測試將會產生錯誤。存儲器組測試產生的所有錯誤都會安全地被忽略掉,因為缺乏共享存儲正是CCR故障轉移群集所希望的。
關于如何驗證故障轉移群集的詳細步驟,請查閱《如何驗證Windows Server 2008故障轉移群集配置》一文。
群集郵箱服務器安裝及配置
你可以通過在每個節點執行一些步驟來安裝群集的郵箱服務器角色。在完成構建,驗證群集,并配置通過文件共享見證使用多數節點集(MNS)仲裁后,你應該首先在主動節點上安裝郵箱服務器角色。有關如何在主動節點上安裝郵箱服務器角色的詳細步驟,請查閱《如何在Windows Server 2008 CCR環境中安裝主動群集郵箱服務器角色》一文。
當你完成主動節點郵箱服務器角色和CMS的安裝,并驗證了第一個存儲器組的配置后,你還應該安裝被動節點的郵箱服務器角色。有關如何在被動節點上安裝郵箱服務器角色的詳細步驟,請查閱《如何在Windows Server 2008 CCR環境中安裝被動群集郵箱服務器角色》一文。
完成郵箱服務器角色安裝后,你還可以選擇調整故障轉移設置。有關故障轉移調節的更多信息,請查閱《如何調整群集連續復制的掛載和故障轉移設置》一文。
安裝完成后任務
在兩個節點完成郵箱服務器角色安裝和CMS創建后,你應該完成以下的安裝后期任務。這些任務包括:
l 讓連續復制活動允許多網絡。
l 調整故障轉移控制設置。
l 調整傳輸dumpster(Transport Dumpster)的默認配置。
l 驗證群集節點間移動到CMS的能力。
允許連續復制活動的多網絡屬性
在微軟Exchange Server 2007的制造發布版本(RTM)中,所有的日志文件的復制和種子設定都發生在公共網絡中。在Exchange 2007 SP1中,任意群集網絡的連續復制活動都可配置為混合網絡。這些活動包括存儲器組種子設定及再設定,以及日志傳送。
在Exchange 2007 SP1中,只有混合方式的群集網絡才支持連續復制。混合網絡(mixed network)是指既支持兩個群集(節點間通信),又支持客戶端訪問的群集網絡。只支持群集訪問,但不支持客戶端訪問(有時指專用網絡)的群集網絡不能夠進行連續復制。
混合網絡對日志傳送的支持是通過一個新的Enable-ContinuousReplicationHostName的cmdlet來實現的。類似的,也可以通過Disable-ContinuousReplicationHostName的cmdlet來關閉這個特性。當CCR環境的CMS配置完成后,管理員可以在群集的兩個節點上運行Enable-ContinuousReplicationHostName,以確定它們各自的IP地址及主機名。完成這一步后,系統會隨機選擇一個配置成功的混合網絡,并確認它已經可以實際運行后,來進行日志拷貝。
有關如何使群集網絡的連續復制活動有效的詳細步驟,請查閱《Windows Server 2008如何允許冗余群集網絡的日志傳送及種子設定》一文。
注意:
每運行一次Enable-ContinuousReplicationHostName的cmdlet,創建的除了主機名,IP地址和在故障轉移群集上創建群集組,還會在包含CMS的活動目錄域中創建一個計算機賬戶。Windows Server 2008默認允許那些不具備域管理員權限,且沒有被授予創建計算機對象及刪除計算機對象訪問控制條目(ACE)的用戶能添加的最大計算機賬戶數量為10。不具備域管理員及上述ACE權限的Exchange管理員,如果頻繁運行Enable-ContinuousReplicationHostName和Disable-ContinuousReplicationHostName這兩個cmdlet命令,就會很快達到10個賬戶的限制。關于如何解決該問題,有相應的工作區,其解決方案可以參考知識庫文章307532《修改計算機對象時如何解決群集服務賬戶故障》。其它相關信息可以查閱知識庫文章251335《域用戶不能在域中添加工作站或服務器》。
在CCR環境中進行種子設定(Seeding)和再設定(Reseeding)是通過Update-StorageGroupCopy的cmdlet來實現的。在Exchange 2007 SP1中,該cmdlet的擴展選項包括一個新的DataHostNames參數。這個參數是確定哪個網絡應該用作種子設定及再設定的。該參數有值列表有兩個:一個是完整的域名(FQDN),另一個是主機名。這兩個名字的其中一個必須設定為被動模式。
調整故障轉移控制設定
CCR包含允許你控制CMS故障轉移行為的屬性。你可以通過Set-MailboxServer的cmdlet來配置這些屬性。調整這些屬性可以讓你控制下面兩個決策算法:
l 算法1:算法1是控制是否在故障轉移時掛載數據庫的。在故障轉移的時間內,如果檢測到數據庫丟失了少于所配置數量的日志,就會自動掛載數據庫。可以通過一個叫AutoDatabaseMountDial的值來配置可接受的丟失日志數量。Exchange服務器的活動目錄使用msExchDataLossForAutoDatabaseMount屬性來表示這一參數,它有3個值:無損性(Lossless),良好可用性(Good Availability),最大可用性(Best Availability)。無損性表示沒有日志丟失;良好可用性表示有3個日志丟失;最大可用性默認是有6個日志丟失。有關如何設置這3個值的詳細步驟,請查閱《如何調整群集連續復制的掛載及故障轉移設置》一文。
l 算法2:算法2允許你確定舊數據的聯機是否比脫機更重要。如果數據庫在基于算法1掛載失敗,你可以創建檢查第二次的時間。可以通過ForcedDatabaseMountAfter屬性來配置該等待時間。這個值是以小時為單位的,默認為無限制。
重要:
當ForcedDatabaseMountAfter設置的時間點到達時,不管是否存儲器組是有1個日志滯后,10個日志滯后,或是1000個日志滯后,這些有可能導致大量數據丟失的情況,數據庫都會被掛載。正是因為這樣,如果服務等級協議(SLA)保證了導致丟失數據的最大值,就不應該使用這個參數。
調整傳輸Dumpster(Transport Dumpster)
傳輸Dumpster是使用本地連續復制(LCR)或CCR時,集線器傳輸服務器(Hub Transport server)角色必須配置的特性。該特性只能用于LCR和CCR環境。傳輸dumpster會在非常規故障發生后,提交最近發送的郵件。使用LCR或CCR時,應該總是打開傳輸dumpster。通過設置每個存儲器組可用存儲的大小和傳輸dumpster中保留郵件的時間,傳輸dumpster的設置在機構范圍內生效。
集線器傳輸服務器保留最近發送到CMS的郵件隊列。在無損故障轉移事件中,CCR自動請求站點的每個集線器傳輸服務器重新提交傳輸dumpster中的郵件。在LCR環境中,重新提交請求是Restore-StorageGroupCopy任務的一部分。當重新提交發生時,信息存儲自動刪除副本,并重新發送丟失的郵件。你可以使用Set-TransportConfig的cmdlet來改變傳輸dumpster的默認配置信息,配置改變將在存儲器組的層次生效。另外,在Exchange 2007 SP1中,你還可以使用Exchange管理控制臺(Exchange Management Console)對傳輸dumpster的值進行設置。
我們建議你配置每個存儲器組的最大空間(即MaxDumpsterSizePerStorageGroup參數)為能夠發送的最大消息的1.5倍。例如,如果最大的消息為10MB,你應該設置MaxDumpsterSizePerStorageGroup參數的值為15MB。對于不存在最大消息空間的機構,我們建議將每個存儲器組的最大空間值配置為機構中發送消息平均大小的1.5倍。
我們還建議將每個存儲器組的最大保留時間(MaxDumpsterTime參數)設置為07.00:00:00,也就是7天。這個時間對于大范圍故障發生時而不丟失郵件已經足夠了。使用這個傳輸dumpster特性時,集線器傳輸服務器還需要額外的磁盤空間來存儲傳輸dumpster隊列。需要的磁盤空間大小大約等于MaxDumpsterSizePerStorageGroup乘以含有集線器傳輸服務器的活動目錄站點中使用連續復制的所有郵箱服務器組上的存儲器組的數量。
關于如何配置傳輸dumpster,使之生效的詳細步驟,請查閱《如何配置傳輸Dumpster》一文。
驗證CCR解決方案
完成CCR解決方案的安裝后,或是做了很大的配置改變后,我們建議你驗證一下CMS的狀態是否正常,兩個節點的CMS支持配置是否正確。
驗證CMS狀態是否正常的推薦方法是在命令行中運行Test-ReplicationHealth,Get-StorageGroupCopyStatus和 Get-ClusteredMailboxServerStatus 這三個cmdlet命令。
l Test-ReplicationHealth的cmdlet是Exchange 2007 SP1中新出現的。這個cmdlet是為主動監測連續復制及其管道而設計的。Test-ReplicationHealth的cmdlet檢查復制的各個方面,包括群集服務,存儲器組復制及重現狀態,為復制系統的提供全面的信息概覽。關于Test-ReplicationHealth的這個cmdlet的詳細信息,請查閱Test-ReplicationHealth命令。
l Get-StorageGroupCopyStatus的cmdlet為每一個存儲器組提供當前的復制狀態信息。有關查看CCR環境中存儲器組的狀態信息的詳細步驟,請查閱《如何查看CCR環境中存儲器組狀態信息》一文。
l Get-ClusteredMailboxServerStatus這個cmdlet為CMS提供基本的操作狀態信息。有關如何為CMS獲取基本操作狀態信息的具體步驟,請查閱《如何查看群集郵箱服務器狀態》一文。
驗證是否兩個節點都能聯機CMS的推薦方法是:使用Move-ClusteredMailboxServer的cmdlet命令,使CMS轉移到每個節點。在Exchange 2007 SP1中,你還可以使用Exchange管理控制臺中的管理群集郵箱服務器向導(Manage Clustered Mailbox Server wizard)在節點之間移動CMS,以驗證是否兩個節點都能聯機CMS。
