文/ | 2008-09-01發表
Active Directory(AD)是許多企業廣泛使用的管理工具,在網域的樹系結構之下,內部網路各處的電腦、印表機、共享資源,乃至於使用者等物件(Object)皆可透過AD統一管理。然而,AD在建置上仍有一些需要注意的,例如為了因應企業之間截然不同的應用需求,有時負責管理網域運作的網域主控站(Domain Controller,DC)也必須經過適當的調校,才能正常提供服務。
本身擅長於AD、Exchange Server等領域的微軟最有價值專家廖康寧,就他個人的實際經驗為例,DC的調校,可以從DNS伺服器、LDAP查詢(LDAP Query)、資料複寫(Replication),以及物件管理幾個方向著手進行,除此之外,企業應該避免針對單一組織單位(Organizational Unit,OU)指派過多的群組原則,或者套用一些錯誤的設定,導致一般個人端電腦開機時,花在登入網域的時間變得非常冗長。
如果是規模較小,或者是據點位於臺灣本島內部的企業,即使不去特別進行DC調校的工作,一般來說,通常也不會有什麼問題發生,只要各項功能可以正常使用即可,廖康寧表示,如果企業規模較大,或者是需要穿過廣域網路連接DC,建置AD之前就必須經過良好的規畫,將任何可能遇到的問題考量進來,而且調校的工作最好能在DC架設完成後的當下,就馬上進行。
自動清除無效的設定,避免相互複寫,造成效能浪費
DNS是DC的運作核心,在一臺電腦的登入網域的流程,它會去尋找DC要求驗證,透過DNS,電腦便能知道最近一臺的DC位於何處。而DNS則是依賴SRV記錄得知DC所在的IP位址,再將這項資訊,發布給企業網域下的所有電腦。
Windows的DNS伺服器有一項「自動清除過時資料」(scavenging record)的功能(預設不啟用),可以讓DNS每隔一段時間就清除一次無效的資料,預設的間隔是7天,超過這段時間一直沒有被使用的DNS記錄,就會視為多餘,而且是無效的記錄,為了不讓這些資料一直重複的被複製,造成效能上的浪費,同時也可以掌握DC上正常運作的節點數量。
調整架構,加快LDAP查詢
LDAP的查詢速度的快慢也和AD設定有關。對於企業來說,常見的LDAP查詢主要是發生在應用程式上,例如Exchange Server與Outlook之間的互動。
舉例來說,我們開啟Outlook去連接一臺Exchange Server的動作,其實就是在執行LDAP查詢,郵件伺服器會透過LDAP向後端擔任GC(Global Catalog)角色的DC,詢問Outlook傳送過來的帳號、密碼是否正確、有效,確認沒有問題之後,才會允許使用者收取郵件,下載到自己的電腦上閱讀。
廖康寧認為,GC是LDAP查詢過程中,需要加以調校的一項重點,許多人在設定時往往會忽略這一點,就他以前曾經協助處理過的一個案例來說,該企業在中國昆山、上海皆擁有據點,由於後者的使用者人數不多,因此在郵件服務的規畫上,就由上海的使用者透過廣域網路,連線到昆山的Exchange Server收取郵件。
雖然上海本身擁有一臺自己專屬的GC,然而由於郵件伺服器位於昆山,Exchange Server預設會和所在地的GC要求驗證,因此使用者必須連線到昆山的GC,來驗證帳號、密碼。
縱然兩地之間的連線頻寬沒有塞滿其他應用程式的封包,但資訊人員還是發現上海的使用者開啟Outlook之後,通常要經過數分鐘,到十幾分鐘不等,才能向昆山的GC完成驗證,收取郵件,速度非常緩慢。
他們後來針對兩地的GC同步進行了一些調校,讓上海當地的使用者能夠就近向當地的GC進行驗證,於是解決這項問題。
增加DC數量,降低伺服器負荷
在Windows NT 3.5x、4.0的時代,企業僅能在單一網域建立一臺主要網域主控站(Primary Domain Controller,PDC),以及多臺從事資料備份的備份網域控制站(Backup Domain Controller,BDC),兩種網域控制站之間的資料複寫,是以單向方式進行。
Windows 2000取消了PDC、BDC的角色區別,所有位於同一網域下的DC皆具備相同的功能,不但可以提供驗證服務、派送群組原則進行管理,同時也融入BDC的功能,DC之間可以使用雙向方式複寫對方的網域設定。
對於規模較大的企業來說,一般都會在內部網路部署一臺以上的DC,除了預防其中一臺機器因為各種可能的原因產品故障,導致企業內部的網路服務癱瘓,以及資料的流失之外,另外一項考量就是達到DC之間的負載平衡(Load Balance),透過整合DHCP服務的方式,我們可以讓網域下方的電腦各自連接不同的DC,以減輕單一DC的運作負荷。
本身擅長於AD、Exchange Server等領域的微軟最有價值專家廖康寧,就他個人的實際經驗為例,DC的調校,可以從DNS伺服器、LDAP查詢(LDAP Query)、資料複寫(Replication),以及物件管理幾個方向著手進行,除此之外,企業應該避免針對單一組織單位(Organizational Unit,OU)指派過多的群組原則,或者套用一些錯誤的設定,導致一般個人端電腦開機時,花在登入網域的時間變得非常冗長。
如果是規模較小,或者是據點位於臺灣本島內部的企業,即使不去特別進行DC調校的工作,一般來說,通常也不會有什麼問題發生,只要各項功能可以正常使用即可,廖康寧表示,如果企業規模較大,或者是需要穿過廣域網路連接DC,建置AD之前就必須經過良好的規畫,將任何可能遇到的問題考量進來,而且調校的工作最好能在DC架設完成後的當下,就馬上進行。
自動清除無效的設定,避免相互複寫,造成效能浪費
DNS是DC的運作核心,在一臺電腦的登入網域的流程,它會去尋找DC要求驗證,透過DNS,電腦便能知道最近一臺的DC位於何處。而DNS則是依賴SRV記錄得知DC所在的IP位址,再將這項資訊,發布給企業網域下的所有電腦。
Windows的DNS伺服器有一項「自動清除過時資料」(scavenging record)的功能(預設不啟用),可以讓DNS每隔一段時間就清除一次無效的資料,預設的間隔是7天,超過這段時間一直沒有被使用的DNS記錄,就會視為多餘,而且是無效的記錄,為了不讓這些資料一直重複的被複製,造成效能上的浪費,同時也可以掌握DC上正常運作的節點數量。
調整架構,加快LDAP查詢
LDAP的查詢速度的快慢也和AD設定有關。對於企業來說,常見的LDAP查詢主要是發生在應用程式上,例如Exchange Server與Outlook之間的互動。
舉例來說,我們開啟Outlook去連接一臺Exchange Server的動作,其實就是在執行LDAP查詢,郵件伺服器會透過LDAP向後端擔任GC(Global Catalog)角色的DC,詢問Outlook傳送過來的帳號、密碼是否正確、有效,確認沒有問題之後,才會允許使用者收取郵件,下載到自己的電腦上閱讀。
廖康寧認為,GC是LDAP查詢過程中,需要加以調校的一項重點,許多人在設定時往往會忽略這一點,就他以前曾經協助處理過的一個案例來說,該企業在中國昆山、上海皆擁有據點,由於後者的使用者人數不多,因此在郵件服務的規畫上,就由上海的使用者透過廣域網路,連線到昆山的Exchange Server收取郵件。
雖然上海本身擁有一臺自己專屬的GC,然而由於郵件伺服器位於昆山,Exchange Server預設會和所在地的GC要求驗證,因此使用者必須連線到昆山的GC,來驗證帳號、密碼。
縱然兩地之間的連線頻寬沒有塞滿其他應用程式的封包,但資訊人員還是發現上海的使用者開啟Outlook之後,通常要經過數分鐘,到十幾分鐘不等,才能向昆山的GC完成驗證,收取郵件,速度非常緩慢。
他們後來針對兩地的GC同步進行了一些調校,讓上海當地的使用者能夠就近向當地的GC進行驗證,於是解決這項問題。
增加DC數量,降低伺服器負荷
在Windows NT 3.5x、4.0的時代,企業僅能在單一網域建立一臺主要網域主控站(Primary Domain Controller,PDC),以及多臺從事資料備份的備份網域控制站(Backup Domain Controller,BDC),兩種網域控制站之間的資料複寫,是以單向方式進行。
Windows 2000取消了PDC、BDC的角色區別,所有位於同一網域下的DC皆具備相同的功能,不但可以提供驗證服務、派送群組原則進行管理,同時也融入BDC的功能,DC之間可以使用雙向方式複寫對方的網域設定。
對於規模較大的企業來說,一般都會在內部網路部署一臺以上的DC,除了預防其中一臺機器因為各種可能的原因產品故障,導致企業內部的網路服務癱瘓,以及資料的流失之外,另外一項考量就是達到DC之間的負載平衡(Load Balance),透過整合DHCP服務的方式,我們可以讓網域下方的電腦各自連接不同的DC,以減輕單一DC的運作負荷。
在規模龐大的企業環境下,我們可以整合DNS,將電腦分成數群,各自向不同的DC進行驗證,以減輕DNS伺服器的負荷。 |
今年剛發表的Windows Server 2008在網域功能上,提供了一項「唯讀網域控制站」(Read Only Domain Controller,RODC)的新功能,廖康寧指出,RODC並不是用來從事負載平衡,而是方便一些沒有資訊人員常駐的分公司能夠就近找尋DC要求驗證,進而更快速地登入企業網域,擔任RODC角色的伺服器如果出了問題,這時候分公司的電腦仍可透過廣域網路連回總公司的DC實施驗證,或者更新群組原則,不會因此產生太大的影響,頂多就是受限於頻寬,使得資料的傳輸變慢一些而己。
有效管理DC元件
就廖康寧近期從事微軟System Center Configuration Management(SCCM)導入的工作來說,他認為DC的物件管理也是一項很重要的調校工作,如同剛才所提到的DNS,無效的資料的伺服器之間複寫,除了會造成效能的浪費,另外,也有可能造成軟體無法透過DC進行自動部署。
代理程式的安裝率,是SCCM部署工作中,非常重要的一點。安裝率愈低,即代表產品目前可能沒有辦法有效管理企業內部的電腦,以他們公司為例,代理程式安裝率須達到95%以上,才算合格。
SCCM的代理程式安裝率無法提高有一些原因,例如,當企業內部的電腦超過30天沒有登入網域,就會被DC視為一個無效物件,當電腦在DC上成為無效物件之後,就無法登入網域,派送群組原則,同時這個物件會一直在於DC,無法像DNS記錄一樣可以自動清除,然而透過DC部署軟體時,並不會去判別物件的有效性,只要物件存在,SCCM就會認為這臺電腦需要被安裝代理程式。
這臺電腦可能是一臺筆電,被員工帶到國外出差長達半年,或者是一臺離職員工所屬的電腦,考量到這臺電腦還是有可能在DC上進行一些有效的活動,因此他們並沒有針對DC上的無效電腦物件進行清除的動作。
如何找出無效的電腦物件?廖康寧表示,無效物件並沒有辦法從DC的主控臺上分辨出來,他們的做法是在SCCM的SQL資料庫進行查詢,從電腦最後一次登入網域的時間來判斷是否為無效物件。
取而代之的做法是,他們以DNS存在的有效記錄筆數,當做需要安裝SCCM代理程式的電腦總數,因為各種原因久未登入網域的電腦,自然就不會在DNS伺服器上出現任何記錄,因此才使得SCCM代理程式的安裝率得以提高。做好群組原則管理
企業內部的員工電腦、使用者等物件,通常會根據部門的不同而區分成多個組織單位,以便於各自指派不同的群組原則加以管理。因此,群組原則也是企業在調校DC時,需要加以考量的要項。
對於一個組織單位來說,群組原則數量如果設得太多,會造成電腦登入得很慢,群組原則依據性質又可向下區分為「電腦組態」,以及「使用者組態」兩類,如果企業管理內部電腦不需要用到其中一類的話,就應該使用群組原則物件編輯器(gpedit.msc)手動關閉,這樣一來,登入速度會變快一些。
避免不必要的錯誤設定
設定錯誤也是導致網域服務運作緩慢的常見原因。廖康寧表示,過去他自己曾經遇過一種狀況:資訊部門的其他同事,將一支含有錯誤內容的Logon Script批次檔放到DC上執行,而使得公司網域下的電腦,因為程式內容始終無法執行完畢,而必須花費比平常更久的時間才能登入網域,這雖然和上面提到的DC調校沒有直接關係,但是在企業日常管理DC的工作中,的確是相當值得注意的一個例子。
近期在微軟技術社群的討論區上,也出現過一則案例。
某企業位在臺北的總公司及汐止的分公司,原本各自有一臺DC,且同時為GC。但是後來由於變更網域架構關係 ,他們決定拆除了分公司的DC,讓所有電腦改經由專線連回總公司向DC要求驗證。
完成變更之後,使用者發現電腦登入網域的速度明顯變慢,甚至發生連接不到總公司DC的情況,經過了解,原來是因為原本用來複寫兩臺DC資料的子網路設定,沒有隨著網路的變動而隨之移除,造成分公司的電腦登入網域時,出現了不正常的錯誤訊息。
除了單純的調校之外,企業也應該避免在DC上從事一些錯誤設定,造成電腦登入網域的速度遲緩。 |
重整資料庫內容,可維持DC效能
除了廖康寧剛才所提到的幾項重點之外,網域資料庫的重整,對於DC的效能表現也會有很大影響,當AD建立之後,DC會將網域樹系的所有設定儲存在C:\WINDOWS\NTDS下的ntds.dit,這個檔案就是所謂的網域資料庫。網域資料庫可分為Schema(建立和管理網域物件的屬性與定義)、Configuration(儲存和網域架構有關的資料)、Domain(儲存網域物件),以及Application(儲存應用程式資料)四個分割區。
網域資料庫與電腦硬碟的管理工作其實大同小異,同樣需要進行重組才能維持效能,Windows Server 2003的網域資料庫重組是在離線模式下進行,重新開機之後,按下F8,進入AD還原模式,輸入ntdsutil指令進行重組作業,而在Windows Server 2008的環境下,網域資料庫的重整就不需要重新啟動DC,在網域功能正常運作的當下,就可以同時進行線上重組。文⊙楊啟倫
企業網域控制站設定的4個調校技巧
|
微軟最有價值專家廖康寧根據自己在企業內部管理AD的實際經驗,提供了我們以下4個經常使用到的技巧,做為企業日後調整DC設定的參考依據。 資料來源 |