首页 > 代码库 > 让KVM虚拟机支持console功能

让KVM虚拟机支持console功能

       在工作中,我们可能都会接触到 KVM 虚拟机,并且公司的很多应用也都会跑在 KVM 虚拟机上。因此,对 KVM的熟练应用,也是运维必不可少的能力之一。那么在 KVM 的实践过程中,我们肯定会经常去思考如何能够更深入、更标准的实践好 KVM。由此,就引发了很多使用经验(技巧)。

       今天将会介绍的是,如何使用 KVM 的 console 接口功能。

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

       KVM 虚拟机的 console 接口连接应用的效果如下图所示:

wKiom1SLAMji-3E1AAGbxXuhsB8961.jpg

       下面来看如何使用这个功能!

       如上图所示,你可以通过命令 " virsh console 虚拟机名字" 的形式,以字符界面的形式去连接你所指定名字的那台 KVM 虚拟机。此时会出现如下的提示:

wKioL1SLAVaxEjZjAABhsFZ4_is488.jpg

       在这种提示下,你需要回车一下,如果回车之后,没有任何反应,那就说明你指定的这台 KVM 虚拟机没有打开 console 功能。

       如果出现如下情况就表示,你可以直接使用 console 功能。

wKioL1SLAYPSQvEGAAC8dKf9eZw928.jpg

       如果没有打开的 console 这个功能的话,可以通过如下操作进行人为打开。


1、修改 grub.conf 文件

       通过为内核传递参数 console=ttyS0,来让内核把输出定向至 ttyS0

[root@test01-kvm-jz test01-kvm-jz.btr /root] 
# vim /etc/grub.conf

wKiom1SLAP_TR8GWAAJ0-Dujw9A881.jpg


2、修改 /etc/inittab 文件

       通过在 inittab 里加一个 ttyS0 ,来使得系统启动时能够生成一个 ttyS0 来接收来自内核的数据

[root@test01-kvm-jz test01-kvm-jz.btr /root] 
# echo "S0:12345:respawn:/sbin/agetty ttyS0 115200" >> /etc/inittab
[root@test01-kvm-jz test01-kvm-jz.btr /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 test01-kvm-jz.btr /root] 
# echo "ttyS0" >> /etc/securetty


4、重启 KVM 虚拟机

[root@test01-kvm-jz test01-kvm-jz.btr /root] 
# reboot

 

5、登录验证

wKiom1SLAR7AbbDFAAGluFeedpk001.jpg


OK!

以上就是本篇博文的内容!

本文出自 “Not Only Linux” 博客,请务必保留此出处http://nolinux.blog.51cto.com/4824967/1589488

让KVM虚拟机支持console功能