請按一下此處安裝 Silverlight*
Taiwan變更|所有的 Microsoft 網站
Microsoft
|教學短片|技術中心|最新活動時程|網路廣播教學|TechNet 論壇|訂閱電子報|訂閱 TechNet Plus|好書推薦|技術支援服務
伺服器作業系統
個人電腦作業系統
伺服器產品與技術
個人電腦產品與技術
資訊安全產品與技術
System Center 產品
Office System 產品
IT 人員常用資源
嵌入式作業系統
TechNet 在地資源
Technet 首頁 > 產品與技術 > Server Operating Systems > Windows 2000 Server
第 9 章:網域控制站的部署後監看作業


 

部署與作業指引
概要

本章說明如何監看 Active Directory FRS 以確保您的環境能正常運作。

本文件中所包含的資訊內容,僅係 Microsoft Corporation 對各項討論議題於發行當日所持的看法。由於 Microsoft 必須隨著市場的變更而改變,所以上述資訊不應被視為是 Microsoft 的某種承諾, Microsoft 也無法保證在產品發行之後,相關資訊的正確性和精確度。

本「白皮書」的目的僅限於資訊的提供而已。本文件的內容及資訊,不論其為明示或默示者,MICROSOFT 均不為瑕疵責任擔保。

遵守相關版權適法性為使用者應負的責任。在不損及版權所賦予的權限下,若無 Microsoft Corporation 的書面同意,不論其原因或目的為何,本文件之內容不得以任何方式或形式 (包含電子、機械、 影印、錄製或其他方式或形式) 予以複製、儲存、導入或傳送至可擷取的系統中。

Microsoft 擁有本文件中所述及題材與內容之專利權、專利應用程式、商標、版權或相關的智慧財產權。除非有 Microsoft 書面授權合約的明文規定,任何對本文件內容之增修或潤飾並不賦予使用者任何專利、商標、版權或其他智慧財產權的相關授權。

Ó 2000 Microsoft Corporation. All rights reserved.
Microsoft
Windows Active Directory Microsoft Corporation 在美國與/或其他國家的註冊商標或商標
1200
 

本章討論您在 Microsoft® Active Directory™ 目錄服務分公司環境中所應監看的地方。

資源需求條件

您需要讓操作人員不斷監看分公司的網域控制站。

準備事項

您將需要能負責監看 Active Directory 與「檔案複寫服務」(File Replication serviceFRS) 和排解相關疑難的操作人員。

基本準備項目

若要執行網域控制站的監看工作,您必須有管理員的使用者帳戶和密碼。

當您完成分公司環境中 Active Directory 的部署後,請務必繼續執行網域控制站的品質確定檢查工作。這樣做的目的,是要在問題對辦公室環境造成重大影響,以及影響使用者存取網路資源的能力前,先偵測出任何潛在的問題。

您應該定期對網域控制站執行品質確定檢查。這些檢查工作最少應每天執行一次。如果您的分公司網域控制站僅每天複寫一次集線站台中的橋頭伺服器,則每天在複寫間隔時間後需執行一次品質確定檢查。這個動作能讓您確認當天的複寫成功、偵測出任何可能發生的問題,並讓您可以在下次複寫間隔時間前更正所有問題。如果您在每天的複寫間隔時間前執行品質確定檢查,那麼您在 24 小時之內都無法察覺出問題,可能會讓問題對環境造成更大的影響。

當您進行網域控制站品質確定檢查時,應注意到以下三個主要方面:

·         一般網域控制站監看

·         Active Directory 複寫監看

·         FRS 複寫監看

本章將對這三方面詳加說明。但是,在查看這些細節之前,我們將先檢查此分公司指引中所含的品質確定指令碼。

Active Directory 分公司指引包含一組品質確定指令碼,您可用來執行分公司環境中的每日品質確定檢查。您應該排程每天在網域控制站上執行這些指令碼 包括分公司網域控制站和您在集線站台中的橋頭伺服器。

品質確定指令碼

組成品質確定程序的指令碼有四種。我們將在稍後敘述這些指令碼,以及它們彼此之間的互動。

QA_Check.cmd

這是品質確定程序的主要指令碼。它會記錄網域控制站執行時的最新狀態。這個指令碼使用各種 Microsoft Windows® 2000 Resource Kit 公用程式和其他指令碼來取得有關網域控制站、Active Directory 複寫,和 FRS 複寫的資訊。如需這些指令碼作用的詳細說明,請參閱下面標題為<使用 QA_Check.cmd 執行檢查>的章節。

注意:QA_Check.cmd 指令碼使用 Microsoft Windows 2000 Resource Kit 中的 Ntfrsutl.exe 公用程式來取得 FRS 資訊。若要取得此 FRS 資訊,在您不是於排程的品質確定檢查期間執行此指令碼的情況下,您必須使用管理員帳戶才能執行指令碼。

QA_Parse.vbs

這個指令碼是由 QA_Check.cmd 指令碼所呼叫,並且能剖析公用程式所建立的資料檔,指令碼則在進行品質確定程序時執行。指令碼將會分析資料檔以找出錯誤及潛在的問題,然後將這些資訊寫入摘要檔。之後 QA_Check.cmd 指令碼將會把這個摘要檔複製到中央伺服器,這樣您便有一個單一位置來檢查網域控制站的狀態。

CheckServers.cmd

這個指令碼是用於擁有各網域控制站摘要檔的中央伺服器,以提供有關您的環境中網域控制站狀況的狀態報告。這個指令碼會輸出一個含有三項網域控制站清單的檔案:

·         健全且未報告任何錯誤的網域控制站

·         已報告錯誤並需要進一步調查的網域控制站

·         未報告錯誤但仍應調查的網域控制站

CheckServers.vbs

CheckServer.cmd 使用這個指令碼來分析網域控制站中的摘要檔,並判斷網域控制站應放置在哪一個清單中。

使用品質確定指令碼的程序

使用本指引包含的品質確定指令碼有四個步驟。步驟為:

1.   安排 QA_Check.cmd 在環境中的每個網域控制站中執行。應該排程在每天的複寫間隔時間後執行這個指令碼。QA_Check.cmd

·           C:\ADResults\<computername> 中的所有檔案複製到 C:\ADResults\<computername>\old 中。這個動作可產生網域控制站狀態的記錄。

·           執行 Microsoft Windows 2000 Resource Kit 公用程式和其他指令碼。這個動作會針對各個公用程式與指令碼產生一連串的資料檔,並將資料檔儲存在 C:\ADResults 中。

注意:每次 QA_Check.cmd 指令碼執行後即會覆寫儲存在 C:\ADResults 中的資料檔。

·           執行 QA_Parse.vbs 指令碼以產生網域控制站的摘要報告。摘要報告會使用網域控制站的電腦名稱與目前的日期與月份做為檔案名稱,例如:BO1DC-30-11.txt。這個檔案儲存在 C:\ADResults\<computername> 中。

·           在中央伺服器上,將之前的摘要檔案複製到 \\<server>\QAShare\<computername>\old 資料夾中。

