Centos

為什麼virsh console x會掛在“轉義字元是^]”上?(qemu-kvm)

  • June 14, 2020

我 2 個月前開始工作的公司有一個執行著幾個虛擬機的舊虛擬機管理程序。我登錄到其中一台機器(當時我不知道它是虛擬機)並更改了一些網路設置並重新啟動了網路服務。從那一刻起,我無法再通過網路訪問那台機器,所以我認為我的配置有誤。在我開始搜尋 fysical 伺服器的地方,我發現它是一個虛擬機。

我確實可以通過 SSH 訪問 VM,並且可以看到 VM 仍在執行( ),但由於機器掛起,因此virsh list無法訪問機器。virsh console machinename``Escape character is ^]

當然,我用Google搜尋了這個錯誤,發現它與 ?? 虛擬串口配置??和/或一些??grub設置??,都在VM上。解決方案都是基於我可以登錄虛擬機但我不能….

有沒有辦法通過管理程序 SSH 連接訪問虛擬機?

有關管理程序的一些資訊。不要責怪這些版本,因為這個虛擬機管理程序(和虛擬機)很快就會被替換:

  • 作業系統:CentOS 6.4 版(最終版)
  • 使用庫:libvirt 0.10.2
  • 使用的 API:QEMU 0.10.2
  • 執行管理程序:QEMU 0.12.1

的結果yum info qemu-kvm

Installed Packages
Name        : qemu-kvm
Arch        : x86_64
Epoch       : 2
Version     : 0.12.1.2
Release     : 2.506.el6_10.7

我不知道這是否足以幫助我解決問題,但我也不知道可能需要更多資訊。如有遺漏,請告知我們,提前感謝您的幫助!

我無法以某種方式訪問虛擬機,因為我在網路配置中犯了一個錯誤,並且virsh console machinename沒有按照我的問題中的說明工作。

經過長時間的搜尋,我找到了該工具Virtual Machine Managerhttps://virt-manager.org/)。我將它安裝在 Ubuntu 桌面機器上,並且能夠將該工具連接到 Hypervisor。該工具為實際工作的虛擬機提供了一個 ssh 介面。這樣我就能夠修復網路設置並配置serial interface.

我會說,問題解決了

執行virsh console machinename是連接到系統上的控制台,例如,將串列電纜和啞終端連接到物理主機。如果您的 VM 沒有getty在該控制台埠上進行偵聽,那麼您不應期望看到任何內容。

根據主機的配置,如果您將 console=ttyS0 添加到引導載入程序的核心參數(假設它是第一個串列控制台),它可能會自動檢測虛擬控制台。

此外,systemctl start serial-getty@ttyS0.service如果您可以通過其他方式登錄,則可以在 VM 上手動啟動它。

引用自:https://unix.stackexchange.com/questions/592482