與泛用的指令碼資源的 Windows Server 2003 伺服器叢集會停止回應長期

文章翻譯 文章翻譯
文章編號: 811685 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

徵狀

在叢集中在使用中的一般指令碼資源叢集可能會變成沒有回應。叢集系統管理員 」 和 「 Cluster.exe 似乎停止回應 (擱置)。叢集日誌會顯示一般指令碼資源中的已封鎖的執行緒。例如:
000007c4.000007e4::2002/12/12-19:17:03.781 資訊 [調頻廣播] FmpRmOnlineResource: 針對資源 f37f58fb-03ff-44b3-a4d7-086b0838d73d 呼叫 InterlockedIncrement gdwQuoBlockingResources 上
事件記錄檔中包含類似下列其中一項的訊息:

事件識別碼: 1232年
事件類型: 錯誤
事件來源: ClusSvc
叢集一般指令檔資源 MyScript 逾時。線上指令碼的進入點並未及時完成執行。這可能是因為一個無限迴圈或在此起點擱置或擱置逾時可能太短,替這個資源。請檢閱線上的指令碼的進入點,以確定還有沒有無限迴圈或指令碼] 程式碼中的擱置,並再請考慮增加擱置逾時值,如有必要。在命令殼層執行 「 叢集 res MyScript"/ 螺旋槳 PersistentState = 0"停用此資源,並停止叢集服務 」 執行"net stop clussvc 」。請確定指令碼程式碼中的任何問題得到解決。然後執行 「 net start clussvc 」 來啟動叢集服務。必要時,確保會增加擱置逾時時間是前一次將資源上線。

事件識別碼: 1233年
事件類型: 錯誤
事件來源: ClusSvc
叢集一般指令檔資源 MyScript: 執行線上作業的要求將不會處理。這是因為先前的失敗嘗試在預定時段執行線上的進入點。請檢閱此進入點,以便確定您有沒有無限迴圈或在其中,擱置在指令碼,並再請考慮增加擱置逾時值資源,如有必要。在命令殼層執行 「 叢集 res 」 MyScript"/ 專業 PersistentState = 0"停用此資源,並停止叢集服務 」 執行"net stop clussvc 」。請確定指令碼程式碼中的任何問題得到解決。 然後執行 「 net start clussvc 」 來啟動叢集服務。必要時,確保會增加擱置逾時時間是前一次將資源上線。

發生的原因

一般指令碼資源指令碼可能會導致整個叢集停止回應,或管道停止回應,如果存在任何下列條件:
  • 一般指令碼資源指令碼包含無限迴圈 (以及因此永遠不會結束)。
  • 呼叫發生 (API) 的特定叢集的應用程式發展介面。呼叫 API 必須避免從資源 DLL] 或 [資源指令碼內因為他們可能會導致整個叢集的死結特定叢集。此指令碼可能會來電叢集 API 或起始 Cluster.exe (這可能會造成呼叫叢集必須避免的 API) 做為其中一個步驟。有關不應從資源 DLL 或指令碼呼叫的 API,請參閱 「 函式呼叫來避免在資源 DLL 」 在 Microsoft 平台 SDK (PSDK)]。
  • 一般指令碼資源指令碼執行的動作要花比較長的時間比暫止的逾時值。
若要避免無限擱置狀況,叢集資源監視器拒絕執行任何作業 (例如線上、 離線、 IsAlive 及 LooksAlive) 上指令碼之後的任何作業已超過暫止的逾時值。一般指令碼資源上執行作業該資源任何額外的嘗試會導致第二個本文的 < 徵狀 > 一節所示的事件日誌訊息。

解決方案

任何的進入點已超過擱置逾時] 值,但有問題的執行緒仍會繼續執行之後,叢集資源監視器將不會執行一般指令碼資源上的任何其他作業。 如果要解決此問題,停用資源 (也就是避免它上線),停止叢集服務 (這會終止有問題的執行緒)、 修正指令碼的問題並重新啟動 「 叢集 」 服務。根據這個問題的原因,您可以增加線上或離線擱置此資源的逾時值。如逐步指示請參閱 「 復原和重新啟動叢集服務 」 < 在本文稍後。

變更暫止的逾時值

叢集資源的任何作業應該完全也在暫止的逾時的範圍內執行。基於這個原因並不會變更逾時值不徹底了解為什麼指令碼的進入點超過這個時間。而且,考慮增加這個值,因為叢集會沒有回應,直到超過逾時] 值的所有產生影響。

修復並重新啟動叢集服務

  1. 停用 (在這個範例名為 MyScript) 資源,輸入下列命令:
    叢集資源 MyScript"/properties PersistentState = 0
  2. 目前擁有此資源 ’s 群組在主控台視窗中輸入下列命令在節點上停止叢集服務:
    net stop clussvc
  3. 修正任何問題會造成它停止回應的指令碼中識別、 循環播放,或超過暫止的逾時值。您可能決定適當就是增加擱置逾時] 值,但是請確定您仔細考慮這樣做的影響。
  4. 輸入下列命令,重新啟動叢集服務:
    net start clussvc
  5. 使用叢集系統管理員或 Cluster.exe 以手動方式將資源重新連線。如果要執行這項操作,輸入下列命令:
    叢集資源 「 MyScript 」 / 線上
    因此不需要額外的命令,來將值從 0 變更,請注意,將資源帶回線上自動將設定為 1,PersistentState。

狀況說明

Microsoft 已確認這是在本文開頭所列之 Microsoft 產品中的有錯誤。

屬性

文章編號: 811685 - 上次校閱: 2007年2月28日 - 版次: 4.3
這篇文章中的資訊適用於:
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, 64-Bit Datacenter Edition
關鍵字:?
kbmt kbbug KB811685 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:811685
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com