·           將新的摘要檔複製到 QA_Check.cmd 指令碼所指定的中央伺服器上。該檔案即複製到 \\<server>\QAShare\<computername> 資料夾中。

2.   排定在中央伺服器上執行 CheckServers.cmd。您應該排程每天執行這個指令碼,其時間應該在所有網域控制站排程執行 QA_Check.cmd 檔案後。CheckServers.cmd 指令碼:

·           C:\QAShare\Serverreport.txt 複製到 C:\QAShare\old

·           執行 CheckServers.vbs 以剖析各網域控制站複製到中央伺服器上的摘要檔,生成 C:\QAShare\Serverreport.txt

3.   使用記事本來檢查 C:\QAShare\Serverreport.txt 檔案的內容,以判斷是否有任何網域控制站報告錯誤,或未在最後一個品質確定週期內提出報告。

4.   如果有網域控制站報告錯誤、或未提出報告,那麼您將需要進行調查並解決所有的錯誤。若要開始調查錯誤,請先開啟 C:\QAShare\<computername> 資料夾中的摘要檔。從這個資料夾中,您可以檢查網域控制站本身的詳細檔案 (我們將在下一節詳細討論)

QA_Check.cmd 所產生的記錄檔

QA_Check.cmd 指令碼使用 Microsoft Windows 2000 Resource Kit 中的公用程式與其他數個指令碼來記錄網域控制站的狀態。QA_Check.cmd 會產生大量的資料。這也就是為什麼指令碼使用 QA_Parse.vbs 建立摘要檔的緣故。但是,如果有網域控制站報告錯誤,那麼您將需要檢查該指令碼所產生的資料檔。這一節將列出所產生的每一個資料檔,以及用以產生檔案的工具。

QA_Check.cmd 會在每個執行這個指令碼的網域控制站上,於 C:\ADResults 資料夾中建立下列檔案:

檔案

內容

Dcdiag.txt

執行 Dcdiag.exe 的輸出,以執行網域控制站的診斷檢查。

Netdiag.txt

執行 Netdiag.exe 的輸出,以檢查網路組態及網域控制站的運作情況。當執行 Netdiag.exe 時,系統會略過 Lightweight Directory Access Protocol (LDAP) 測試,因為當有大量的網域控制站時,這些測試將對網路造成沈重的負荷。

GPOstat.txt

執行 Gpostat.vbs 的輸出,以確認各「群組原則」物件是否已經同步。

Ntfrs_ds.txt

執行 Ntfrsutl.exe ds 的輸出,以列出 DS FRS 檢視。

Ntfrs_sets.txt

執行 Ntfrsutl.exe 集合的輸出,以列出使用中的複本組。

Ntfrs_inlog.txt

執行 Ntfrsutl.exe inlog 的輸出,以列舉 FRS inlog

Ntfrs_outlog.txt

執行 Ntfrsutl.exe outlog 的輸出,以列舉 FRS outlog

Ntfrs_version.txt

執行 Ntfrsutl.exe 版本的輸出,以列出應用程式設計介面 (API) 和服務版本。

Ntfrs_reg.txt

執行 Regdmp.exe 的輸出,以輸出 HKEY_LOCAL_MACHINE\System\CurrentControlSet\
Services\NtFrs\Parameters
登錄機碼的內容。

Ntfrs_sysvol.txt

執行 Dir %Systemroot%\sysvol /s 的輸出,以儲存 SYSVOL 資料夾內容的清單。

Frsconstat.txt

執行 Connstat.cmd 的輸出,以摘要 FRS 的連線狀態。若需有關這個指令碼運作的詳細資料,請參考本章後面的<使用 Connstat.cmd 監看 FRS 複寫>。

Ntfrs_errscan.txt

執行 Findstr 的輸出,以搜尋含有「error」、「invalid」、「fail」、「abort」和「warn」的 %windir%\debug\ntfrs_*.log 檔。

Ntfrs_parse.txt

執行 Findstr 的輸出,以搜尋含有「error」、「invalid」、「fail」、「abort」和「warn」的 %windir%\debug\ntfrs_0005.log 檔。

Ntfrs_parse2.txt

執行 Findstr 的輸出,以搜尋含有「ERROR - EXCEPTION (000006ba) %windir%\debug\ntfrs_0005.log 檔:WStatus:RPC_S_SERVER_UNAVAILABLE」、「ERROR - STAGING AREA FULL」、「ERROR - DISK_FULL」、「ERROR_DISK_FULL」、「ERROR - EXCEPTION  EPT_S_NOT_REGISTERED」、「has no inbound server」、「has no outbound server」、「DS:Multiple connections from」、「WARNING:Setting FrsVsn - Current system Time has moved backwards from value in config record」和「JRNL_WRAP_ERROR」。

Ds_showreps.txt

執行 Repadmin /showreps 的輸出,以列出網域控制站的複寫協力電腦。

Ds_showconn.txt

執行 Repadmin /showconn 的輸出,以列出網域控制站的連線物件。

Services.txt

執行 Net Start 的輸出,以列出在網域控制站上執行的服務。

如果網域控制站的摘要檔中指出該檔中有報告錯誤,那麼您應該檢查上述的記錄檔,並判斷報告的錯誤有什麼特點。這些記錄檔中的其他資訊將幫助您排除錯誤。除檢查上述檔案外,您亦應該檢查「事件檢視器」中的事件日誌,看看是否有任何記錄事件與錯誤有關聯。

除了監看網域控制站上的 Active Directory FRS 之外,對您的網域控制站進行一般監看也是很重要的。監看網域控制站包含兩個重要領域,一是處理器的使用率,一是可用的磁碟空間。

您務必在橋頭網域控制站上隨時監看於這一節所討論的效能計數器。如果分公司網域控制站出了問題,那麼您應該監看這些計數器以協助您找出問題的所在。

處理器使用率

監看網域控制站上的處理器使用率,能幫助您判斷網域控制站是否因登入過多而造成多載,或是橋頭伺服器因複寫過多而多載。此舉亦能協助您確認您是否達成服務層級協定。

如要監看網域控制站處理器的使用率,您可以使用「系統監視器」或「效能記錄和警示」來監看 Processor\ % Processor Time 計數器。

可用磁碟空間

監看可用磁碟空間是一件非常重要的工作,因為一旦當儲存下列項目的任一分割區發生空間不足的情況時,便可能會導致網域控制站發生問題,項目包含:

·         Active Directory 資料庫檔案

·         Active Directory 記錄檔

·         SYSVOL 資料夾

根據預設值,這些項目都儲存在 C:\WINNT\NTDS C:\WINNT\SYSVOL 資料夾中。

若要監看含有 Active Directory 資料庫與記錄檔,以及 SYSVOL 資料夾之分割區的可用磁碟空間,請使用「系統監視器」或「效能記錄和警示」來監看 LogicalDisk\ Free Megabytes 計數器。

監看網域控制站的效能

除監看處理器使用率和可用磁碟空間外,您也可以監看網域控制站效能,方法是藉由追蹤效能記錄和警示中的效能計數器,然後檢視系統監視器中的結果。例如,如果您想要監看伺服器是否有定期接收和套用目錄複寫更新資料,您可以從 NTDS 效能物件中選取一個或多個計數器,然後在系統監視器中檢視目前的活動。

