訪問 Ubuntu 16.04 KVM Guest 的控制台
當我將 Debian 8 添加到我的KVM 管理工具時,我發現除非我添加到 grub 引導配置,否則我無法訪問控制台
console=ttyS0
。這不是很好,但它奏效了。我正在將 Ubuntu 16.04 添加到管理工具中,這次安裝來賓時遇到了同樣的問題,但是當我在連接到控制台時重新啟動實例時,我不再看到 grub 菜單選項。因此,我無法實施解決方法。我設法通過在管理程序上執行
arp -an
並連接到 KVM 網橋上的 IP 來找到來賓實例的 IP 地址,直到找到正確的 IP 地址。這使我能夠確認來賓已安裝並正確執行。我希望能夠連接到控制台sudo virsh console [guest ID]
,以防網路出現問題或 openssh 突然決定停止工作。我需要做什麼才能從管理程序連接到來賓 ubuntu 16.04 控制台?我的直覺是我應該只需要調整由
sudo virsh edit [guestID]
. 目前我有:... <serial type='pty'> <target port='0'/> </serial> <console type='pty'> <target type='serial' port='0'/> </console> ...
額外資訊
- 使用核心 4.2.0-36-generic 的 Ubuntu 14.04 KVM 管理程序
- 維爾什 1.2.2
2017 年 3 月 13 日更新
對於那些已經處於上述情況的人,您可以使用下面的原始答案修復您*現有的客人。*但是,對於那些不想再經歷這種痛苦的人,您可以添加以下內容,以便在您的 kickstart 文件的 %post 部分:
%post --nochroot ( sed -i "s;quiet;quiet console=ttyS0;" /target/etc/default/grub sed -i "s;quiet;quiet console=ttyS0;g" /target/boot/grub/grub.cfg ) 1> /target/root/post_install.log 2>&1 %end
這將確保對 grub 進行必要的更改,如下所述,以便您通過使用 kickstart 文件部署的新來賓不會遇到此問題。
原始答案
對於那些在找出主機上使用的 IP 後設法通過 SSH 連接的人,您可以在連接到訪客後
arp -an
執行以下步驟(取自本頁底部)。編輯 grub 配置文件:
sudo vim /etc/default/grub
將文本添加
console=ttyS0
到GRUB_CMDLINE_LINUX_DEFAULT
參數中,如下所示:然後通過執行以下命令使用您的更改重建 grub 菜單:
sudo update-grub
現在您應該可以使用
virsh console [guest ID]
.隨著未來的核心被添加到系統中,這將繼續工作,但我更希望有一個解決方案,它不需要我首先擁有對來賓的 SSH 訪問權限。
謝謝@Programster 解決方案對我有用。因為我什至沒有 SSH 訪問權限,所以我必須安裝和使用 virt-edit。
sudo apt install libguestfs-tools sudo virt-edit -d myVM /boot/grub/grub.cfg
quiet
替換quiet console=ttyS0
grub.cfg 文件中的所有實例並啟動我的 VM 以進行控制台連接。virsh start myVM && virsh console myVM
登錄後不要忘記根據@programster 的回答編輯和更新 grub。