活動目錄域名控制器虛擬化注意事項與技巧
多年來,VMware和微軟都在提供虛擬化服務。其中,VMware的虛擬化歷史已超過十年,而微軟公司進入服務器虛擬化領域的時間則相對較短。
一個IT環境是由一系列物理IT組件構成的,其中包括托管Active Directory(活動目錄)服務的服務器。Active Directory域控制器是順利運行IT操作所必需的關鍵服務器。作為虛擬化路線的一部分,企業必須確保它的每個物理IT資源都處在被虛擬化的過程中,從而降低成本。這當然也包括了對物理域控制器進行虛擬化。
Active Directory域控制器不僅有助于IT業務的順利運行,它還是提供驗證和授權服務的關鍵組成部分。在如今的生產環境中,幾乎所有的網絡應用程序都采用Active Directory作為身份驗證。在對這些關鍵服務實現虛擬化之前,我們需要考慮很多事情。
這也是本文要介紹虛擬化“最佳實踐”法的用意,它能幫助你了解在VMware或Hyper-V上對活動目錄域名控制器進行虛擬化時,哪些操作應該做,哪些不該做:
禁用時間同步功能
借助Windows的時間服務,Active Directory域控制器有一個內置機制可處理時間同步任務。虛擬化平臺也為虛擬機(VM)提供了時間服務,不過建議對每一個虛擬域控制器都關閉時間同步選項并讓Active Directory來管理虛擬域控制器之間的時間同步任務。
不要生成系統快照
快照功能是專為開發和測試目的而設計的。執行快照功能是為了可以恢復到之前作為快照過程一部分的配置狀態。快照功能要求,在創建快照文件之前,虛擬機處于保存狀態。
1. 第一步,把虛擬域控制器置于保存狀態作為快照過程的一部分,并確保停機時間最短,如果不同的磁盤文件變得很大,由此會產生顯著的影響。
2. 其次,我們從來不希望特別地為一個虛擬域控制器而恢復到之前的配置。如果你這樣做的話,這可能會導致該域控制器上Active Directory數據庫的副本不一致。
注:通過在Windows Server 2012中引入了一個新的Live快照融合功能,微軟公司的Hyper-V解決了由快照功能引起的停機問題。
禁用域控制器上的磁盤緩存功能
對于“在虛擬域控制器的所有磁盤驅動器策略標簽中,關閉磁盤寫緩存功能”的設置,建議對所有使用可擴展引擎存儲(ESE)技術的服務選擇該項設置,以避免任何的數據丟失可能。
關閉磁盤緩存可確保數據實際上是被寫入磁盤而不是被保存在非易失性內存中,后者在發生電源故障或主機服務器當機時有可能會造成數據的丟失。
不要暫停
不建議暫停虛擬域控制器,尤其是虛擬域控制器暫停時間超過Active Directory的Tombstone timeframe。暫停可能會導致虛擬域控制器的不同步,并在Active Directory環境中引入延遲對象。
當被刪除對象沒有在Active Directory的Tombstone timeframe時間(一般為80或160天,具體取決于所使用的操作系統)內被復制到所有的Active Directory域控制器時,就會出現延遲對象。
常對虛擬域名控制器設置固定或直通磁盤
建議為存儲域控制器的數據庫(NTDS.DIT)和日志文件配置固定或直通型磁盤,以便于域控制器能夠更高效地運行。使用其他類型硬盤之一(例如有差異的磁盤虛擬硬盤)將降低虛擬域控制器的性能。
注:直通型磁盤是微軟Hyper-V的一個功能,它與VMware虛擬化平臺中的Raw磁盤可以相提并論。
不要復制域控制器虛擬機
大部分的虛擬化供應商都提供了虛擬機克隆功能以實現快速部署。但是,我們強烈建議不要克隆域控制器安裝。如果你確有需要,我們建議使用SysPrep.exe工具,它通過刪除重復的安全標識符(SID)來準備操作系統。
切勿使用虛擬化產品的導出功能
在導出程序導出相關文件之前,導出功能會把域控制器置于保存狀態。然后,就會恢復虛擬機以提供服務。
由于顯而易見的原因,我們強烈建議,除非絕對必要,請切勿暫停域控制器的服務。暫停這些服務可能會導致把Active Directory 作為其驗證程序使用的網絡應用程序的停機。
#p#
禁用或配置自動啟動操作
在任何故障情況下,使用虛擬化主機可配置一個虛擬機自動重啟。該功能由微軟Hyper-V和VMware提供。
雖然一個自動啟動操作的功能可避免人工干預,但這并不是Active Diretory域控制器的一個好選項/功能。在虛擬化主機出現故障的情況下,所有虛擬域控制器都不必配置為自動重啟。
執行該選項將導致啟動域控制器延遲。例如,一個子域控制器在root域控制器啟動運行之前不應啟動。因此,建議關閉該選項或對子域一部分的虛擬機域控制器啟動初始化設置延時。
禁用虛擬域控制器的故障恢復策略
Active Directory是一個多主機復制技術。在Active Directory復制技術的支持下,所有域控制器都與Active Directory數據庫的副本保持著一致。默認情況下,出廠設置中包括了容錯和負載平衡機制的Active Directory域控制器可提供驗證和授權服務。
因此,如果虛擬域控制器運行在集群環境中,最好是關閉所有的故障返回策略以阻止虛擬域控制器在集群內的自動移動。
在一個主機上至少保持運行一個DNS和域控制器
采取這一最佳實踐的原因如下:
1. Active Directory和DNS是緊密集成的組件。運行在生產環境中的網絡應用程序會要求DNS提供域名解析服務。DNS可托管在有或沒有安裝Active Directory服務的服務器上。如果DNS服務托管在一個域控制器上,那么我們建議在物理環境中應至少運行一臺DNS服務器以避免為運行在虛擬基礎設施以外的網絡應用程序提供的域名解析服務中斷。
2. 請記住,微軟故障轉移集群服務要求應用集中式Active Directory域控制器于認證目的。如果你對所有的域控制器都實現了虛擬化,那么故障轉移集群可能就會無法正常工作或提供故障轉移服務。因此,建議在物理環境中至少運行有一個域控制器以便于故障轉移集群可以如預期那樣的正常工作。
3. 虛擬化主機也要求使用DNS服務器的服務。建議在虛擬化主機上配置DNS設置,使用外部DNS服務器以便于在所有虛擬域控制器脫機時域名解析服務也能夠正常工作。
在多個主機上托管虛擬域控制器
了解運行虛擬域控制器的虛擬主機是非常重要的,這是因為虛擬主機也是有可能發生硬件或軟件故障的。虛擬化主機的損失不應導致所有虛擬Active Directory域控制器的損失。
在可能的情況下,最佳實踐要求在多個虛擬主機上傳播虛擬域控制器安裝,以避免任何的服務中斷。