使用下列兩個效能物件的計數器來監看網域控制站的效能:

·         NTDS 物件計數器

·         資料庫物件計數器

注意:您必須先手動安裝資料庫效能物件,然後才能使用這個物件。本手冊後面有安裝指示。

當您監看 NTDS 和資料庫計數器一段時間後,這兩個計數器應該皆會顯示某些活動。但活動的數量會因您的環境而大不相同。影響活動的因素有分公司網域控制站的數目、用戶端的數目、排定複寫的頻率、發生改變的目錄數目等等。

NTDS 物件計數器

NTDS 效能物件計數器讓您能監看 Active Directory 的效能。NTDS 效能物件包括提供有關網域控制站、LDAP 和驗證之間 Active Directory 複寫活動資訊的計數器。

監看 Active Directory 的實用 NTDS 計數器

下表描述用於監看 Active Directory 的實用計數器。

物件\計數器

說明

指導原則

 

NTDS\ DRA Inbound Bytes Total/sec

代表每秒透過複寫所接收的位元組總數。這是未壓縮資料與壓縮資料的位元組數目總和。

這個計數器在一段時間後應該顯示出某些活動。如果沒有,這通常表示網路在減緩複寫速度。

NTDS\ DRA Inbound Object Updates Remaining in Packet

代表目前目錄複寫更新封包中所接收的物件更新數目,而此封包尚未套用至本機伺服器。此計數器指出所監看的伺服器正在接收變更,但將變更套用至資料庫需要很長的一段時間。

此計數器的值應儘可能降低。如果沒有,則通常表示伺服器硬體在減緩複寫速度。

NTDS\ DRA Outbound Bytes Total/sec

代表每秒所傳送的位元組總數。這是未壓縮資料與壓縮資料的位元組數目總和。

這個計數器在一段時間後應該顯示出某些活動。如果沒有,這通常表示伺服器硬體或網路問題在減緩複寫速度。

NTDS\ DRA Pending Replication Synchronizations

表示尚未處理之伺服器中已佇列的目錄同步處理數目。這個計數器可協助您判斷複寫的積存數目計數器越高,積存數目也越大。

此計數器的值應儘可能降低。如果沒有,則通常表示伺服器硬體在減緩複寫速度。

NTDS\ DS Threads in Use

代表目錄服務目前使用中的執行緒數目。

這個計數器在一段時間後應該顯示出某些活動。如果沒有,則通常表示網路問題干擾到用戶端的要求。

NTDS\ Kerberos Authentications/sec

代表網域控制站每秒所提供的 Kerberos 驗證數目。

這個計數器在一段時間後應該顯示出某些活動。如果沒有,而且用戶端使用 Windows 2000 的話,通常表示網路發生了問題。

NTDS\ LDAP Bind Time

代表最後一次成功完成 LDAP 繫結所需的時間 (以毫秒為單位)

此計數器的值應儘可能降低。如果沒有,則通常表示發生與硬體或網路相關的問題。

NTDS\ LDAP Client Sessions

此值代表已連線 LDAP 用戶端的工作階段數目。

這個計數器在一段時間後應該顯示出某些活動。如果沒有,則通常表示發生與網路相關的問題。

NTDS\ LDAP Searches/sec

代表 LDAP 用戶端每秒所執行的搜尋作業次數。

這個計數器在一段時間後應該顯示出某些活動。如果沒有,則通常表示網路問題干擾到用戶端的要求。

NTDS\ LDAP Successful Binds/sec

此值代表每秒成功完成的 LDAP 繫結數目。

這個計數器在一段時間後應該顯示出某些活動。如果沒有,則通常表示發生與網路相關的問題。

NTDS\ NTLM Authentications

代表網域控制站每秒所提供的 NTLM 驗證數目

這個計數器在一段時間後應該顯示出某些活動。如果沒有,而且用戶端使用 Windows 98 Windows NT® 的話,通常表示發生與網路相關的問題。

資料庫物件計數器

您可以用資料庫效能物件計數器在進階層級監看 Active Directory 資料庫。這些計數器可提供有關資料庫快取、資料庫檔案,和資料庫表格效能的資訊。您可以用一些計數器來判斷您是否需要更多硬碟來儲存額外的 Active Directory 資料。

監看 Active Directory 資料庫的實用計數器

下表將描述用以分析 Active Directory 資料庫的實用計數器。

物件\計數器

說明

指導原則

 

Database\ Cache % Hit

代表在不引發檔案操作的情況下,資料庫檔案分頁要求由資料庫快取完成的百分比。

這個計數器在一段時間後應該顯示出某些活動。如果沒有,則通常表示伺服器沒有足夠的可用實體記憶體,而且您應該考慮新增一些記憶體。

Database\ Cache Page Fault Stalls/sec

代表因資料庫快取中無可用分頁可供配置,而導致每秒分頁錯誤的數目。

這個計數器應該為零。如果不是,這通常表示伺服器需要更多記憶體。

Database\ Cache Page Faults/sec

代表每秒資料庫檔案的分頁要求數目,此檔案需要資料庫快取管理員從資料庫快取配置新的分頁。

此計數器的值應儘可能降低。如果不是,這通常表示伺服器需要更多記憶體。

Database\ File Operations Pending

代表資料庫快取管理員對資料庫檔案,或作業系統目前所處理檔案讀取或寫入的次數。

此計數器的值應儘可能降低。如果沒有,這通常表示伺服器需要更多記憶體或處理能力。

Database\ File Operations/sec

代表資料庫快取管理員每秒讀取或寫入資料庫檔案或檔案的次數。

此計數器的值應儘可能降低。如果不是,這通常表示伺服器需要更多記憶體。

Database\ Log Record Stalls/sec

代表因緩衝區已滿,而使記錄檔記錄無法加入記錄緩衝區中的 (每秒) 例項數目。

此計數器的值應該儘可能接近零。如果不是,這通常表示伺服器需要更多記憶體,而且記錄緩衝區的大小已變成瓶頸。

Database\ Log Threads Waiting

代表等待將資料寫入記錄檔,以完成更新資料庫之執行緒的數目。

此計數器的值應儘可能降低。如果沒有,這通常表示伺服器需要更多記憶體或更快的硬碟。

Database\ Table Open Cache Hits/sec

代表每秒因使用快取架構資訊而開啟的資料庫表格數目。

這個計數器的值應儘可能的高。如果不是,這通常表示伺服器需要更多記憶體。

安裝資料庫效能物件

資料庫效能物件監看「可擴充式儲存引擎」(Extensible Storage EngineESENT),此引擎是儲存所有 Active Directory 物件的異動資料庫系統。

安裝資料庫效能物件

因預設情況下並沒有安裝資料庫效能物件,所以您必須使用效能動態連結程式庫 (DLL),即 Esentprf.dll 來安裝此物件。

若要安裝資料庫效能物件:

