配置KVM宿主机使用vish console命令直接进入CentOS6虚拟机

前端之家收集整理的这篇文章主要介绍了配置KVM宿主机使用vish console命令直接进入CentOS6虚拟机前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在使用libvrit+virsh配置KVM虚拟机时,使用vish console ${domain}出现如下情况而不能进入虚拟机。

  1. [root@kvm01 ~]# virsh console instance001
  2. Connected to domain instance001
  3. Escape character is ^]
  4. Press any key to continue. # 可能该line不存在

其实在配置模板的时候已经添加了配置,但是更新后,启用了新的内核导致配置没有生效。编辑本文档只为存档记录。

一、删除更新系统后老内核kernel

  • 1. 查看系统存在的内核
  1. [root@centos6 ~]# rpm -qa | grep kernel
  2. dracut-kernel-004-409.el6_8.2.noarch
  3. kernel-firmware-2.6.32-642.4.2.el6.noarch
  4. kernel-2.6.32-642.4.2.el6.x86_64
  5. kernel-2.6.32-431.el6.x86_64
  • 2. 确认系统已经使用最新的内核启动
  1. [root@centos6 ~]# uname -a
  2. Linux centos6 2.6.32-642.4.2.el6.x86_64 #1 SMP Tue Aug 23 19:58:13 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
  1. [root@centos6 ~]# yum remove kernel-2.6.32-431.el6.x86_64

其他blog上写到remove kernel-devel 但是CentOS6.5最小化安装环境已经没有安装该rpm包。

  • 4. 查看grub.conf文件可以看到老的kernel在menu中也已经移除
  1. [root@centos6 ~]# cat /etc/grub.conf
  2. # grub.conf generated by anaconda
  3. #
  4. # Note that you do not have to rerun grub after making changes to this file
  5. # NOTICE: You have a /boot partition. This means that
  6. # all kernel and initrd paths are relative to /boot/,eg.
  7. # root (hd0,0)
  8. # kernel /vmlinuz-version ro root=/dev/mapper/vg_linux-lv_root
  9. # initrd /initrd-[generic-]version.img
  10. #boot=/dev/vda
  11. default=0
  12. timeout=5
  13. splashimage=(hd0,0)/grub/splash.xpm.gz
  14. hiddenmenu
  15. title CentOS (2.6.32-642.4.2.el6.x86_64)
  16. root (hd0,0)
  17. kernel /vmlinuz-2.6.32-642.4.2.el6.x86_64 ro root=/dev/mapper/vg_linux-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_linux/lv_swap rd_NO_MD rd_LVM_LV=vg_linux/lv_root SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
  18. initrd /initramfs-2.6.32-642.4.2.el6.x86_64.img

二、配置虚拟机模板支持vish console功能

  • 1. 添加ttyS0的安全许可
  1. # 添加ttyS0的许可,允许root登陆
  2. [root@centos6 ~]# echo "ttyS0" >> /etc/securetty
  • 2. 编辑/etc/inittab,添加如下
  1. [root@centos6 ~]# cat /etc/inittab
  2. ... ...
  3. S0:12345:respawn:/sbin/agetty ttyS0 115200,1152000 xterm
  • 3. 配置grub.conf
    在kernel行添加如下配置console=tty0 console=ttyS0,115200n8
  1. [root@centos6 ~]# cat /etc/grub.conf
  2. ... ... #省略
  3. default=0
  4. timeout=5
  5. splashimage=(hd0,0)
  6. kernel /vmlinuz-2.6.32-642.4.2.el6.x86_64 ro root=/dev/mapper/vg_linux-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_linux/lv_swap rd_NO_MD rd_LVM_LV=vg_linux/lv_root SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet console=tty0 console=ttyS0,115200n8
  7. initrd /initramfs-2.6.32-642.4.2.el6.x86_64.img
  • 4. 重启虚拟机
  1. [root@centos6 ~]# reboot
  • 5. 确认配置生效
    在KVM宿主机执行命令
  1. [root@kvm01 ~]# virsh console instance001
  2. virsh console instance001
  3. Connected to domain instance001
  4. Escape character is ^] #此处[Enter]
  5.  
  6. CentOS release 6.8 (Final)
  7. Kernel 2.6.32-642.4.2.el6.x86_64 on an x86_64
  8.  
  9. centos6 login: root
  10. Password: #此处输入root密码
  11. Last login: Fri Sep 2 03:53:22 on ttyS0

三、参考文档

  1. http://www.cnblogs.com/zrcoffee/archive/2012/10/31/2748056.html
  2. http://www.linuxidc.com/Linux/2013-02/79556.htm

猜你在找的CentOS相关文章