VMware 日誌分析用於疑難排解

VMware 伺服器軟體產品會產生日誌檔案,用以記錄各軟體元件事件的相關資料及時間戳記。VMware 日誌可用於疑難排解,以及診斷和解決問題。這篇部落格文章將探討 ESXi 和 vCenter 日誌,說明如何在 VMware vSphere 中檢視日誌、查找所需資訊,並進行分析。

NAKIVO for VMware vSphere 備份

NAKIVO for VMware vSphere 備份

為 VMware vSphere 虛擬機器提供全面資料保護及快速還原選項。支援本地、異地及雲端的備份目標。具備防勒索軟體功能。

ESXi 日誌

VMware ESXi 是一款廣泛使用的虛擬化平台,可讓使用者在實體伺服器上建立和管理虛擬機器。為了確保 ESXi 伺服器能正常運作、進行故障排除及監控,系統會產生各種日誌。這些日誌記錄了重要的事件、錯誤及效能資料,有助於管理員和支援團隊識別問題,並維持虛擬基礎架構的穩定性。以下將說明一些重要的 VMware ESXi 日誌。

VMkernel 日誌

/var/log/vmkernel.log 

此日誌記錄 VMkernel 的運作狀況,包括裝置驅動程式事件、儲存、網路及其他與核心相關的活動。它能提供關於低階系統運作的深入資訊,對於診斷硬體相關問題至關重要。該 vmkernel 日誌位置是 /var/log/ 目錄。

/var/log/vmkwarning.log

此日誌檔案包含由 VMkernel 產生的警告訊息,VMkernel 是 ESXi 虛擬機器管理程式的核心。它記錄了可能需要關注但並非嚴重錯誤的事件與狀況。

/var/log/vmksummary.log

vmksummary.log 這是一份摘要日誌,提供 ESXi 主機運作狀態的概覽,內容包含啟動與關機事件、系統資源使用情況,以及部分關鍵效能統計資料。

主機管理日誌

/var/log/hostd.log

此日誌包含與 ESXi 主機管理服務相關的記錄 (hostd). 它記錄與虛擬機器電源操作、任務與事件處理,以及(如有適用)與 vCenter Server 通訊相關的事件。

虛擬機器日誌

/vmfs/volumes/datastore_name/vm_name/vmware.log

每台虛擬機器都會維護一個日誌檔案,用以記錄該虛擬機器的特定事件,例如電源操作、虛擬硬體變更,以及來自客體作業系統的應用程式事件。該 vmware.log 檔案位置是資料存放區上的虛擬機器目錄。

Contents of vmware.log

儲存日誌

/var/log/vobd.log

本日誌主要探討與儲存及 iSCSI 運作相關的問題。

/var/log/vmkernel.log

如前所述,VMkernel 日誌也會記錄與儲存相關的事件。

網路日誌

/var/log/vobd.log

此日誌包含與網路相關的事件,例如 vMotion、網路連線狀態及通訊錯誤。

/var/log/vmkernel.log

VMkernel 日誌中也包含與網路相關的訊息。

驗證與使用者日誌

/var/log/auth.log

此日誌記錄驗證事件,包括使用者登入與登出。

ESXi 命令列介面與 SSH 日誌

/var/log/shell.log

此日誌記錄使用者執行的 ESXi Shell (TSM) 指令。

/var/log/ssh.log

若 ESXi 主機已啟用 SSH,此日誌將記錄與 SSH 相關的事件。

系統訊息

/var/log/syslog.log

syslog.log 包含來自 VMkernel 以及在 ESXi 主機上運行的各項服務的完整系統訊息記錄。它記錄了廣泛的資訊,包括開機訊息、硬體事件、網路活動等。

防火牆日誌

/var/log/firewall.log
此日誌記錄與 ESXi 防火牆相關的事件,包括被允許和被拒絕的連線。

vCenter Server 在 ESXi 上的日誌(若已連線至 vCenter Server)

/var/log/vpxa.log

此日誌檔案專用於由 vCenter Server 管理之 ESXi 主機。該 vpxa.log 與 vCenter Agent 有關(vpxa) 運行於 ESXi 主機上。它會記錄 ESXi 主機與 vCenter Server 之間的互動,包括由 vCenter 發起的任務(例如虛擬機器電源操作、遷移及設定變更),以及主機狀態更新、任務與事件執行,以及與 vCenter Server 的通訊。

ESXi 更新日誌

/var/log/esxupdate.log