1.   %SystemRoot%\System32\esentprf.dll 中的 DLL 複製到不同的目錄中。例如,建立一個名為 C:\Performance 的目錄,然後複製 DLL 並貼到新的目錄中。

2.   執行 Regedt32.exe ( Regedit.exe),然後建立下列登錄子機碼 (如果尚未建立的話)

 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ESENT

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ESENT\Performance

 

3.   請確定在 Performance 子機碼下的登錄值設定如下:

 

Open :REG_SZ :OpenPerformanceData

Collect :REG_SZ :CollectPerformanceData

Close :REG_SZ :ClosePerformanceData

Library :REG_SZ :C:\Performance\esentprf.dll

4.   切換目錄至 x:\Winnt\System32,其中 x Windows 2000 的安裝磁碟代號。

5.   若要將計數器資訊載入登錄中,請執行:

Lodctr.exe Esentperf.ini

檢視資料庫效能物件計數器

在您安裝好資料庫效能物件後,您可以重新啟動「系統監視器」以檢視計數器。

監看 FRS 效能

除了上述所討論的 Active Directory 效能計數器外,還有監看 FRS 效能的計數器。FRS 效能計數器在兩種效能物件中:

·         FileReplicaConn。含有監看至分散式檔案系統 (Dfs)roots 複本連線效能的計數器。

·         FileReplicaSet。含有監看複本組效能的計數器。

FileReplicaSet 效能物件中,您必須監看下列計數器以確保 FRS 的運作正常。下列各計數器在監看一段時間後都應該顯示某些活動。

計數器

說明

Change Orders Received

代表從傳入的協力電腦中所接收到的變更通知數目。

Change Orders Sent

代表傳送至傳出協力電腦的變更通知數目。

File Installed

代表安裝在本機電腦上的複寫檔案數目。

Packets Received

代表本機電腦所接收的資料量。這些封包可以是變更通知、檔案資料,或其他指令封包。

Packets Sent

代表已傳送的資料量。這些封包可以是變更通知、檔案資料,或其他指令封包。

USN Records Accepted

代表已接受用於複寫的記錄數目。複寫動作將由寫入 NTFS 變更日誌的項目觸發。FRS 會從日誌中讀取每個檔案關閉記錄,然後判斷是否要複寫檔案。

已接受的記錄將會產生變更指示,並於稍後將指示傳送出去。此計數器的值若較高 (約每五秒一次),即表示複寫輸送量很繁重,這可能延遲複寫作業。

除了上面表格中的計數器外,您還應該定期監看下列兩個 FileReplicaSet 計數器,以確定磁碟空間不足不會導致 FRS 問題:

·         KB of Staging Space Free。代表 FRS 在複寫檔案前,用以暫時儲存檔案之接移目錄中的可用磁碟空間數量。

·         KB of Staging Space in Use。代表接移目錄目前使用中的空間大小。如果接移目錄空間不足,複寫便會停止。

在做 Active Directory 部署時,常會忽視到的最重要一點是對作業環境的持續監看。藉由持續的監看,您能夠偵測到環境中所可能引發的任何問題,並希望在它們影響環境或使用者前修正這些問題。

如果您沒有定期持續監看,網域控制站可能會發生問題,而您可能對此毫無警覺,直到這個問題開始影響使用者為止。到系統報告使用者發生問題,而您辨識出問題的原因時,此問題可能已對環境的影響可能超過如果持續監看程序已偵測出問題的話。

監看的項目

當監看 Active Directory 時,需要監看的主要項目包括;

監看的項目

用於監看的公用程式

DNS 和網路組態

Netdiag.exe

連線物件

Repadmin.exe Replmon.exe

複寫

Dcdiag.exeRepadmin.exe Replmon.exe

如果上面任一項目發生問題,都會影響到 Active Directory

下一節將討論用以監看這些項目的公用程式。

使用 Netdiag.exe 監看網路連線和 DNS

Netdiag.exe 診斷工具可用來找出網路和連線的問題。Netdiag.exe 會執行一連串的測試以判斷網路用戶端的狀態,並決定其運作是否正常,同時並確認 DNS 名稱登錄。這些測試和 Netdiag.exe 所提供的網路狀態資訊可用來辨識並隔離網路的問題。

執行監看 Active Directory 環境的 Netdiag.exe 時,建議使用以下的指令行與參數: 

netdiag /v

/v 參數提供詳細資訊輸出。

這個指令行包含在 QA_Check.cmd 指令碼中,並加上 /skip:LDAP 參數。Netdiag.exe 所執行的 LDAP 測試在嘗試聯繫您環境中的每個網域控制站時,會產生大量的網路輸送量。然而因為每個網域控制站每天都會執行 QA_Check.cmd 指令碼,因此執行 LDAP 測試會對分公司網路造成相當大的負擔,並降低連結速度。但是,您仍然需要每週最少執行一次 Netdiag.exe,並且不加上 /skip:LDAP 參數,以確保沒有任何 LDAP 問題產生。

您應該排除 Netdiag.exe 所找到的所有問題,並使用 Netdiag.exe 輸出所提供的資訊來協助隔離問題。有關特定錯誤的詳細資訊,請參閱本書第 11 章<分公司環境的疑難排解指南>。

使用 Repadmin.exe 監看 Active Directory 複寫

Repadmin.exe 亦稱為「複寫診斷」工具,可用來診斷複寫的問題。管理員可用 Repadmin.exe 檢視網域控制站對複寫拓樸的看法。此外,Repadmin.exe 也可用來強制網域控制站之間的複寫事件,並檢視複寫中繼資料與最新的向量 (vector)

各網域控制站上應定期使用的 Repadmin.exe 參數有兩種:/showreps /showconnQA_Check.cmd 指令碼可同時用這兩個參數來執行 Repadmin.exe

/showreps

這個參數顯示指定網域控制站上各命名內容中的複寫協力電腦,包括傳入與傳出的協力電腦。藉由檢查複寫協力電腦,您可以判斷網域控制站是否擁有正確的連線物件。當您對各複寫協力電腦使用 /showreps 時,亦可顯示上次所嘗試的複寫動作,以及這項嘗試是否成功,例如:

DC=branches,DC=corp,DC=hay-buv,DC=com

HUB\HUBDC1 via RPC

objectGuid:fe641acc-3d4e-48a9-ada6-209e5329feef

Last attempt @ 2000-12-02 07:09.44 was successful.

/showconn

這個參數顯示目前網域控制站上的連線物件。藉由檢查連線物件,您可以判斷網域控制站是否已設定為複寫集線器站台中正確的橋頭伺服器。此外,您也可以用傳回的資訊確認所啟用的連線、所使用的傳輸、連線物件建立的時間,以及上次變更連線物件的時間。例如:

CN=Staging, CN=Sites,CN=Configuration,DC=corp,DC=hay-buv,DC=com:

POS\HUBDC1 to POS

enabledConnection:TRUE

fromServer:HUB\HUBDC1

TransportType:IP

whenChanged:20001130071554.0Z

whenCreated:20001130070741.0Z

