KVM 通过virsh console连入虚拟机

参考: https://www.cnblogs.com/xieshengsen/p/6215168.html

在kernel启动参数中添加: console=ttyS0

这岂不是要重启?

也不用,centos7下,只需要启动一个服务就行:

为了下次能自动启动,可以enable一下:

注意: 最好确保 ttyS0已经加入了 /etc/securetty :

然后就可以virsh console $domain 了

其实对应domain的console在宿主机是有一个tty的,如下方式查看:

如:

比较有趣的玩法是:

  1. 在终端1 去 cat /dev/pts/2
  2. 在终端2 去 echo -e “$username\n$password\necho hello world” >/dev/pts/2
  3. 在终端1就能看到输出
  4. 最后别忘了echo “exit” >/dev/pts/2 否则,下次不需要密码就进去了

为什么virsh console没有配置的时候,virt-manager依然能看到虚拟机的界面呢?virt-manager走的是vnc(或spice)方式,而且是宿主机里面提供的,和虚拟机里面是否有vnc(spice)没有关系。

 

通过ps也能查看:

默认情况下,虚拟机的vnc(或spice)会listen 127.0.0.1 上的端口,远程通过virt-manager访问的时候,如果使用ssh协议的话,会通过如下方式将vnc(或spice)端口重定向到本地:

然后在这个打开的流上进行vnc(或spice)协议,这个可就不想tty那么好模拟了

 

那么,kvm如何就能启动一个vnc,使得能够访问虚拟机呢?模拟硬件的tty?

 

参考: https://www.cnblogs.com/xieshengsen/p/6215168.html

留下评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据