首页 > 代码库 > RHEL/CentOS6(6.6)虚拟化(2)

RHEL/CentOS6(6.6)虚拟化(2)

N种访问KVM虚拟机的方法

访问一台kvm管理的linux虚拟机有很多方法,如ssh,telnet,web,virt-manager,virt-viewer,virsh等。我个人喜欢把他们分成两类:一.远程管理(你也可以理解为带内):需要虚拟机系统的IP以及相关服务都运行正常才能实现,如ssh,telnet,web等;二.console管理(带外):常用于虚拟机初始化配置和故障调试等场景,如virt-manager,virt-viewer,virsh。本文介绍的是后三种方法,且着重介绍了virsh console(也许喜欢命令行操作的午饭也会爱上这种方式)。
以下操作都是在下表环境中执行的

主机OS虚拟机OS虚拟机nameHypervisor
Centos6.6Centos6.5Guest1KVM

1. virt-manager

一般是默认的图形界面管理工具,可以创建、删除和配置VM

  • 安装virt-manager:

    yum groupinstall "Virtualization Client"

    or

    yum install virt-manager
  • 启动virt-manager:

    virt-manager  &
  • 通过virt-manager图形界面来管理控制VM

    virt-manager

    virt-manager

2. virt-viewer

此图形界面管理工具没virt-manager功能强大,无法clone和migrate虚拟机。具体用法可通过

man virt-viewer

virt-viewer --help-all

来获取帮助。

  • 安装virt-manager:

    yum groupinstall "Virtualization Client"

    or

    yum install virt-viewer
  • 运行命令virt-viewer

    virt-viewer Guest1
  • 通过virt-viewer图形界面来管理控制VM

    virt-viewer

    virt-viewer

3. virsh console

virsh能管理kvm和虚拟机,基于libvirt API构建的,是libvirt-client包的一部分。甚至能替代qemu-kvm和virt-manager,可以以root身份运行所有virsh命令,也可以让非特权的普通用户以只读模式运行virsh.而virsh console可以通过虚拟机的串口来进入其控制台,就如同你用串口来管理我们的物理交换机一样。

  • 安装virsh

    yum groupinstall "Virtualization Platform"

    or

    yum install libvirt-client
  • 确保虚拟机中有添加串口

    Serial 1

    Serial 1

  • 通过virt-manager进入虚拟机配置ttyS0服务
    附:linux中的串口1在系统中显示为ttyS0,就相当于windows中的com1
    创建/etc/init/ttyS0.conf文件,并添加以下内容:

    stop on runlevel[016]
    start on runlevel[345]
    respawn
    instance /dev/ttyS0
    exec /sbin/mingetty /dev/ttyS0
  • 配置虚拟机OS的grub,使虚拟机启动kernel时就启动其串口服务。

    vi /etc/grub.conf

    添加如下内容:

    console=/dev/ttyS0,115200

    添加后的文件内容如下:

    /etc/grub.conf

    /etc/grub.conf

  • 手动启动/关闭虚拟机OS的串口服务

    initctl start ttyS0
    initctl stop ttyS0


  • 启动了虚拟机OS的串口服务后,就可以在主机OS中通过命令virsh console来访问虚拟机了

    virsh console Guest1

    看到提示符后按回车就可进入到虚拟机Guest1

    virsh console

    virsh console

 

本文出自 “向往” 博客,请务必保留此出处http://zhongq.blog.51cto.com/276337/1570801

RHEL/CentOS6(6.6)虚拟化(2)