如果您覺得網域控制站的複寫協力電腦不正確,應該檢查 Mkdsx.dat 檔案以判斷正確的複寫協力電腦應是何者。然後您應該使用 Active Directory 站台及服務檢查錯誤的連線物件,看看您是否可以判斷出它們的建立方式。重新執行 Mkdsx 指令碼將會移除任何不應是拓樸一部份的連線物件,並重新建立所有可能遺失的有效連線物件。

使用 Dcdiag.exe 監看 Active Directory 複寫

Dcdiag.exe 是一個可用來分析網域控制站狀態並報告問題的公用程式。Dcdiag.exe 會執行一連串的測試來確認系統的不同部分,這些測試包括:

·         連線

·         複寫

·         拓樸整合性

·         檢查 NC Head 安全性描述元

·         檢查網路登入權限

·         定位程式取得網域控制站

·         站台間的運作狀況

·         檢查角色

·         信任確認

Dcdiag 應使用的參數有三種:

·         /v。提供詳細資訊結果

·         /f:LogFile。將輸出重新導向至指定的記錄檔

·         /ferr:ErrLog。將嚴重錯誤輸出重新導向至不同的記錄檔

當使用 /v 以顯示詳細資訊結果時,Dcdiag 的輸出將提供相當多的資訊,這會使排除所找到的錯誤變得更容易。除此之外,Dcdiag 還會在資訊的末端為各種測試顯示摘要行,以指出這項測試是否通過或失敗。以下是 Dcdiag 測試的輸出範例:

Starting test:RidManager

* Available RID Pool for the Domain is 6603 to 1073741823

* hubdc1.branches.corp.hay-buv.com is the RID Master

* DsBind with RID Master was successful

* rIDAllocationPool is 4603 to 5102

* rIDNextRID: 4605

* rIDPreviousAllocationPool is 4603 to 5102

......................... POS passed test RidManager

QA_Check.cmd 指令碼使用下面的指令行來執行 Dcdiag.exe

Dcdiag /s:%computername% /v /f:C:\ADResults\Dcdiag.txt /ferr:C:\ADResults\Dcdiagerr.txt

您應該排除 Dcdiag 所找到的任何問題,並使用 Dcdiag 輸出所提供的資訊來協助隔離問題。有關特定錯誤的詳細資訊,請參閱本書第 11 章<分公司環境的疑難排解指南>。

使用 Replmon.exe 監看 Active Directory 複寫

Replmon.exe 可用來檢視 Active Directory 複寫的低層級狀態、強制網域控制站之間的同步處理、檢視圖形格式的拓樸,及透過圖形介面監視網域控制站複寫的狀態與效能。

因為 Replmon.exe 擁有圖形介面,所以 QA_Check.cmd 指令碼並不會用它來監看網域控制站。但某些管理員在檢查 QA_Check.cmd 產生的摘要檔中所報告的錯誤原因時,可能會想要使用 Replmon.exe。基於這個目的,使用 Replmon.exe 提供兩項實用功能:

·         產生狀態報告。這個選項可產生受監看伺服器的狀態報告,包括:伺服器目錄分割區的清單、各目錄分割區複寫協力電腦的狀態、當記錄變更時監看伺服器通知網域控制站的詳細資料、任何「群組原則」物件的狀態、擁有操作主機的網域控制站、電腦上效能計數器的快照,以及伺服器的登錄組態。

·         顯示複寫拓樸。這個選項可顯示站台間拓樸的圖形檢視,並可用以顯示伺服器內容,以及該伺服器上所存在之任何站台間的連線。

FRS 是一種多執行緒的複寫引擎,可用來同時複寫不同電腦間的檔案。當您新增、移除或修改網域控制站上 SYSVOL 資料夾的內容時,這些變更便由 FRS 複寫到該網域內其他所有網域控制站的 SYSVOL 資料夾中。

FRS 在複寫 SYSVOL 內容時,使用的是與 Active Directory 相同的連線物件。因此,在進行站台間複寫時也會使用與 Active Directory 相同的排程。

一定要監看 FRS 複寫並確定複寫在您的環境中正常運作。如果 FRS 無法複寫至網域控制站,而您使用的是「群組原則」的話,「群組原則」變更將無法複寫至發生複寫問題的網域控制站內。

不巧的是,並沒有太多工具可以監看 FRS 複寫。能夠用以監看 FRS 複寫的方法有三種:

1.   其中最實際的方法就是將「標籤檔案」複製到 SYSVOL 共用資料夾。在網域控制站複寫協力電腦的下一個複寫間隔時間後,您可以檢查複寫協力電腦的 SYSVOL 共用資料夾,看看「標籤檔案」的複寫是否成功。

2.   檢查 FRS 記錄檔中是否有錯。FRS 所產生的記錄檔是一種有效的方法,用以追蹤執行的動作和 FRS 遇到的任何問題。

3.   使用 Microsoft Windows 2000 Resource Kit 中的 Ntfrsutl.exe 來檢視 FRS 資訊。

QA_Check.cmd 指令碼使用方法 2 3 來監看 FRS 服務的問題。下面將詳細描述這兩種方法。

檢查 FRS 記錄檔

FRS 會在 %systemroot%\Debug 資料夾中建立文字型的記錄檔以協助 FRS 問題的除錯。若要觀察特定事件,您應該取得最接近事件發生之記錄檔的快照。將記錄檔儲存在其他位置,以便您稍後進行檢查。

在預設情況下,FRS 記錄檔會將異動和事件細節存成依順序編號的檔案:如 Ntfrs_0001 Ntfrs_0005。異動和事件將寫入當時版本編號最高的記錄檔中。Ntfrsapi.log 檔案中含有升級和降級時所發生的事件換言之,即是在 FRS 登錄機碼中建立 FRS 子機碼。

若要擷取隨機或斷續事件,您可以擴充 FRS 記錄檔的編號。例如,您可以將記錄檔的編號增加到 50,然後在編號用盡時保存這些檔案。這有助於累積回應使用者突發查詢所需的記錄,並找出問題的所在。

根據調查的問題,可能有必要檢視傳入和傳出複寫上的 FRS 記錄。如果是這樣,您必須確定兩個伺服器上的系統時間是同步的,這樣才能使複寫協力電腦間的事件相互關聯。

最後,當在尋找和保持系統上的重要記錄事件時,「服務控制管理員」(Service Control ManagerSCM) FRS 服務的復原設定扮演非常重要的角色。如果服務已經聲明,但 SCM 卻設定成在發生錯誤時自動啟動 FRS,那麼系統將會產生足以使 Ntfrs_0005.log 中事件減量的記錄傳輸量,並使磁碟中的事件遭到刪除。當快要發生錯誤時,停止傳入和傳出複寫上的服務,然後將記錄檔複製到其他位置以進行分析。

設定 FRS 記錄檔

記錄檔的特性是由 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters 子機碼中數個登錄項目的值所決定。下列登錄項目可用來設定產生 FRS 記錄檔的方式:

·         Debug Log Files。指定將建立的記錄檔數目。當記錄檔編號用盡時,系統會刪除版本最低的記錄檔,然後將剩餘的記錄檔名稱減 1 以確定有足夠空間建立新的記錄檔。請注意,如果您變更登錄中的這個值,則您必須編輯 QA_Check.cmd 檔,並將對 Ntfrs_0005.log 之所有參考中的數字 5 變更為這個值所指定的號碼。

·         Debug Log Severity。指定 FRS 記錄檔中的詳細資料層級。詳細資料的層級可以從 0 5,而 5 則代表提供最詳細的資料。如果這個值未顯示出來,則預設值為 2

·         Debug Maximum Log Messages。指定記錄檔的大小,以行數為單位。記錄檔的預設值為 10,000 行,其大小約為 1 MB

若要變更 FRS 記錄檔的數量、大小或詳細資料層級,請編輯登錄項目中的值。在您增加記錄檔的大小或數量前,請確定有足夠的磁碟空間可以使用。

當變更這些登錄項目時,您應該停止 FRS 服務、編輯登錄,然後重新啟動 FRS 服務,以使這些變更立即生效。

分析 FRS 記錄檔

使用 FRS 記錄檔解決問題的第一步就是確定登錄中的「Debug Log Severity」項目設定的值夠高,才能夠擷取識別問題所需的事件。

下一步,識別記錄中的錯誤、警告訊息和里程碑事件。最好的作法是從上一個記錄檔的底部開始,然後逐一展開您的工作。將您的重點擺在「安裝」(install)、「成功」(success)、和「失敗」(fail) 等關鍵字上。如果您找不到所要搜尋的錯誤,請從上一個記錄檔的底部開始 (Ntfrs_0005.log,然後是 Ntfrs_0004.log,依此類推)。使用 Find Findstr 指令來找出記錄檔中的錯誤,如:

find /in "error warn fail" ntfrs*.* >err.tmp

注意:QA_Check.cmd 指令碼含有數個 Findstr 指令可檢查 FRS 記錄檔中的特定訊息。檢查 QA_Check.cmd 指令碼中的其他訊息範例,藉以搜尋 FRS 記錄檔。

您可以根據內容略過某些錯誤,如「jet attach db – 1811. Db not found」,因為 Ntfrs.jdb 檔案在 FRS 第一次啟動時並不存在。直到服務建立檔案後,您將在 Dcpromo 之後或手動刪除 Ntfrs.jdb 檔案後立即看到這個錯誤。當使用者或程序鎖定檔案時,會發生 SHARING_VIOLATION 訊息所指定的共用違規。因為 FRS 僅會追蹤已關閉的檔案、鎖定檔案和未複製的目錄。

如果您在 FRS 記錄檔中發現失敗錯誤,請檢查執行緒編號並繼續尋找符合執行緒識別碼記錄中的所有事件,直到您看到相關的變更命令為止。若要知道為什麼伺服器 A 上的檔案沒有複寫到第二或第三個複寫,請找到原生伺服器上 Ntfrs_00n.log 檔案中的 ":: COG" 編號。在第二和第三個複寫的記錄中搜尋相同的全域唯一識別項 (GUID)。若 “:: COG” 項目出現在 FRS 記錄檔中,則「Debug Log Severity」登錄值必須設定為 3 或更大的值。

FRS 記錄檔的內容

FRS 記錄檔中有各種識別碼。下表將列出最重要的識別碼,並加以說明以協助您解釋 FRS 記錄檔的內容。在某些情況下,僅有 GUID 的第一個 DWORD 會顯示在記錄檔中。

識別碼

說明

:T:

識別字串。

CoG:

變更命令的 GUID – 識別唯一的檔案建立/刪除/重新命名/修改動作。

CxtG: 

連線 GUID – 識別連接上游電腦至傳遞這個變更命令之電腦間的拓樸中的連線物件。

[ ] - RemCo 

識別遠端變更命令。

[ ] - RemCo, Abort

識別已中止的遠端變更命令。

[ ] - LclCo

識別本機的變更命令。

[ ] LclCo, Abort

識別已中止的本機變更命令

Name:

檔案名稱。

EventTime:

執行變更時原始成員上的時間。

Ver:

檔案的版本編號。每次建立本機變更命令時此號碼會增加一。

FileG:

檔案 GUID – 識別唯一的檔案或目錄,並可當作檔案或目錄中的 NTFS 物件 ID。在各複本成員中的對應檔案/目錄都有相同的檔案 GUID

FID:

檔案 ID – NTFS 卷冊特有的檔案 ID (也稱為「檔案參考編號」(File Reference Number))

ParentG:

父系 GUID – 含有這個檔案或目錄之父目錄的 GUID

Size:

檔案或目錄的約略大小,以十六進位表示。

OrigG:

召集人 GUID – 與產生此更新資料之複本組成員相關的 GUID

Attr:

檔案屬性 檔案或目錄的屬性旗標。

LocnCmd:

位置指令 下列其中之一:CreateDeleteNoCmdMoveDir;以上指令表示檔案的建立、刪除、更新或變更父目錄。

State:

變更命令狀態 - 下列其中之一:IBCO_STAGING_RETRYIBCO_FETCH_RETRYIBCO_INSTALL_RETRYIBCO_COMMIT_STARTED;表示因接移空間不足、無法完成接移檔案取得,或無法將變更安裝至檔案中,而將於稍後重試這些變更命令。完成的變更命令狀態為 IBCO_COMMIT_STARTED

ReplicaName:

含有這個檔案或目錄的複本組名稱。

CoFlags:

變更命令旗標:

Abort – 中止 CO 時設定。

VVAct – 提出 VV 啟動要求時設定。

Content – 有效的內容指令。

Locn – 有效的位置指令。

LclCo – CO 在本機產生。

Retry – CO 需要重試。

InstallInc – 本機安裝未完成。

Refresh – CO 是自上游產生之檔案的重新整理要求。

OofOrd – 不檢查/更新版本向量。

NewFile – 如果 CO 失敗,則刪除 IDTable 項目。

DirectedCo – 這個 CO 被導向單一連線。

DemandRef – CO 是重新整理的下游要求。

VVjoinToOri – CO 是從 vvjoin 到召集人。

MorphGen – CO 作為名稱變異解析的一部份產生。

MoveinGen – 這個 CO 作為 sub-dir MOVEIN 的一部份產生。

OidReset – CO 所做的就是將 OID 重設回 FRS 定義的值。

CmpresStage – 這個 CO 的階段檔案已遭壓縮。

UsnReason:

NTFS 變更記錄中描述檔案修改的旗標組。

Close – 變更記錄檔關閉記錄。

Create – 檔案或目錄已經建立。

Delete – 檔案或目錄已經刪除。

RenNew – 檔案或目錄已經重新命名。

DatOvrWrt – 主檔案資料流已被覆寫。

DatExt – 主檔案資料流已經延伸。

DatTrunc – 主檔案資料流遭到截斷。

Info – 基本資訊變更 (屬性、上次寫入時間等等)

Oid – 物件 ID 變更。

StreamNam – 其他資料流名稱變更。

StrmOvrWrt – 其他資料流已遭覆寫。

StrmExt – 其他資料流已經延伸。

StrmTrunc – 其他資料流遭到截斷。