esxupdate.log 包含與…相關的日誌 ESXi 主機的修補程式與更新. 此日誌檔案記錄了在 ESXi 主機上安裝、升級及移除軟體套件 (VIB) 的相關資訊。

USB 日誌

/var/log/usb.log

usb.log 該檔案記錄與……相關的事件 連接至 ESXi 主機的 USB 裝置. 它會追蹤 USB 裝置的偵測、連線與斷線狀況,以及任何與 USB 直通功能或 USB 仲裁服務使用相關的問題。

VMware vCenter 日誌

VMware vCenter 是一個集中式管理平台,可讓管理員有效率地管理多個 VMware ESXi 主機和虛擬機器。為了維持 vCenter Server 及其所連接的 ESXi 主機的運作狀態與效能,系統會產生多份日誌,每份日誌皆有其特定用途。以下將說明幾份重要的 VMware vCenter 日誌。

vpxd.log

位置: /var/log/vmware/vpxd/vpxd.log

此日誌檔記錄與 vCenter Server 服務及 vpxd 日誌位置是 /var/log/vmware/vpxd/ vCenter 伺服器上的目錄。該 vpxd 日誌包含有關 vCenter 服務啟動、來自 vSphere 客戶端的連線事件、使用者驗證等資訊, 授權,以及透過 vSphere Client 或 API 執行的各項管理任務。

/var/log/vmware/vpxd/vpxd-alert.log 包含關於該項目的非關鍵資訊 vpxd 流程。

fdm.log

位置: /var/log/fdm.log

"故障域管理員"(FDM)的日誌對於 vSphere 高可用性 (HA) 疑難排解。其中包含有關主機與虛擬機器故障、HA 設定、心跳資料,以及 HA 叢集中主機選舉的相關資訊。

vmsyslogd.log

位置: /var/log/vmware/vmsyslogd.log

此日誌檔案與在 vCenter Server 裝置上執行的 syslog 服務有關。它記錄由各個元件和服務轉發至 vCenter Server syslog 的訊息。

vmware-vpostgres.log

位置: /var/log/vmware/vpostgres/postgresql-xx.log

此日誌包含與 PostgreSQL 資料庫相關的詳細訊息,包括複製狀態、交易日誌及其他資料庫事件。

catalina.log

位置: /var/log/vmware/vpostgres/catalina.out

此日誌檔屬於 VMware Postgres 資料庫服務。其中包含與資料庫操作相關的訊息,包括啟動與關閉事件、查詢以及錯誤。

sms.log

位置: /var/log/vmware/sms/sms.log

儲存監控服務 (SMS) 日誌會記錄與儲存監控及管理任務相關的事件,包括資料存放區、儲存裝置及儲存警示。

invsvc.log

位置: /var/log/vmware/invsvc/invsvc.log

"清單服務"日誌包含有關 vCenter Server 清單操作的資訊,例如物件更新、資料收集和同步。

applmgmt.log

位置: /var/log/vmware/applmgmt/applmgmt.log

此日誌檔案與設備管理服務相關,並提供有關 vCenter Server 裝置部署與設定的資訊。

vmware-sts-idmd.log

位置: /var/log/vmware/sso/vmware-sts-idmd.log

此日誌記錄與 VMware 單一登入 (SSO) 服務、身分管理及驗證流程。

stats.log

位置: /var/log/vmware/perfcharts/stats.log

stats.log 此檔案與 vCenter Server 效能圖表服務(亦稱為 vCenter 效能圖表)相關聯。它包含由效能圖表服務所收集的統計資料及與效能相關的資訊。

效能圖表服務提供虛擬機器與主機效能指標的圖形化呈現。該 stats.log 記錄可用於生成效能圖表和圖形的資料,以便監控和分析虛擬基礎架構元件的效能。

註: "效能圖表"服務對於監控虛擬機器和主機的即時效能至關重要,而 stats.log 在儲存底層資料方面發揮作用。

eam.log

位置: /var/log/vmware/eam/eam.log

eam.log 此檔案屬於 vCenter Server 中的 ESX Agent Manager (EAM) 服務。EAM 負責管理 vSphere 代理程式,包括 vSphere 安裝套件 (VIB) 和擴充功能代理程式。

eam.log 記錄與 vSphere 代理程式生命週期管理相關的事件和活動。它儲存有關代理程式部署、升級和驗證的資訊。如果您正在尋找 VMware Lifecycle Manager 的日誌位置,請查看 /var/log/vmware/eam/eam.log

