VM Ware虛擬機器作業系統日誌Error in the RPC receive loop解決

dbqs8710發表於2014-09-16

 

雲端計算、虛擬化是近幾年資訊化領域比較流行的概念。隨著國內對於這些理念的深入,新一代虛擬機器、虛擬化環境已經越來越出現在我們日常環境中。虛擬機器靈活和快捷的部署管理方式,也逐漸被運維領域所接受。

在實踐領域中,我們在使用虛擬化環境同樣面對一些新的問題和故障,需要我們重新進行學習探索,才能跟上發展程式,解決企業中實際問題。

本文記錄了筆者在管理維護一臺Windows虛擬機器(建立在VM Ware)遇到的小問題,記錄下來,留待需要的朋友待查。

 

1、問題簡述

 

筆者在安裝維護一臺Windows伺服器,執行版本為2008 R2。伺服器是建立在VM Ware虛擬機器環境下的,資源分配和管理都通過VM Ware控制檯進行。由於伺服器用途因素,筆者進行了額外的安全加固操作和日誌檢查操作,結果發現日誌中有如下Warning資訊。

 

VM Ware虛擬機器作業系統日誌Error in the RPC receive loop解決

Linux/AIX的文字日誌方式不同,Windows的日誌都是以二進位制方式儲存和展現出來的,並且劃分為不同的型別進行組織。從上面截圖可以看到,在應用程式Application型別中,系統以很高的頻度(每秒兩條)生成Warning級別的日誌資訊。Application型別日誌一般是應用程式輸出寫入到作業系統層面的日誌內容。

Source列提示內容表示是哪個應用程式寫出的日誌內容。這列我們確定日誌來源於VMWare Tools

 

2、問題分析

 

VMWare ToolsVMWare虛擬機器的一個可選件。較新的一些版本中,將VMWare Tools作為虛擬機器的一個必裝版本。簡單的說,VMWare Tools就是一個嵌入到虛擬機器作業系統層面外掛工具。主要職責是負責改善硬體相容性、互動方式體驗。如果我們將虛擬機器比作容器中執行的單位,VMWare Tools就是兩者溝通的重要元件。

落實在本次的錯誤案例,我們可以發現故障日誌主要內容如下:

 

 

[ warning] [vmusr:vmusr] Error in the RPC receive loop: RpcIn: Unable to send.

 

 

筆者對這個錯誤沒有任何經驗,從提示內容和故障頻率看,好像是vmware tools在持續的連線傳送RPC資訊。但是這個呼叫過程沒有成功完成。一度筆者懷疑過是不是在加固作業系統過程中將RPC埠封閉,但是事後確認並不是這個問題。

 

3、問題分析與解決

 

通過查詢資料,從VMWare官方中尋找到了故障分析和原因。這個日誌現象在WindowsLinux環境中都有可能出現。官方對於問題的解釋如下:

 

 

Cause

This issue occurs when the VMware Tools daemon (vmtoolsd) handles more than two Terminal Sessions. When a user connects to a Windows virtual machine, each terminal session should have one vmtoolsd running; however, vmtoolsd is limited to only two sessions running simultaneously. 

 

Thus the Windows Application Event log fills up with warning messages similar to this until the total connection count is >2  per session:

 

 

簡單地說,這個問題是在同時多個使用者連入到虛擬機器的情況下出現。每當一個使用者使用vmtool連入到虛擬機器時候,後臺虛擬機器都會分配一個後臺守護程式vmtoolsd與之匹配。如果多個使用者同時連入到系統中,或者使用remote desktop連線時沒有正式推出而是簡單關閉介面,都會引起這個問題。而vmtoolsd程式的同時執行限制是2個會話。

當出現這種情況的時候,vmtools就會寫入作業系統一條warning級別資訊。

那麼,需要確定當前連線使用者數量,以及是不是有多於一個vmtoolsd同時工作的情況。一個偶然的場景,筆者檢視了工作管理員,發現了端倪。

 

VM Ware虛擬機器作業系統日誌Error in the RPC receive loop解決

 

在工作管理員,的確有多於一個vmtoolsd.exe連線,對應著筆者建立的多個系統使用者。這個是由於筆者在建立使用者的時候,分別使用遠端桌面進行測試,之後沒有退出造成的。

發現了問題原因,就可以著手解決。VMWare官方解決的思路是:如果出現日誌過多過於頻繁,可以將warning級別的日誌開關關閉,不寫入到作業系統中即可。

關閉日誌主要通過配置檔案完成。在Windows 72008平臺上,日誌配置目錄為:C:\ProgramData\VMware\VMware Tools\。而在早期的Windows版本中,目錄路徑為C:\Documents and Settings\All Users\Application Data\VMware\VMware Tools\

Linux平臺中,配置目錄為:/etc/vmware-tools/tools.conf

在對應目錄上,配置檔名稱為tools.conf。如果檔案不存在,可以自己建立出一個目錄進行配置。筆者在伺服器對應目錄中沒有這個檔案,首先建立出來。

 

VM Ware虛擬機器作業系統日誌Error in the RPC receive loop解決

 

在檔案中寫入如下內容:

 

 

[logging]

vmusr.level = error

vmsvc.level = error

 

 

之後重新啟動vmtools services,並且確保多使用者連線被斷開,配置生效。筆者選擇重新啟動伺服器。之後問題解決。

 

4、結論

 

隨著虛擬化在運維環境中廣泛引用,相信會有越來越多的虛擬化相關故障出現和解決。


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

相關文章