EAChg – 延伸檔案屬性已經變更。

Security – 檔案存取權限已變更。

IndexableChg – 檔案變更要求重新索引。

HLink – 硬連結 (Hard link) 變更。

CompressChg – 檔案壓縮屬性已變更。

EncryptChg – 檔案加密已變更。

Reparse – 重新剖析點已變更。

使用 FRSUTL 監看 FRS 覆寫

Ntfrsutl.exe 工具可用來執行下列動作:

·         顯示容納 FRS 之電腦的 ID 表格、傳入記錄或傳出記錄。

·         利用 FRS 檢查記憶體使用情況。

·         顯示 Active Directory 中的 FRS 組態。

·         列出網域中現用的複本組。

·         列出 FRS API 和版本編號。

·         立即、快速或緩慢輪詢 FRS 組態的變更

注意:若要存取 Ntfrsutl 所報告的某些資訊,執行公用程式的使用者必須以管理員身份登入。

下列參數適用於使用 Ntfrsutil 監看 FRS

·         Ds。列出 FRS 服務的目錄服務檢視

·         Sets。列出使用中的複本組

·         Inlog。列出 FRS 服務的傳入記錄

·         Outlog。列出 FRS 服務的傳出記錄

·         Version。列出 FRS API 和服務版本

QA_Check.cmd 指令碼可使用上述任一參數來執行 Ntfrsutl,並為每一個參數建立個別的記錄檔。

監看 FRS 複寫的指令碼

除本書中的 QA_Check.cmd 指令碼以外,還有兩個指令碼可用來監看 FRS。這兩個指令碼為 Connstat.cmd Frscheck.cmd

使用 Connstat.cmd 監看 FRS 複寫

Connstat.cmd 指令碼處理「ntfrsutl  sets」指令的輸出,以建立指定網域控制站的 FRS 連線摘要。Connstat.cmd 所建立的報告分成三個部分:標題、傳入連接的狀態和傳出連接的狀態。這個指令碼由 QA_Check.cmd 指令碼呼叫,並由後者將其輸出重新導向至 C:\ADResults\Frsconstat.txt

報告標題

報告標題含有下面的資訊:

Processing file C:\ADResults\ntfrs_sets.txt   Modify Time:Sat Dec  2 07:17:22 2000

Replica:DOMAIN SYSTEM VOLUME (SYSVOL SHARE) (b0513a54-b248-492b-96f475d9fec62804)

Member:STAGING          ServiceState:3  (ACTIVE)     OutLogSeqNum:319     OutlogCleanup:319      Delta: 0      

第一行列印輸入檔案的名稱,然後是上次修改檔案的時間。建議您在檔案名稱中加上伺服器的名稱。下一行則顯示複本組的名稱與 GUID。第三行顯示成員名稱 (這在 DFS 複本組中通常是 GUID)FRS 服務的狀態、目前傳出記錄的順序編號、將開始下一個清除通路的傳出記錄順序編號,以及這兩個號碼間的差異。最後一個值所指的是輸出記錄檔中目前所顯示變更命令數目的約略計數。這是一個近似值,因為在某些情況中可能會刪除干擾變更命令。

以下是 FRS 服務的狀態:

狀態

意義

REPLICA_STATE_ALLOCATED

複本組在初始化的狀態

REPLICA_STATE_INITIALIZING

複本組在初始化的狀態

REPLICA_STATE_STARTING

啟動複本組

REPLICA_STATE_ACTIVE

複本組目前正在作用中

REPLICA_STATE_STOPPED

複本組目前已經停止

REPLICA_STATE_ERROR

複本組因發生錯誤而停止

REPLICA_STATE_JRNL_WRAP_ERROR

複本組因 NTFS 日誌遺失資料而停止

REPLICA_STATE_REPLICA_DELETED

複本組已標示為刪除

傳入連接

以下將說明傳入連接。顯示如下:

Partner         I/O   State        Rev      LastJoinTime 

<Jrnl Cxtion>        In   Joined         0                           

BRANCHES\HUBDC1$      In   Joined         3                           

第一欄 Partner 為連線協力電腦的名稱。此名稱是由網域名稱及伺服器名稱所組成。而 I/O 欄描述連線是傳入或傳出連接。State 欄則是此連接目前的狀態。Rev 欄是協力電腦通訊協定的次 rev 層級。LastJoinTime 是這個成員上一次加入對應協力電腦的時間。

協力電腦名稱 <Jrnl Cxtion> 是指本機的 FRS 日誌,通常作為另一個傳入協力電腦。

「連接狀態」有以下幾種情形:

連接狀態

意義

INIT

剛完成配置

Unjoined

尚未加入協力電腦

Start

傳入協力電腦要求加入

Starting

開始加入

Scanning

掃描傳入記錄

SendJoin

掃描完成,將加入要求傳送至協力電腦

WaitJoin

傳送要求,等待協力電腦回應

Joined

已加入協力電腦

Unjoining

透過重試消耗遠端變更命令

Deleted

連線已經刪除

「連接」原來以 INIT 狀態建立,然後再進入 UNJOINED 狀態。之後,如果排程允許,而且 StartJoin 要求傳送至傳入記錄子系統中時,則進入 STARTING 狀態。當 inlog 啟動要求時,則進入 SCANNING 狀態。當掃描完複本組的傳入記錄後,並重新佇列此傳入協力電腦連線的所有變更命令後,連接就進入 SENDJOIN 狀態。然後 Replica 控制子系統會挑選其作為重試路徑的連線,執行一次 INIT,將 JOIN 要求傳送至傳入協力電腦,然後進入 WAITJOIN 狀態。一旦完成加入要求後,成功則進入 JOINED 狀態,失敗則變成 UNJOINED 狀態。

判斷協力電腦是否瞭解壓縮的快速方法就是使用 Rev 等級。Rev 層級 3 的連接無法產生或瞭解壓縮的接移檔案。Rev 層級 4 的連線可產生其他 Rev 層級 4 協力電腦的壓縮接移檔案,以及已關閉之 rev 協力電腦的未壓縮接移檔案。Rev 層級 4 協力電腦可同時瞭解來自其傳入協力電腦的壓縮與未加縮接移檔案。

若要參與有效的 FRS 複本組,每位成員「必須」最少要有一部傳入協力電腦。

傳出連接

下面的章節將說明傳出連接。顯示如下:

Member:STAGING          ServiceState:3  (ACTIVE)     OutLogSeqNum:319     OutlogCleanup:319      Delta: 0      

Send           Cleanup     Cos               

Partner         I/O   State        Rev      LastJoinTime            OLog State      Leadx  Delta   Trailx  Delta  LMT Out     Last VVJoin

BRANCHES\HUBDC1$    Out  Joined   -vv   3                               OLP_AT_QUOTA    422352 146      422225 7552   127  7  Sat Dec  2 2000 07:17:22

