IBM Lotus Domino Administration Process 問題診斷

genusBIT發表於2010-06-26

轉自http://www.ibm.com/developerworks/cn/lotus/documentation/d-ls-adminp/

1 簡介

理解為什麼 IBM Lotus Domino Administration Process(AdminP)的工作方式對問題診斷非常關鍵。要了解什麼是 Administration Process 及其工作原理,請檢視 Administrator Client Help 文件“The Administration Process”。


2 診斷 AdminP “101”

讓我們從 AdminP 的一些基礎診斷流程開始。

2.1 任務

Administration Process 使用 Domino 任務“AdminP”來處理請求。這個任務在啟動時從 Notes.ini 檔案的 ServerTasks= 行裝載,並且必須啟用它才能讓 Administration Process 執行。

如果 AdminP 沒有處理任何請求,那麼首先要確保啟用了該任務。如果任務已啟用,則嘗試在伺服器控制檯發出“tell adminp restart”命令來重啟任務。例如,AdminP 任務未能正常執行時可能導致的錯誤為:

“The ADMINP task either does not exist or does not accept Tell commands.”

要確定 Domino 伺服器是否啟用了 AdminP 任務,從伺服器控制檯發出“show tasks only”(“sh ta on”)命令以檢查“Admin Process”是否在任務列表中(見圖 1)。如果任務不在列表中,從伺服器控制檯發出“load adminp”命令裝載它。


圖 1. 任務列表和說明
圖 1. 任務列表和說明

2.2 資料庫

Administration Request 資料庫(Admin4.nsf)可用作診斷 AdminP 問題時的初級工具。如果管理請求發生錯誤,那麼父請求下面將出現一個帶有紅色叉號 ‘X’ 的日誌(或響應)文件,表示有條件未被滿足。雙擊失敗請求找到導致失敗的原因。

除了導致錯誤的失敗請求之外,一系列請求中的一個 AdminP 請求可能未得到處理但不生成錯誤圖示。檢視 Administration Request 資料庫中一系列請求中的最後一個請求,看看處理過程是在哪裡停止的。

瞭解請求是因其他請求的完成或其他一些事件觸發的之後,我們就可以檢視 Administrator Client Help 文件“Administration Process Requests – One Domain”或“Cross Domain Administration Requests”,從而獲得一個包含常見的 AdminP 請求處理流的連結列表。

要想獲得關於失敗原因的提示,您可以嘗試選擇 Help 檔案中與未得到處理的最後一個請求匹配的文件,然後檢視該請求的“Triggered by”、“Carried out on”和“Carried out”部分。下面是一個來自 Domino 7.0.2 Administration Client Help 檔案的例子:

<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> 
Get Replica Information for Deletion
Purpose: The application supported by the database is now obsolete and all replicas of 
the database can be removed.

Triggered by: From the Domino Administrator, choosing the File tab, selecting the 
database you are deleting, and then choose Files - Delete. Or, choose the database on the
bookmarks or workspace and choose Database - Delete.

Carried out on: All servers in the domain.

Carried out:  Immediately

Result: AdminP reads the database ACL to verify that the request signer is the database 
Manager. If so, generates an "Approve Replica Deletion" request for the server 
administrator to accept or reject. If the signer is not a database administrator, 
an Event is logged.

<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
			

注意,並不是生成的每個 AdminP 請求都能得到處理,這是一種正常現象。如果請求和等待請求的目標沒有關聯,那麼不應該也不會處理該請求。例如,如果使用者名稱不在任何 Reader 或

Author 欄位列表中,那麼在 Rename

Person AdminP 請求期間將生成一個 Rename in Reader / Author fields 請求,但該請求不會被處理。

2.3 複製和 AdminP

從複製角度診斷 AdminP 要求瞭解任務與複製之間的聯絡。理想情況下,您希望將多 Domino 伺服器環境配置成一個叢集以提高 AdminP 的效率。不過,如果您沒有在請求伺服器和管理伺服器之間複製 Admin4.nsf、Certification Log (Certlog.nsf) 和 Domino Directory (Names.nsf),或者僅在排程任務進行復制,那麼可能發生上述問題;即 Administration Request 資料庫中沒有觸發任何問題,但 AdminP 請求仍然得到處理。

