• KVM虚拟机的管理主要是通过virsh命令对虚拟机进行管理。

    1. 查看KVM虚拟机配置文件及运行状态

    (1) KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/

    autostart目录是配置kvm虚拟机开机自启动目录。

    image

    (2) virsh命令帮助

    # virsh -help

    或直接virsh命令和,再执行子命令。如下所示。

    [root@node1 ~]# virsh
    欢迎使用 virsh,虚拟化的交互式终端。

    输入:'help' 来获得命令的帮助信息
    'quit' 退出

    virsh # help
    ……

    (3) 查看kvm虚拟机状态

    # virsh list --all

    image

    2. KVM虚拟机开机

    # virsh start oeltest01

    image

    3. KVM虚拟机关机或断电

    (1) 关机

    默认情况下virsh工具不能对linux虚拟机进行关机操作,linux操作系统需要开启与启动acpid服务。在安装KVM linux虚拟机必须配置此服务。

    # chkconfig acpid on
    # service acpid restart

    virsh关机

    # virsh shutdown oeltest01

    image

    (2) 强制关闭电源

    # virsh destroy wintest01

    image

    4. 通过配置文件启动虚拟机

    # virsh create /etc/libvirt/qemu/wintest01.xml

    image

    5. 配置开机自启动虚拟机

    # virsh autostart oeltest01

    image

    autostart目录是kvm虚拟机开机自启动目录,可以看到该目录中有KVM配置文件链接。

    6. 导出KVM虚拟机配置文件

    # virsh dumpxml wintest01 > /etc/libvirt/qemu/wintest02.xml

    image

    KVM虚拟机配置文件可以通过这种方式进行备份。

    7. 添加与删除KVM虚拟机

    (1) 删除kvm虚拟机

    # virsh undefine wintest01

    说明:该命令只是删除wintest01的配置文件,并不删除虚拟磁盘文件。如下图所示。

    image

    (2) 重新定义虚拟机配置文件

    通过导出备份的配置文件恢复原KVM虚拟机的定义,并重新定义虚拟机。

    # mv /etc/libvirt/qemu/wintest02.xml /etc/libvirt/qemu/wintest01.xml

    # virsh define /etc/libvirt/qemu/wintest01.xml

    20130908073409603.jpg

    8. 编辑KVM虚拟机配置文件

    # virsh edit wintest01

    virsh edit将调用vi命令编辑/etc/libvirt/qemu/wintest01.xml配置文件。也可以直接通过vi命令进行编辑,修改,保存。

    可以但不建议直接通过vi编辑。

    image

    [root@node1 qemu]# vi /etc/libvirt/qemu/wintest01.xml


    view sourceprint?

    01.<!-- 

    02.WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE 

    03.OVERWRITTEN AND LOST. Changes to this xml configuration should be made using: 

    04.virsh edit wintest01 

    05.or other application using the libvirt API. 

    06.--&gt

    07.<domain type='kvm'&gt

    08.<name>wintest01</name&gt

    09.<uuid>fe31ea48-7d6a-f3cb-cede-2f9bd9dec2bd</uuid&gt

    10.<memory unit='KiB'>524288</memory&gt

    11.<currentMemory unit='KiB'>524288</currentMemory&gt

    12.<vcpu placement='static'>2</vcpu&gt

    13.<os&gt

    14.<type arch='x86_64' machine='rhel6.4.0'>hvm</type&gt

    15.<boot dev='hd'/&gt

    16.</os&gt

    17.<features&gt

    18.<acpi/&gt

    19.<apic/&gt

    20.<pae/&gt

    21.</features&gt

    22.<clock offset='utc'/&gt

    23.<on_poweroff>destroy</on_poweroff&gt

    24.<on_reboot>restart</on_reboot&gt

    25.<on_crash>restart</on_crash&gt

    26.<devices&gt

    27.<emulator>/usr/libexec/qemu-kvm</emulator&gt

    28.<disk type='file' device='disk'&gt

    29.<driver name='qemu' type='raw' cache='none'/&gt

    30.<source file='/data/wintest01.img'/&gt

    31.<target dev='hda' bus='ide'/&gt

    32.<address type='drive' controller='0' bus='0' target='0' unit='0'/&gt

    33.</disk&gt

    34.<disk type='block' device='cdrom'&gt

    35.<driver name='qemu' type='raw'/&gt

    36.<target dev='hdc' bus='ide'/&gt

    37.<readonly/&gt

    38.<address type='drive' controller='0' bus='1' target='0' unit='0'/&gt

    39.</disk&gt

    40.<controller type='usb' index='0'&gt

    41.<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/&gt

    42.</controller&gt

    43.<controller type='ide' index='0'&gt

    44.<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/&gt

    45.</controller&gt

    46.<interface type='bridge'&gt

    47.<mac address='52:54:00:2b:2f:fe'/&gt

    48.<source bridge='br0'/&gt

    49.<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/&gt

    50.</interface&gt

    51.<serial type='pty'&gt

    52.<target port='0'/&gt

    53.</serial&gt

    54.<console type='pty'&gt

    55.<target type='serial' port='0'/&gt

    56.</console&gt

    57.<input type='mouse' bus='ps2'/&gt

    58.<graphics type='vnc' port='5911' autoport='no' listen='0.0.0.0'&gt

    59.<listen type='address' address='0.0.0.0'/&gt

    60.</graphics&gt

    61.<video&gt

    62.<model type='cirrus' vram='9216' heads='1'/&gt

    63.<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/&gt

    64.</video&gt

    65.<memballoon model='virtio'&gt

    66.<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/&gt

    67.</memballoon&gt

    68.</devices&gt

    69.<seclabel type='none'/&gt

    70.</domain>

    9. virsh console 控制台管理linux虚拟机

    配置virsh console见下文

    kvm虚拟化学习笔记(六)之kvm虚拟机控制台登录配置

    # virsh console oeltest01

     

    10. 其它virsh命令

    (1) 挂起服务器

    # virsh suspend oeltest01

    image

    (2) 恢复服务器

    # virsh resume oeltest01

    image

    virsh命令丰富。可以执行各种维护任务,本文只是从维护与管理的角度例举了常用的命令,为该命令的使用提供一个思路。