註: ESX Agent Manager 可確保在 ESXi 主機上安裝正確版本的 VIB,並確保擴充功能代理程式已正確註冊。該 eam.log 對於追蹤這些運作以及偵測任何與 vSphere 代理程式相關的問題至關重要。

日誌儲存位置

讓我們來了解 VMware 日誌是儲存於哪個分割區以及哪些目錄中。在預設的 VMware ESXi 安裝環境中,日誌會儲存於不同分割區上的幾個目錄中。VMware 日誌(例如 ESXi 主機上的 VMkernel 日誌)的典型位置如下:

/scratch/log/

The location of VMware ESXi host logs

符號連結的位置在於 /var/log/ 但日誌檔案是儲存於 ESXi 的暫存區分區中(請參閱上圖與下圖)。我們在說明時已提及暫存區分區與暫存儲存空間 如何將 ESXi 安裝至 USB 隨身碟.

Most VMware ESXi host logs are stored in a scratch partition by default

例如,您可以在 /var/log/hostd.log 使用符號連結(symlink),但 hostd.log 檔案的位置 log 目錄位於 /scratch 分區。

虛擬機器日誌通常位於虛擬機器的資料存放區中的 VM 目錄內,且在 ESXi 伺服器重新啟動後不會被刪除,例如: /vmfs/volumes/datastore_name/vm_name/vmware.log

當虛擬機器日誌檔案(vmware.log) 已滿,則會重新命名為 vmware-1.log, vmware-2.log等等。

The vmware.log location is a VM directory on a datastore

您可以透過前往以下位置來啟用或停用虛擬機器日誌: VM settings > VM options 在 VMware vSphere Client 中展開 Advanced 選項,其中包括 Enable logging 核取方塊。

How to enable or disable VMware logging for a VM

因此, /scratch 此分割區用於在 ESXi 主機上儲存日誌及其他暫存檔案。在某些安裝環境中, /scratch 該分割區已設定為記憶體內檔案系統(tmpfs)。若您需要在重新開機後保留日誌,可使用"日誌儲存位置"設定。esxcli system syslog” 指令以及以下說明的其他指令。

請注意,ESXi 日誌的位置可能會因 ESXi 版本和設定而異。此外,若系統管理員已明確設定,日誌可能會儲存於持久性儲存裝置上。

vCenter 日誌的位置

大多數 vCenter Server 日誌的位置在於 /var/log/vmware/ 目錄。VMware vCenter Server 不會像 ESXi 那樣將日誌儲存於臨時(非持久性)分割區中。相反地,vCenter Server 的日誌通常儲存於作業系統的本地磁碟或已掛載的儲存卷上,這意味著這些日誌在重新開機後仍會保留。 VMware vCenter Server 裝置 (VCSA) 基於 Photon Linux,正如我們所知,VCSA 是目前用於 最新的 vSphere 版本.

基於 Linux 的安裝(VCSA)中,vCenter 日誌的位置為:

/var/log/vmware/vpx/

vCenter 日誌的確切位置取決於安裝 vCenter Server 的作業系統。基於 Windows 的 vCenter Server(此版本曾用於 VMware vSphere 6.7 及更早版本,現已不再支援)會使用以下預設位置來儲存 VMware vCenter 日誌:

C:ProgramDataVMwarevCenterServerlogs

請注意,vCenter 的日誌位置可能會因 vCenter Server 的版本和設定而異。您可以隨時參閱 VMware 官方文件或特定 vCenter Server 版本的文件,以查找確切的日誌位置。

由於 vCenter Server 是一個中央管理平台,因此它依賴持久性日誌來維護歷史資訊,並協助進行長期故障排除和效能分析。 與 ESXi 不同(ESXi 在某些預設配置下會使用記憶體內檔案系統來儲存臨時日誌),vCenter Server 的日誌設計為持久性日誌,並儲存於永久儲存裝置上。至於 ESXi 日誌的非持久性儲存,您可以在 ESXi 上變更日誌位置。

如何存取 VMware 日誌

我們已經探討過 VMware 日誌是什麼以及它們儲存的位置。現在,我們需要了解如何檢視 VMware ESXi 日誌,以便進行進一步的分析。您可以透過多種方式存取 VMware ESXi 日誌。

VMware 主機客戶端