AdminP 請求在 Administration Request 資料庫的 Administration Server 上處理。要確定哪個伺服器是 Administration(或處理)Server,請導航到 Administration Request 資料庫的 Advanced Access Control List (ACL) 設定(見圖 2)。


圖 2. Advanced ACL 設定
圖 2. Advanced ACL 設定

注意,AdminP 請求可在 Administration Server 之外的伺服器上生成。這對問題診斷過程非常重要,因為在伺服器而不是 Administration Server 上生成的請求首先必須被複制到駐留在 Administration Server 上的 Admin4.nsf 的副本。然後,為了完成該過程,必須將該請求的響應文件複製回到請求伺服器上的 Admin4.nsf 的副本。

如果 AdminP 請求未被處理或者處理時間過長,那麼可能是請求伺服器僅和 Administration Server 在排程任務上進行復制,或者請求伺服器沒有與 Administration Server 建立連線。

與複製和 Administration Request 資料庫相關的另一個診斷指標是確保每個伺服器上的 Admin4.nsf 資料庫是彼此的副本。為此,您可以檢查每個副本的資料庫屬性的 Info 選項卡(見圖 3)。


圖 3. 資料庫屬性的 Info 選項卡
圖 3. 資料庫屬性的 Info 選項卡

2.4 訪問控制和 AdminP

另一個導致 AdminP 請求失敗或未被處理的原因是沒有在 Admin4.nsf、Certlog.nsf 或Names.nsf 的 ACL 中列出請求管理員或請求伺服器,或者它們沒有適當的訪問許可權。理想情況下,請求管理員和請求伺服器應該擁有適當的許可權來訪問它們在這些伺服器中生成的請求。

請求管理員或伺服器必須能夠對目標資料庫進行必要的更改,以成功處理 AdminP 請求。這對重新命名和重新驗證尤為重要。

當嘗試 Delete Person 或 Delete Server 請求時,一定要確保請求管理員或請求伺服器在 Domino Directory 的 ACL 中具有 Delete Documents 特權。

要記住,伺服器或管理員可能擁有資料庫的 Manager 訪問許可權,但在 ACL 中不具有 Delete documents 許可權。如果出現這種情況,那麼 Delete 請求將失敗或不能正確處理。


圖 4. 沒有 Delete documents 特權的 Manager 訪問
圖 4. 沒有 Delete documents 特權的 Manager 訪問

Administration Server 或請求伺服器中的 Server 文件的安全設定不正確也會導致 AdminP 請求失敗或未被處理。當處理 Move 或 Create Replica 請求時,一定要確保這些設定是正確的;否則將收到以下錯誤資訊:

“You are not authorized to create new replica databases on this server.”

要確認管理員或伺服器是否有適當的許可權來在目標伺服器上建立副本,請檢視 Server 文件的Security 選項卡下的 Create new replicas 欄位(見圖 5)。


圖 5. Create new replicas 欄位
圖 5. Create new replicas 欄位


3 Direct Deposit

Direct Deposit 是在 Domino 8.0 中引入的一個特性,它允許 Administration Request 資料庫在非叢集 Domino 伺服器環境中自動複製某些請求。表 1 顯示了可以直接存放的 AdminP 請求,它們對診斷該特性非常重要。

在 Associated Requests 欄中用粗體顯示的請求是可以直接存放的請求,而用斜體顯示的請求是不可以直接存放的請求。您可能已經注意到,有些 Direct Deposit 請求由非 Direct Deposit 請求觸發或會觸發非 Direct Deposit 請求。從問題診斷的角度看,這個表能夠幫助您理解為什麼 AdminP 請求在非叢集環境中會延遲,即使啟用了 Direct Deposit 也是如此。


表 1. 可以直接存放的 AdminP 請求

