使用virsh console管理虚机

在KVM的虚拟化实践中,使用终端状态的虚机管理软件virsh可以完成创建、删除、管理等一系列动作。但在默认情况下,virsh使用virsh console连接虚机会出现卡住的情况。这是由于virsh console连接不上虚机的虚拟串行端口所致。

对于Ubuntu虚机,解决的方式如下:

首先,KVM环境中的虚机开启相关服务:

$ sudo systemctl start serial-getty@ttyS0
$ sudo systemctl enable serial-getty@ttyS0
Created symlink /etc/systemd/system/getty.target.wants/serial-getty@ttyS0.service → /lib/systemd/system/serial-getty@.service.

然后,无需重启客户机就可以在管理端可以看到结果

root@tc8304:~# virsh start ubuntu
域 ubuntu 已开始

root@tc8304:~# virsh console ubuntu
连接到域 ubuntu
换码符为 ^]

Ubuntu 17.04 ubuntu ttyS0

ubuntu login: 

对于CentOS7的虚机而言,则需要执行如下命令:

root# grubby --update-kernel=ALL --args="console=ttyS0"
root# reboot