請依照以下步驟,在 VMware Host Client 中檢視 ESXi 日誌:

  1. 請在您的網頁瀏覽器中登入 VMware Host Client。
  2. 點擊 Host > MonitorNavigator 窗格並點擊 Logs 分頁。
  3. 請選取其中一個 ESXi 日誌,以檢視其中的記錄資訊。您可以透過使用 Search 欄位。

    How to check VMware ESXi logs in VMware Host Client

DCUI (ESXi)

您可以使用 ESXi 上的直接主控台使用者介面來檢視日誌。您需要實體存取 ESXi 主機,包括螢幕和鍵盤,或者您可以使用 KVM 切換器及類似技術。

  1. 登入 ESXi 直接主控台使用者介面 (DCUI)。
  2. 請選擇 View System LogsSystem Customization 選單。
  3. 請按任意鍵 16 以檢視 ESXi 伺服器上的相關 VMware 日誌。每個數字的說明會顯示在介面的右側窗格中。

    How to check VMware ESXi logs in DCUI

  4. 輸入所需的數字後,您將看到一個顯示日誌的全螢幕頁面。您可以輸入 / 並輸入搜尋字串,以僅顯示包含所需資訊的行。按下 q 要退出此模式並返回上一個 DCUI 選單。

    How to check logs in the ESXi direct console user interface

網頁瀏覽器

請透過網頁瀏覽器中的連結開啟頁面,該頁面內含用於下載日誌檔案的連結。您必須輸入具備 ESXi 主機管理權限的憑證,才能存取此頁面。

https:///host

How to check VMware ESXi logs in a web browser

ESXi 命令列

ESXi 命令列與 DCUI 類似,若網路連線中斷且無法透過網路遠端檢視日誌,可使用此工具來檢視 ESXi 日誌。

  1. 請確認已在 DCUI 中啟用 ESXi Shell (Troubleshooting Options > Enable ESXi Shell).
  2. 新聞 Alt+F1 以開啟 ESXi 命令列介面。
  3. 使用指令來檢視 ESXi 日誌。

SSH