請求名 相關聯的請求
Create New Replica 沒有相關聯的 Direct Deposit 請求
Move Database 包括 Approve Replica Deletion 和 Delete Replica After Move 請求
Approve Replica Deletion 從 Move Database 請求生成
Delete Mail File 包括 Get Mail File Information for Deletion 請求
Get Mail File Information for Deletion 從 Delete Mail File 請求生成
Rename Person in Free Time Database 從 Rename User 請求生成
Promote New Mail Server Access 從 Move Mail File 請求生成
Create New Mail File Replica 從 Move Mail File 請求生成
Delete Replica After Move 從 Move Database 請求生成
Delete in Design Elements 從 Delete Person 請求生成
Get Replica Information for Deletion 從 Delete Database 請求生成
Delete Database (non-mail file) 包括 Get Replica Information for Deletion 請求
Promote New Roaming Server’s Access 從 Move Roaming User to Another Server 請求生成
Delete Replica (for Roaming User) 從 Move Roaming User 和 Delete Roaming User 請求生成
Create Roaming Replica 在 Create Roaming User 的配置階段(Roaming File Replica Creation Options 對話方塊)生成
Delegate IMAP Mail Files 沒有相關聯的 Direct Deposit 請求
Delete Domino Server from Catalog 在 Delete Server 請求期間生成
Rename Web User in Free Time Database 在 Rename Web User 請求期間生成
Monitor Roaming User’s Replication Stubs 在 Update User from Non- roaming to Roaming 請求期間生成
Delegate Mail File on the Administration Server 沒有相關聯的 Direct Deposit 請求
Change the server on which the agent runs 在 Move Database 請求期間生成
Update Replica Settings 在 Move database 期間從非叢集伺服器請求生成
Rename in Reader / Author fields (for shared agents) 在 Rename User 請求期間生成
Rename in Reader / Author fields (for agents) 在 Rename User 請求期間生成
Delete in Reader / Author fields (for agents) 在 Delete User 請求期間生成
Monitor Server's SSL status in Domino Directory 在註冊期間啟用 SSL 埠時的 3 個Server Registration 請求之一
Delegate Mail File on Home Server 使用者發起

注意:要禁用 Direct Deposit,在發起 AdminP 請求的伺服器的 Notes.ini 中新增引數 ADMINP_DONT_ATTEMPT_DIRECT_DEPOSIT=1。

屬於 Direct Deposit 請求的 AdminP 請求具有專門的處理伺服器。非 Direct Deposit 請求可在當前域中的所有伺服器上處理。因此,儘管 Direct Deposit 可加快非叢集環境中 Direct Deposit 請求的處理,但是我們仍然推薦配置叢集環境來高效地處理所有其他 AdminP 請求。


4 診斷跨域 AdminP

如上面的第 2 部分所述,AdminP 不獨立於 Domino 的其他任務和特性進行操作,並且跨域 Administration Process 為診斷 AdminP 問題增添了一絲複雜性。

您可以使用上述的所有技術來診斷跨域 AdminP;不過,要獲得更高的效率,您必須理解 AdminP 在一個域中執行和在多個域中執行之間的差別。理解跨域 AdminP 的關鍵是,只有以下請求能夠跨域處理:

  • Delete person in Domino Directory
  • Delete server in Domino Directory
  • Rename server in Domino Directory;即將伺服器名從平面結構升級到分層結構
  • Rename person in Domino Directory
  • Create replica
  • Get replica information for deletion. 這個請求在刪除資料庫及其副本時生成。

要詳細瞭解跨域 AdminP,請檢視 Administrator Client Help 文件的

“Processing administration requests across domains”。

4.1 路由和跨域 AdminP

在不同 Domino 域上的 Administration Request 資料庫不是彼此的副本;因此,不在它們之間複製新的請求和響應文件以備處理,這與在一個域中不同。跨域 AdminP 使用 Router 任務來將請求傳送(mail in)到目標伺服器的 Admin4.nsf(見圖 6)。


圖 6. 跨域 mail-in 請求
圖 6. 跨域 mail-in 請求

如果沒有啟用 Router 任務或該任務在目標伺服器上未能正常執行,那麼來自源伺服器的請求將不會被髮送到目標伺服器的 Administration Request 資料庫以供處理。

4.2 配置

