前言

上篇简单了解了网卡中断如何提高虚拟机性能,同时也总结了这个技术的优缺点。下面讲一招打开vm的console口,让你轻轻松松管理vm。

什么是console口

console口:CONSOLE接口是用来配置交换机的,所以只有网管型交换机才有。而且还要注意,并不是所有网管型交换机都有,那是因为交换机的配置方法有多种,如通过Telnet命令行方式、Web方式、TFTP方式等。
而在PC上,它又是另外一个名字。
Serial口:PC上的串口一般是ttyS,板子上Linux的串口一般叫做ttySAC,是usb口转串口的是ttyUSB 外插串口卡的话默认是dev下的ttyS* ,一般ttyS0对应com1,ttyS1对应com2。

一招打开vm的console

常规情况下,安装完 KVM 之后,可能都会通过 VNC 连接到 KVM 虚拟机里面去设置相应的 IP 等信息。但是这样子,一方面可能会因为打开过多的端口造成安全问题,另一方面也不是会便捷。针对此种情况,我们可以使用 KVM 为我们提供的 console 接口功能,它可以采用字符界面进行 linux 虚拟机控制台连接。这样子,及时 KVM 虚拟机没有 IP 地址,又或者 KVM 虚拟机出现了问题通过 IP 连接不进去了,都可以很便捷的快速进入到 KVM 虚拟机里面去排查问题。

CentOS6

1、修改 grub.conf 文件 通过为内核传递参数 console=ttyS0,来让内核把输出定向至 ttyS0
[root@test01-kvm-jz /root] # vim /etc/grub.conf

2、修改 /etc/inittab 文件 通过在 inittab 里加一个 ttyS0 ,来使得系统启动时能够生成一个 ttyS0 来接收来自内核的数据
[root@test01-kvm-jz /root] # echo "S0:12345:respawn:/sbin/agetty ttyS0 115200" >> /etc/inittab
[root@test01-kvm-jz /root] # tail -1 /etc/inittab S0:12345:respawn:/sbin/agetty ttyS0 115200

3、修改 /etc/securetty 文件 由于 /etc/securetty 文件允许你规定 root 用户可以从哪个 TTY 设备登录,因此我们需要添加 ttyS0 的安全许可,即将 ttyS0 添加至该文件,来允许我们的 root 用户登录。
[root@test01-kvm-jz /root] # echo "ttyS0" >> /etc/securetty

4、重启 KVM 虚拟机
[root@test01-kvm-jz /root] # reboot

Ubuntu14

1、添加serial任务文件
[root@test01-kvm-jz /root] vi /etc/init/ttyS0.conf
玩转KVM-一招打开vm的console口_第1张图片

2、添加到rc.local
[root@test01-kvm-jz /root] root@ecloud:~# which start
/sbin/start

[root@test01-kvm-jz /root] echo “/sbin/start ttyS0” >>/etc/rc.local
3、 重启kvm虚拟机
[root@test01-kvm-jz /root] # reboot

CentOS7/Ubuntu16

1、启动serial服务
[root@test01-kvm-jz /root] # systemctl start serial-getty@ttyS0
[root@test01-kvm-jz /root] # systemctl enable serial-getty@ttyS0

2、重启kvm虚拟机
[root@test01-kvm-jz /root] # reboot
玩转KVM-一招打开vm的console口_第2张图片