我使用 virt-install 创建了一个 VM,使用 Ubuntu 14.04.01 LTS 服务器 ISO 作为安装媒体。在安装阶段,我通过图形控制台连接到 VM。
现在我运行了虚拟机:我可以通过 ssh 访问它,否则它工作正常。我可以按照引导过程进行:
virsh console my-vm
但是我看不到登录提示。如何访问通常通过 PTY 分配的登录提示?
我使用 virt-install 创建了一个 VM,使用 Ubuntu 14.04.01 LTS 服务器 ISO 作为安装媒体。在安装阶段,我通过图形控制台连接到 VM。
现在我运行了虚拟机:我可以通过 ssh 访问它,否则它工作正常。我可以按照引导过程进行:
virsh console my-vm
但是我看不到登录提示。如何访问通常通过 PTY 分配的登录提示?
可以使用串行控制台界面直接访问 KVM 来宾,在这种情况下,不需要设置桥接网络、SSH 等。通过串行控制台访问提供了另一种访问服务器的方法,以补充或替换默认的 VNC 访问。
这是使用实用程序完成的,该
virsh
实用程序是 libvirt 的 shell 接口。virsh ttyconsole my_vm
如果显示输出(例如 /dev/pts/41),则表明 Guest 已经拥有控制台设备。否则,使用 virsh edit 定义一个。这是一个要在里面添加的例子
<device></device>
。有关详细信息,请参阅 libvirt XML 格式。这是(guest)Ubuntu 9.10(Karmic)及以后版本的配置方法。
sudo editor /etc/init/ttyS0.conf
添加配置:
sudo start ttyS0
在这里,我们使用“xterm”作为终端类型,如果我们使用 gnome-terminal(或 xterm)实例进行连接,则效果很好。最好将其设置为与将用于连接的终端类型相匹配。这可以在您将用于连接的主机/客户端终端中使用此命令找到:
echo $TERM
例如,如果您正在运行 screen,它是“screen”,对于 byobu,它是“screen-bce”等。
当您已经连接到控制台时,您还可以临时设置变量:
export TERM=screen
首先我们连接到(本地)qemu 会话:
virsh -c qemu:///session
(这是可选的,如果您不想使用 virsh 控制台,您可以简单地virsh
在 bash 中添加命令。即virsh start my_vm
等virsh console my_vm
)现在在 virsh shell 中,启动虚拟机:
start my_vm
当它开始连接到控制台时:
console my_vm
按 Return 获取登录提示,然后照常登录(请注意,即使未显示登录提示,用户名输入也有效)。
你在!
杂项说明
用于
Ctrl + ]
退出控制台。如果控制台行为异常或显示不正确,请检查 TERM 变量是否设置正确(见上文)。
如果终端似乎切断了输出的顶部,请将其更改为具有 80x24 的查看区域,例如在 byobu 这意味着您需要考虑状态栏并将窗口本身设置为 80x26
这套指令被无耻地复制并从https://help.ubuntu.com/community/KVM/Access稍作调整