如果跨域 AdminP 請求失敗或未被處理,那麼 Server Console 中會出現一條錯誤資訊,指出請求失敗的原因。通常,診斷失敗的跨域 AdminP 請求的第一步是再次檢查 Cross-Certification

文件、Cross-Domain Configuration 文件和 Connection 文件中的欄位在源和目標伺服器之間是否出現不正確的條目。

4.3 跨域重新命名請求

在處理通過跨域 AdminP 重新命名管理員或伺服器的請求時,可能顯示以下錯誤:

“A required certifier entry was not found in the Name and Address Book; consult the Notes Log for details on the specific entry.”

該錯誤表明在請求域的 Domino Directory 中未找到目標 Organization 或 Organizational Unit (OU) 的認證器。檢視 Cross-domain Configuration 文件進行確認(見圖 7)。


圖 7. Cross-domain Configuration 文件節選
圖 7. Cross-domain Configuration 文件節選

要成功處理跨域重新命名,必須將所需的認證器放到 Notes Certifiers 下面的目標域 Domino Directory 的 Certificates 檢視中。


5 除錯 AdminP

在處理 AdminP 請求期間,您可能僅在伺服器控制檯上看到訊息“Admin Process: Checking for

requests to perform”,而看不到任何表明請求正在處理的標誌。出於診斷需求,您可能想要獲得更多關於 AdminP 當前行為的資訊。

新增引數“DEBUG_ADMINP_REQUEST_PROCESSING=1”或“DEBUG_ADMINP_REQUEST_PROCESSING=2”生成更詳細的日誌,從而便於瞭解 AdminP 在試圖處理請求時的行為。

您還可以通過把“DEBUG_OUTFILE=”新增到 Notes.ini 來將除錯結果輸出到文字檔案。這些引數是動態的,您可以在伺服器控制檯使用“set config ”命令將它們寫到 Notes.ini。

要禁用除錯,您可以將除錯引數設定為“0”,或者直接將其從 Notes.ini 刪除。下面是來自跨域 Create Replica 請求的一些樣例輸出。

注意:各個輸出結果的不同之處用粗體顯示。

<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
> No Debug

Requesting Server
07/06/2008 09:12:31 AM  Admin Process: Checking for new requests to perform.
07/06/2008 09:12:31 AM  Admin Process: Received the following status performing
a Accelerated Create Replica request on Discussion.  Received the status -- Source 
and destination servers are not clustered -- trying to create Discuss.nsf on
servera/acmeorg; a replica creation request has been generated for further processing.
07/06/2008 09:12:32 AM  Router: Transferring mail to SERVERA/ACMEORG via Notes
07/06/2008 09:12:32 AM  Router: Transferred 1 messages to SERVERA/ACMEORG via Notes
07/06/2008 09:12:37 AM  Router: Message 000C21F9
transferred to SERVERA/ACMEORG for Administration Requests@ACMEDom via Notes

Processing Server
07/06/2008 09:12:33 AM  Router: Message 000C21F9 delivered to Administration Requests

> DEBUG_ADMINP_REQUEST_PROCESSING=1

Requesting Server
07/06/2008 09:19:23 PM  Admin Process: Checking for new requests to perform.
07/06/2008 09:19:23 PM  Admin Process: Received the following status performing
a Accelerated Create Replica request on Discussion.  Received the status -- Source 
and destination servers are not clustered -- trying to create Discuss.nsf on
servera/acmeorg; a replica creation request has been generated for further processing.
07/06/2008 09:19:24 PM  Router: Transferring mail to SERVERA/ACMEORG via Notes
07/06/2008 09:19:24 PM  Router: Transferred 1 messages to SERVERA/ACMEORG via Notes
07/06/2008 09:19:29 PM  Router: Message 000CC308
transferred to SERVERA/ACMEORG for Administration Requests@ACMEDom via Notes
Processing Server
07/06/2008 09:19:25 PM  Router: Message 000CC308 delivered to Administration Requests
Adminp processing request:  Create Replica

> DEBUG_ADMINP_REQUEST_PROCESSING=2