最左邊的部分往上到 LastJoinTime 為止大部分都與傳入連接相同。唯一的差異是 State 欄中所顯示的標記「-vv」。如果出現這個標記,即表示此連線正在執行 Version Vector 型態的加入作業。一般而言,當傳出協力電腦第一次加入複本組,或如果在執行非授權的復原程序 (D2) 時,這個作業即已完成。當這個初始同步處理完成後,連線即結束 VVJoin 狀態。這僅適用於傳出連接。

報告的其他部分則是這個連接中與傳出記錄相關的狀態。OLog 狀態所描述的是此連接的傳出記錄處理狀態。其狀態包括:

OLog 狀態

意義

OLP_UNJOINED

協力電腦未加入

OLP_ELIGIBLE

協力電腦可接受進一步的變更命令 (已加入和變更命令 [COs] Out < Max)

OLP_STANDBY

協力電腦已準備加入適當的清單

OLP_AT_QUOTA

協力電腦已在未處理變更命令的上限

OLP_INACTIVE

協力電腦不接受變更命令

注意: FRS 正在主動複寫時 OLP_AT_QUOTA 屬正常情況,因為它會在每個已加入的傳出連接上一直嘗試保持八個變更命令在未處理的狀態 (請參閱本章後面的「COs Out)但是,OLP_AT_QUOTA 和數值為 127 LMT 的組合,極可能是一個問題。

Leadx 欄是進入輸出記錄的索引,以便此連接處理下一個變更命令。「傳送差異」(Send Delta) OutLogSeqNum (outlog 中最近變更命令的索引) 與此連接之 Leadx 值之間的差。所以這是剩餘等待此連接進行處理的變更命令數目。「傳送差異」為零時,表示此時此連接已經完全同步。除非複本組或連線排程中幾乎沒有活動「一直開啟著」,否則您不太可能看到「傳送差異」為零的連接。

Trailx 欄是進入最久未認可傳出變更命令之傳出記錄的索引。每一個傳送至此連線協力電腦的變更命令,最後都會獲得認可。變更命令的認可並不一定依照它們所傳送的順序。系統所提供的 128 位元滑動認可視窗可用來追蹤已經認可的變更命令。這是表示在 128 位元的 AckVector 換行之前,在最久的未認可變更命令後最多可傳送 127 個連續的變更命令,並強制 FRS 停止傳送變更命令至這部特定的協力電腦。「清除差異」是此連線之 Trailx 值與 OutLogCleanup 索引間的差,後者是所有傳出連接的 Trailx 最小值。所以「清除差異」是目前此連線所處理之變更命令的計數,並且可以從 outlog 進行解除。然而,因為所有傳出連接都共用相同的傳出記錄,所以清除階段必須在停在最慢 (或最後) 連接的「內嵌索引」(Trailing Index)。直到未加入的協力電腦 (1) 加入這個成員以繼續複寫,或 (2) 刪除目錄服務中與這個成員的連線物件,並且無法執行其他 outlog 清除作業 (這將釋出相關的接移檔案空間)。所以您應該仔細檢查那些連接具微小清除差異的協力電腦,以確認它們的作業狀態。

LMT 欄是 Leadx Trailx 兩欄中值的差異。此值的上限由上述 AckVector 的大小限制。此欄中的值若為 127 表示這個連線可能已經停止。這是因為協力電腦上的 FRS 無法正確識別變更命令所致。這也可能是因為傳輸極大檔案後,緊接著極小檔案的變更命令所導致的一般情況。一旦完成大檔案的傳輸後,傳出協力電腦將確認變更命令而此狀況將自動消除。此時您可等待一下看看情況是否改變,或研究傳出協力電腦上的 FRS 除錯記錄,看看是否正在進行擷取檔案資料的程序。所有伺服器都應執行 Service Pack 1 或更新的版本,以避免已知 FRS 連線可能會停止的情況。如果您歸結出連線已經停止,那麼先試著刪除目錄服務中的相關連線物件,然後再重新建立。如果發生相同的狀況,那麼您將必須在傳出協力電腦上執行非授權的復原 (D2) 程序。

COs Out 欄是協力電腦中所擱置之現用未認可變更命令的數目。在預設情況下,FRS 一次最多允許每個傳出連接上有八個未處理的變更命令。此值由登錄參數控制,當您處在高延遲通訊連結的環境中時,可能需要提高這個值。請注意,協力電腦上的 FRS 將嘗試同時啟動八個變更命令之接移檔案的擷取要求,所以增加這個登錄參數的值,將增加上游成員的負荷。登錄機碼為

"Max Num Outbound COs Per Connection"

這是最大值為 100 DWORDCOs Out 的值為 1 LMT 的值為 127 時,此組合是一個非常容易中斷的連線 (如果不是非常大的檔案)

Last VVJoin 欄是上一次連線時完成 Version Vector 型態加入的日期與時間。

執行 CONNSTAT.CMD

Connstat.cmd 是一個具有 cmd 換行符號的 perl 指令碼。您必須安裝 Microsoft Windows 2000 Resource Kit 中的 Active Perl,並從路徑中去執行。其使用狀況的資訊為:

connstat  [-sort=xxx]  datafile

-sort=send   -- sort outbound connections by the send delta

-sort=clean  -- sort outbound connections by the cleanup delta

-sort=name   -- sort outbound connections by the server name (default)

-sort=lmt    -- sort outbound connections by the leading minus trailing index value.

-sort=lastjointime  -- sort outbound connections by the last join time.

-sort=lastvvjoin    -- sort outbound connections by the last version vector join time.

輸出報告會寫入 stdout 中。您可以用 -sort 參數依相關欄位中的資料排序傳出連接的部分。

使用 Frscheck.cmd 監看 FRS 複寫

Frscheck.cmd 指令碼可取得引擎中大部分與 FRS 相關的狀態。它使用 Ntfrsutl.exe 來收集 FRS 版本、設定、目錄服務、configtableinlog outlog 等資訊。此外還收集登錄參數,並掃描 FRS 除錯記錄看看其中是否有錯誤資訊。

注意:若要存取 Ntfrsutl 所報告的某些資訊,執行公用程式的使用者必須以管理員身份登入。

Frscheck.cmd 的使用方式為:

frscheck  result_dir   [target_computername]

result_dir is created if it does not exist.

Target_ComputerName is optional.Default is current computer.

It can be a netbios name with no leading \\ or a full dns name, xxx.yyy.zzz.com

Frscheck.cmd 會要求在指令行提示符號下啟用延遲的環境變數擴充。您可以使用啟用或停用延遲環境變數擴充,以利用 /v:ON /v:OFF 參數進行 Cmd.exe 的特殊呼叫。如果您要啟用或停用電腦上所有 Cmd.exe 呼叫的完成,可以使用 Regedt32.exe 並將下列 REG_DWORD 的值設定為 1 0

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\DelayedExpansion

本章的重點在指令碼和其他可用於監看Active Directory FRS 的工具上。此外還提供有關指令碼及其輸出的資訊、有關 Microsoft Windows 2000 Resource Kit 工具的詳細資訊,和有關協力廠商工具的資訊。

 

Back to Top
 


©2010 Microsoft Corporation. 著作權所有,並保留一切權利。 與我們連絡 |法律相關訊息 |商標 |隱私權聲明
Microsoft