透過 SSH 遠端存取是檢視與分析 VMware 日誌最方便且最強大的方法之一。

  1. 在 DCUI 中啟用 SSH (疑難排解選項 > 啟用 SSH) 或 VMware Host Client,以允許透過 SSH 遠端存取 ESXi 主機。
  2. 使用 SSH 客戶端連線至 ESXi 主機(例如, PuTTY (若從 Windows 連線)。
  3. 使用指令來檢視 ESXi 日誌,並進行 VMware 日誌分析。

    How to check VMware ESXi logs in the command line via SSH

VMware 日誌分析與實例

現在我們已經了解 VMware 日誌的名稱與位置,以及存取日誌的方法,這些資訊對於在虛擬化環境中排除各種問題至關重要。接下來,讓我們透過一些實際範例,來探討如何運用 VMware 日誌進行故障排除。

識別 ESXi 主機連線問題

問題: ESXi 主機上的虛擬機器正遭遇間歇性的網路連線問題。

需檢查的日誌:

  • /var/log/vmkernel.log
  • /var/log/vobd.log
  • /var/log/hostd.log


疑難排解步驟. 請檢查 VMkernel 日誌中的網路相關訊息,並查找錯誤或丟失的封包。此外,請檢視 hostd 任何主機管理服務問題的日誌。該 vobd.log 可協助釐清可能影響虛擬機器網路的儲存相關問題。

虛擬機器快照建立失敗

問題:試圖建立一個 虛擬機器的快照 失敗。

需檢查的日誌:

  • /vmfs/volumes/datastore_name/vm_name/vmware.log
  • /var/log/vmkernel.log


疑難排解步驟. 檢視 vmware.log 請檢查該特定虛擬機器的快照相關錯誤或警告訊息。同時,請檢查 VMkernel 日誌,以確認是否存在可能阻礙快照操作的儲存相關問題。

虛擬機器效能下降

問題:某台虛擬機器正遭遇 效能問題,例如 CPU 或記憶體使用率過高。

需檢查的日誌:

  • /vmfs/volumes/datastore_name/vm_name/vmware.log
  • /var/log/vmkernel.log


疑難排解步驟. 分析該 vmware.log 檢查受影響虛擬機的日誌,以確認是否存在任何應用程式特定的錯誤或資源使用率驟升的情況。同時,檢查 VMkernel 日誌中的效能相關訊息,並確保 ESXi 主機具備足夠的可用資源。

vCenter 服務啟動失敗

問題: vCenter Server 服務無法啟動。

需檢查的日誌:

  • /var/log/vmware/vpxd/vpxd.log on vCenter server
  • /var/log/vpxa.log on an ESXi host


疑難排解步驟. 檢視 vpxd.log vCenter Server 啟動期間是否發生錯誤或例外情況。此外,請檢查 vpxa.log 在受管 ESXi 主機上,以確保 vCenter 與主機之間能正常通訊。

VMware 高可用性 (HA) 叢集故障移轉問題

問題: 在 ESXi 主機發生故障後,虛擬機器無法在高可用性叢集中的其他主機上重新啟動。

需檢查的日誌: /var/log/fdm.log

疑難排解步驟. 分析該 fdm.log 在受影響的主機上檢查,以找出高可用性叢集中的任何錯誤或問題。請檢查心跳訊息、主機選舉流程,以及虛擬機器故障移轉失敗的可能原因。

vMotion 失敗

問題: VMware vMotion 在嘗試將虛擬機器在主機之間遷移時發生失敗。

需檢查的日誌:

  • /var/log/vmkernel.log
  • /var/log/vobd.log


疑難排解步驟. 檢查 vmkernel.log 請檢查與 vMotion 相關的訊息以及任何網路連線問題。此外,請檢查 vobd.log 以防出現可能影響 vMotion 的潛在儲存相關問題。

VMware Tools 安裝問題

問題: VMware Tools 安裝 在虛擬機器上執行失敗。

需檢查的日誌: /vmfs/volumes/datastore_name/vm_name/vmware.log

疑難排解步驟. 檢視 vmware.log 在虛擬機器內檢查與 VMware Tools 相關的錯誤或安裝訊息。

在使用 VMware 日誌進行疑難排解時,必須將多個日誌中的事件相互關聯,才能全面了解問題。此外,日誌分析工具,例如 VMware Aria Operations for Logs(前身為 vRealize Log Insight),有助於簡化日誌檢視流程,並在複雜環境中更有效地進行 VMware 問題排除。

儲存問題的疑難排解

您可以利用 VMware 日誌來識別硬碟或固態硬碟的問題,例如,當硬碟上出現壞區時。若要在 VMware 環境中識別硬碟 (HDD) 或固態硬碟 (SSD) 的問題,您可以利用各種 VMware 日誌來追蹤和分析與儲存相關的事件及錯誤。

  1. 檢視 VMkernel 日誌 (/var/log/vmkernel.log):

    VMkernel 日誌提供低階系統資訊,包括與儲存相關的事件。請查找顯示磁碟 I/O 錯誤或與磁碟問題相關的 SCSI 感測碼的訊息。

    錯誤範例: "Device I/O errors", "Medium Error Detected""Uncorrectable error in data"

  2. 檢查儲存裝置的相關日誌(/var/log/vobd.log):

    vobd.log 包含與儲存相關的訊息,包括儲存子系統所遇到的錯誤。

    錯誤範例: "Storage Error: Device 'naa.xxxxxxxxxxxxxx'... Sense: Unrecovered read error"

  3. 檢視虛擬機器日誌 (/vmfs/volumes/datastore_name/vm_name/vmware.log):

    虛擬機器專用的日誌可以揭示特定虛擬機器所遭遇的磁碟 I/O 錯誤。

    錯誤範例: "Disk I/O error occurred on one or more virtual disks", "Disk error detected""Error Stack: Unable to read partition table"

建議:除了 VMware 日誌外,還應使用哪些工具

針對 VMware 日誌,有相關建議說明應如何運用,以進行更完善且詳盡的診斷與疑難排解,從而及時偵測儲存問題。

  • 監控 vCenter 警報與事件請密切留意 vCenter Server 中與儲存相關的警報和事件。由儲存問題觸發的警報,可協助您掌握潛在的磁碟問題。
  • 使用 VMware 系統狀態檢查. VMware 提供 各項健康檢查 這些檢查可透過 vSphere Client 執行。這些檢查能識別與儲存相關的問題,並提供建議。
  • 使用第三方監控工具. 實作特殊 IT 監控 以及日誌分析工具,用以集中管理並分析來自多個主機和虛擬機器的日誌資料。這些工具有助於識別整個虛擬基礎架構中與磁碟相關的問題。
  • 在識別硬碟上的壞區時,務必留意各種錯誤訊息與模式,尤其是那些顯示媒體或讀寫錯誤的訊息。壞區可能導致資料損毀或效能下降,及早發現可避免更嚴重的問題。若故障磁碟裝置上的資料遺失, 從 VMware 備份中還原資料 對保持磁碟健康至關重要。

叢集問題

善用 VMware ESXi 日誌和 vCenter 日誌,對於識別虛擬化環境中的叢集相關問題至關重要。叢集問題可能表現為以下狀況: 虛擬機器效能、HA 故障移轉、vMotion 失敗或其他與叢集相關的操作。

  • 檢視 vCenter Server 日誌:
    • 存取 vCenter 日誌,例如 vpxd.log 以及 vpxa.log,位置在 /var/log/vmware/vpxd/vpxd.log 以及 /var/log/vpxa.log 分別。
    • 請檢查與叢集運作、資源管理,以及 vCenter 與 ESXi 主機之間的通訊相關的錯誤或警告訊息。
    • 請留意叢集建立、設定變更以及叢集服務問題期間發生的狀況。
  • 檢查 ESXi 主機日誌並存取 ESXi 主機日誌,包括 vmkernel.log, hostd.log 以及 fdm.log:
    • vmkernel.log: 請檢查是否有任何與叢集相關的事件,例如 vMotion 嘗試、高可用性 (HA) 心跳問題,或資源共享過程中的錯誤。
    • hostd.log: 請查找與叢集相關的訊息,這些訊息涉及由主機管理服務處理的任務和事件。
    • fdm.log: 檢查是否發生與 HA 相關的事件,包括主機故障、虛擬機器重新啟動以及主節點選舉事件。
  • 檢查虛擬機器日誌:
    • 存取 VM 日誌,例如 vmware.log,以識別叢集中個別虛擬機器所特有的問題。
    • 虛擬機器日誌可協助了解虛擬機器的效能、資源限制,或 vMotion 操作期間發生的故障。
  • 監控叢集專屬的警報與事件:
    • 使用 vCenter 建立針對叢集效能與運作狀態的特定警報和事件。
    • 針對資源使用過量、叢集分割或虛擬機器故障等問題設定警示。
    • 檢查 vCenter 的 Events 用於顯示與叢集相關的事件,例如虛擬機器遷移、叢集重新配置或高可用性事件。

透過整合 ESXi 日誌、vCenter 日誌、效能指標以及叢集特定事件的資訊,您可以獲得 對叢集健康狀況的全面了解 並找出影響虛擬機器效能、高可用性及整體叢集穩定性的問題。定期進行日誌分析與主動監控,有助於預防叢集問題,或在問題發生時迅速解決。

網路疑難排解

在 VMware vSphere 中進行網路疑難排解,涉及識別並解決影響虛擬機器的網路相關問題,以及 ESXi 主機之間的通訊. VMware ESXi 和 vCenter 的日誌對於精準定位此類問題至關重要。以下提供一些利用 ESXi 和 vCenter 日誌進行網路疑難排解的範例,並附上用於擷取相關資訊的指令。

識別虛擬機器網路連線問題

問題: 虛擬機器無法連線至網路。

  • 用於檢查 VMkernel 日誌的指令(在 ESXi 主機上):

    cat /var/log/vmkernel.log | grep -E 'Failed to send packet|dropped|no network'

    此指令會篩選 VMkernel 日誌中與封包失敗、封包丟失或網路不可用相關的訊息。

  • 用於檢查虛擬機器網路設定的指令(在 ESXi 主機上):

    esxcfg-vmknic -l

    此指令會列出 ESXi 主機上已設定的 VMkernel 網路介面及 IP 位址。請確認虛擬機器是否 網路已正確設定.

vMotion 問題的疑難排解

問題:兩台 ESXi 主機之間的 vMotion 操作失敗。

  • 用於檢查 VMkernel 日誌的指令(適用於來源和目標 ESXi 主機):

    cat /var/log/vmkernel.log | grep -E 'Migration to host|vMotion'

    此指令有助於在來源和目標 ESXi 主機上查找與 vMotion 相關的訊息。

  • 用於檢查 vCenter 事件的指令(在 vCenter Server 上):

    vim-cmd vmsvc/get.eventlog | grep 'Migrate'

    替換 並附上受影響虛擬機器的虛擬機器識別碼 (VMID)。此指令會擷取該虛擬機器的事件日誌,並搜尋與 vMotion 相關的事件。

找出網路效能瓶頸

問題:虛擬機器的網路效能出現下降。

  • 用於檢查 ESXTOP 統計資料的指令(在 ESXi 主機上):

    esxtop

    內頁 esxtop,按下 n 切換至網路檢視。監控諸如網路吞吐量等指標(MBTx/rx), Network Packets/s,以及 Network Dropped/s 以識別潛在的瓶頸。此指令及接下來的指令並非用於顯示 VMware 日誌檔案中的資料,而是用於顯示 VMware 疑難排解所需的即時更新資訊。您也可以透過 esxtop 指令。

vSphere 分散式交換器 (VDS) 問題的疑難排解

問題: vSphere 分散式交換器上虛擬機器(VM)的連線問題.

  • 用於檢查 VDS 狀態的指令(在 vCenter Server 上):

    net-dvs -l

    此指令會列出所有 分散式虛擬交換器 (VDS) 及其狀態。

  • 用於檢查 VDS 埠狀態的指令(在 vCenter Server 上):

    net-dvs -p

    替換 並附上 VDS 的名稱。此指令會顯示指定分散式虛擬交換機上所有埠的狀態。

請記住,網路疑難排解通常需要分析來自多個來源的日誌和效能資料,包括 VMkernel 日誌、vCenter 日誌、效能指標以及網路設定。上述範例可作為收集網路問題相關資訊的起點,您可能需要根據 vSphere 環境中遇到的具體問題來調整這些指令。

用於 VMware 日誌分析的正規表達式

如上例所示,透過 SSH 存取 ESXi 殼層並使用命令列,是檢視 VMware 日誌及進行 VMware 日誌分析的一種強大方法。您可以將原生命令列工具用作 VMware ESXi 日誌分析工具。這些命令列工具對 Linux 使用者而言相當熟悉:

  • cat 是一個命令列工具,用於將一個或多個文字檔案的內容串接起來,並在終端機上顯示。它通常用於一次檢視檔案的完整內容。然而,對於大型檔案,使用 cat 可能會導致大量輸出內容迅速滾出螢幕,使得閱讀此類檔案變得不太實用。
  • less 是一個命令列分頁程式,可讓您檢視並捲動瀏覽文字檔案的內容。它每次只顯示一螢幕的文字,並提供導覽選項,讓您在檔案中向前或向後移動。與 cat, 該指令會將整個檔案內容輸出至終端機,而 less 則有助於更有效地閱讀大型檔案。
  • grep 代表"Global Regular Expression Print"。這是一款強大的命令列工具,用於在一個或多個檔案中搜尋文字模式(正規表達式)。 grep 可篩選並顯示包含指定模式的行。此功能常被用於文字搜尋、日誌分析,以及從檔案中擷取特定資訊。
  • tail 是一個命令列工具,用於顯示文字檔案的最後幾行。預設情況下, tail 顯示檔案的最後十行。這對於即時監控日誌檔案特別有用,因為它能在日誌新增條目時立即顯示出來。該 tail 此指令通常與 -f 可持續監控檔案並查看即時更新的功能。
  • head 是一個命令列工具,用於顯示文字檔案的前 N 行。預設情況下,該 head 此工具會顯示檔案的前 10 行。這對於快速預覽檔案開頭或擷取初步資訊非常有用。類似於 tail, 您可以使用 -n 選項。

您可以將這些命令列工具相互結合,並搭配正規表達式使用,以達到 VMware 日誌分析的最高效率。在 ESXi 命令列中使用正規表達式 (regex) 分析日誌檔案,是提取特定資訊並深入了解問題或模式的一種強大方法。以下提供一些實際範例,展示如何在 ESXi 中運用正規表達式進行日誌分析。

篩選特定事件的日誌

假設您想找出某個特定事件的所有發生次數,例如 "Disk I/O error",在 vmkernel.log 檔案。

cat /var/log/vmkernel.log | grep -E 'Disk I/O error'

此指令將顯示所有包含該短語的行 "Disk I/O error"vmkernel.log.

從日誌中擷取 IP 位址

要從日誌中擷取 IP 位址,請在 hostd.log 檔案中,您可以使用能匹配 IPv4 位址的正規表達式模式。

cat /var/log/hostd.log | grep -E -o '([0-9]{1,3}.){3}[0-9]{1,3}'

此指令將顯示在 hostd.log.

使用量詞尋找模式

假設你想找出所有位於 vmware.log 包含任意數量連續數字的檔案。

cat /vmfs/volumes/datastore_name/vm_name/vmware.log | grep -E '[0-9]+'

此指令將顯示所有包含一個或多個數字的行,位於 vmware.log.

搜尋多個模式

要在 vpxd.log 包含以下任一項的檔案 "error""warning", 您可以使用 OR 運算子 | 在正規表達式模式中。

cat /var/log/vmware/vpxd/vpxd.log | grep -E 'error|warning'

此指令將顯示所有包含以下任一項的行 "error""warning"vpxd.log.

使用萬用字元進行匹配

假設你想找出所有位於 vobd.log 包含該字的檔案 "failed" 無論情況如何。

cat /var/log/vobd.log | grep -i 'failed'

此指令將顯示所有包含 "failed", "FAILED", "Failed",等等,在 vobd.log.

使用捕獲群組

要從中的行中擷取日期和時間資訊 sms.log 檔案中,您可以在正規表達式模式中使用捕獲群組。

cat /var/log/vmware/sms/sms.log | grep -Eo '([0-9]{4}-[0-9]{2}-[0-9]{2}) ([0-9]{2}:[0-9]{2}:[0-9]{2})'

此指令將顯示在 sms.log.

註: 您可以根據您的特定使用情境,變更所需日誌的路徑。

這些範例示範了如何將正規表達式與 grep 用於在 ESXi 命令列介面中執行日誌分析的指令。正規表達式具備強大的模式比對功能,可讓您有效率地擷取特定資訊、篩選日誌以及找出模式。請注意,實際的正規表達式模式可能會因日誌檔案的內容,以及您想要擷取或搜尋的資訊而有所不同。您可以參考這些範例,並調整指令以滿足您在 VMware 日誌分析方面的特定需求。

如何匯出 VMware 日誌並下載支援服務包

有時,VMware 日誌分析可能無法協助您解決發生在 ESXi 主機或 vCenter 上的問題。在此情況下,您可以匯出日誌或下載支援服務包,並將這些資訊傳送給 VMware 技術支援團隊。若您有 VMware vSphere 授權版本.

VMware 主機客戶端

若要建立支援服務包並匯出 VMware 日誌,請執行以下步驟:

  1. 點擊 MonitorNavigator 面板。
  2. 請選擇 Logs 分頁。
  3. 點擊 Generate support bundle.
  4. 請將在網頁瀏覽器中下載的套件壓縮檔儲存起來。

    How to generate a support bundle with ESXi logs in VMware Host Client

VMware vSphere Client

要在 vSphere Client 中匯出 VMware 系統日誌,請執行以下操作:

  1. 請選擇 Hosts and Clusters 檢視並選取您要匯出的日誌所屬的 ESXi 主機(位於左側窗格,即導覽窗格中)。
  2. 右鍵點擊 ESXi 主機,然後點擊 Export system logs 在彈出的選單中。

    How to export VMware vCenter Server logs in VMware vSphere Client

  3. 選擇您要匯出的 ESXi 日誌,然後點擊 Export logs.

    Selecting vCenter logs to export

要在 vSphere Client 中將套件上傳至 VMware 技術支援,請執行以下操作:

  1. 點擊 Menu 左上角的圖示。
  2. 前往 Administration > Support > Upload File to Service Request 並點擊 Upload File to Service Request 按鈕。

    How to upload a file to a service request in VMware vSphere Client

在網頁瀏覽器中開啟連結

請使用此連結前往 cgi ESXi 主機上的腳本:

http:///cgi-bin/vm-support.cgi

下載並儲存包含已匯出 ESXi 日誌的套件(一個 .tgz 檔案)。

在 ESXi 命令列介面中建立套件

您可以在 ESXi 命令列介面中執行以下指令,以建立一個包含 ESXi 日誌的支援服務包:

/usr/bin/vm-support

How to generate a support bundle containing VMware ESXi logs in the ESXi command line

結論

在排除 VMware vSphere(包括 ESXi 和 vCenter)的問題時,分析 VMware 日誌可協助管理員找出問題的根本原因,並採取適當的矯正措施。透過分析這些日誌,管理員能夠識別並解決諸如效能瓶頸、連線問題、設定錯誤以及潛在的安全疑慮等問題。 定期檢視日誌對於主動管理以及維持 VMware vCenter 和虛擬化環境的穩定性與可靠性至關重要。

定期監控 VMware 基礎架構並備份虛擬機器,可讓您及時預防問題並避免資料遺失。

試試看 NAKIVO Backup & Replication

試試看 NAKIVO Backup & Replication

立即申請免費試用,全面體驗本解決方案的所有資料保護特點。15 天免費試用。無功能或容量限制。無需提供信用卡資訊。

People also read