Requesting Server
07/06/2008 09:24:18 AM  Admin Process: Checking for new requests to perform.
Adminp processing request: [Accelerated Create Replica] on [Discussion]
07/06/2008 09:24:19 AM  Admin Process: Received the following status performing a 
Accelerated Create Replica request on Discussion.  Received the status -- Sour ce and
destination servers are not clustered -- trying to create Discuss.nsf on
servera/acmeorg; a replica creation request has been generated for further processing.
07/06/2008 09:24:19 AM  Router: Transferring mail to SERVERA/ACMEORG via Notes
07/06/2008 09:24:19 AM  Router: Transferred 1 messages to SERVERA/ACMEORG via Notes
07/06/2008 09:24:24 AM  Router: Message 000D366A transferred to SERVERA/ACMEORG
for Administration Requests@ACMEDom via Notes

Processing Server
07/06/2008 09:24:20 AM  Router: Message 000D366A delivered to Administration Requests
Adminp processing request:  [Create Replica] on [Discussion]
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
			


6 診斷 AdminP 的效能

在以單個請求或小批量請求為主的 Domino 環境中,AdminP 可能不會造成效能問題。但是,在包含多個執行批量 AdminP 請求的伺服器的複雜環境中,可能需要優化 AdminP 的總體效能。

不存在適用於所有環境的 AdminP 配置;根據特定的 Domino 環境優化效能任務能夠幫助減輕或避免由處理 AdminP 請求引起的效能問題。

6.1 AdminP 執行緒

AdminP 使用 worker 執行緒來處理請求。增加 AdminP 執行緒的數量可以實現同時處理多個請求,因此如果在大的批處理期間任務的執行速度變慢,您可以通過增加 AdminP 使用的執行緒的數量來降低延遲。

您還可以在特定的處理流程中增加執行緒的數量,比如將大量使用者移動到新的伺服器。為此,您需要編輯處理請求的伺服器的 Server 文件(Server Tasks tab > Administration Process > Basics;見圖 8)。


圖 8. Server 文件中的“Maximum number of threads”欄位
圖 8. Server 文件中的“Maximum number of threads”欄位

為了幫助確定您的環境中應該使用的合適執行緒數量,在 AdminP 處理負載比較繁重時執行“show tasks”(或“sh ta”)命令。如果您看到空閒的 AdminP 執行緒,那麼執行的執行緒數可能過多;如果所有執行緒都為一個請求提供服務,那麼需要增加 AdminP 執行緒的數量。最多可以新增 10 個執行緒。

6.2 選擇 Administration 伺服器

選擇 Administration 伺服器對所有環境都非常重要。選擇 Administration 伺服器時有兩個選擇:專用伺服器或通用伺服器。

在大環境中,專用伺服器具有許多通用伺服器不具備的優勢,因為它沒有使用者或不重要的任務(比如郵件路由),從而避免資源爭用。因此,專用伺服器的處理效率要高得多。另外,充足的可用資源也縮短了請求時間。

通用伺服器的主要優勢是具有利用現有資產的能力,但它在效能上處於劣勢,因為它在執行任務時出現資源爭用現象。這對小環境的影響可能不明顯,但對把資源優化放在首位的複雜的大環境而言,則需要考慮採用專用的 Administration 伺服器。

您還可以考慮通過配置 Extended Administration 伺服器來均衡 AdminP 的負載。要更多地瞭解如何配置 Extended Administration 伺服器,請檢視 Administration Client Help 文件“Using an extended administration server”。

6.3 AdminP 統計資料

診斷 AdminP 的另一個指標是通過 Monitoring Results 資料庫(Statrep.nsf)來監控 Administration Process 的活動。表 2 節選自 Domino 7.0.2 Administration Client Help 文件,它顯示了可以監控的 AdminP 統計資料及其說明。

這些統計資料常用於比較伺服器,以瞭解哪些伺服器上 AdminP 活動較高,哪些伺服器上較低。如果發現不正常的負載差異,那麼可以考慮重新分配 Administration Server 給資料庫子集,讓負載更加均衡。


表 2. Administration Process 統計資料

Administration Process 統計資料 AdminP 執行以下操作時統計資料更新
ACLsModified 修改資料庫 ACL。
ReaderAuthorModified 因使用者名稱變更而修改資料庫,導致該資料庫的 Reader 和/或 Author 欄位的變更。
ReplicasDeleted 因郵件資料庫移動或使用者、使用者的郵件檔案和副本被刪而刪除郵件檔案。該統計資料也在因 Delete Database 請求導致副本被刪時更新。
ReplicasCreated 因郵件檔案移動而建立郵件檔案。
AppointmentsModified 因名稱變更而更新預約。
ProfilesModified 因使用者名稱變更而更新日曆摘要。
DesignElementsDeleted 從資料庫刪除設計元素。這種情況一般發生在使用者被刪,或者使用者建立的代理被從資料庫上刪除時。
DirectoryDocumentsDeleted 從 Domino Directory 刪除條目,例如,因刪除使用者或伺服器而導致的條目刪除。
DirectoryDocumentsModified 修改 Domino Directory 中的條目,例如,在使用者重新命名時。
DirectoryDocumentsAdded 更新 Domino Directory 中的條目,例如,新增 Mail-In 資料庫條目以待處理時。
Cross Domain Request Sent 將請求從一個域傳送到另一個域。這在啟用跨域處理時發生。
Cross Domain Request Rejected 接收或拒絕來自另一個域的請求。這在啟用跨域處理時發生。
Cross Domain Request Accepted 接收或接受來自另一個域的請求。這在啟用跨域處理時發生。

6.4 耗時的 AdminP 請求和效能

從效能的角度理解在 Domino 域中處理某些請求的方式十分重要。

Rename in Reader/Author fields 請求為例,它執行在域中的每個伺服器上。因為 Reader 和 Author 欄位是文件的元素,所以該請求必須搜尋域中的每個伺服器上的所有文件來完成處理過程。這樣一來,該請求將導致處理延遲,延遲的程度與資料庫的數量和每個資料庫中的文件的數量成正比。

Rename in Access Control List 是在域中每個伺服器上執行的另一個請求,即該請求需要使用域中每個資料庫上的 ACL。這個請求也產生處理延遲,延遲的程度與域中伺服器的數量和每個伺服器中的資料庫數量成正比。

Rename in Design Elements 請求也執行在域中的每個伺服器之上,它從所有管理伺服器上各個資料庫的共享設計元素中搜尋目標者的名稱。對於大的批量重新命名請求,在比較大的環境中所有這些請求可能會有處理延遲。

在 Domino Release 8 中,通過一個 namelist 解決了 Rename in Reader/Author fields Rename in Design Elements 請求的處理延遲問題。namelist 是一個更新列表,它允許重新命名請求從其中搜尋目標名稱,而不用搜尋伺服器上的所有資料庫。如果 AdminP 未能在 namelist 中找到所需的名稱,它也不會搜尋相應的伺服器,從而顯著減少處理這些請求所需的時間。


7 其他診斷考慮事項

與 Lotus Notes 和 Domino 中的其他產品一樣,查詢某些問題可能需要隔離其他問題並採用考慮環境因素的診斷技術。下面列出一些問題,在遇到 AdminP 問題時也應該予以考慮:

  1. 是否存在阻止處理請求的網路問題?
  2. 在混合環境中與 AdminP 相關的不相容問題有哪些?
  3. 是否涉及到第三方應用程式?
  4. 處理過程是否涉及到任何代理?
  5. 受影響的使用者的共同點是什麼(相同的郵件伺服器或者相同的發行版等等)?
  6. 在發生問題時是伺服器或環境中是否有任何變化?
  7. 所使用的資料庫/文件是否受損(比如 Admin4.nsf 和 Names.nsf 等)?

8 結束語

診斷 Administration Process 的關鍵是充分理解 AdminP 的原理,同時關注對 AdminP 請求有影響的其他產品特性。在未來的 Domino 發行版中隨時關注這些產品區域的變化對診斷 AdminP 也非常有幫助。此外還要注意,除了本文件所討論的問題之外,還可能出現一些異常問題。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14751907/viewspace-666340/,如需轉載,請註明出處,否則將追究法律責任。

相關文章