• virsh命令管理虚拟机


    virsh命令管理虚拟机 

       libvirt有两种控制方式,命令行和图形界面。

      1.图形界面:通过执行名virt-manager,启动libvirt的图形界面,在图形界面下可以一步一步的创建虚拟机,管理虚拟机,还可以直接控制虚拟机的桌面。

      2.命令行就是接下来我所说的。如何通过命令行来控制虚拟机。

    创建虚拟机

      在/etc/libvirt/qemu下新建xml文件,如node.xml。需要有内存、cpu、硬盘设置、光驱以及vnc等等。以下是我根据Openstack启的虚机修改而成,没办法,直接用Openstack的文件启动虚机会失败的,网桥不兼容什么的原因,具体的我忘了,原谅我那只有7秒钟的记忆吧~代码贴到下面了:

     1 <domain type='qemu'>
     2   <name>node3</name>
     3   <uuid>84b31010-6124-4529-baf9-bae25e18d933</uuid>
     4   <memory unit='KiB'>524288</memory>
     5   <currentMemory unit='KiB'>524288</currentMemory>
     6   <vcpu placement='static'>1</vcpu>
     7   <sysinfo type='smbios'>
     8     <system>
     9       <entry name='manufacturer'>Red Hat Inc.</entry>
    10       <entry name='product'>OpenStack Nova</entry>
    11       <entry name='version'>2014.1.1-2.el6</entry>
    12       <entry name='serial'>421c7a3a-7f61-cde9-13cb-8b5804fc62cc</entry>
    13       <entry name='uuid'>84b31010-6124-4529-baf9-bae25e18d933</entry>
    14     </system>
    15   </sysinfo>
    16   <os>
    17     <type arch='x86_64' machine='rhel6.5.0'>hvm</type>
    18     <boot dev='hd'/>    //硬盘启动
    19     <smbios mode='sysinfo'/>
    20   </os>
    21   <features>
    22     <acpi/>
    23     <apic/>
    24   </features>
    25   <cpu mode='host-model'>
    26     <model fallback='allow'/>
    27   </cpu>
    28   <clock offset='utc'/>
    29   <on_poweroff>destroy</on_poweroff>
    30   <on_reboot>restart</on_reboot>
    31   <on_crash>destroy</on_crash>
    32   <devices>
    33     <emulator>/usr/libexec/qemu-kvm</emulator>
    34     <controller type='usb' index='0'>
    35       <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
    36     </controller>
    37     <memballoon model='virtio'>
    38       <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    39     </memballoon>
    40   </devices>
    41 </domain>
    View Code

      代码分析: 

      1.<domain type='kvm'>                             域类型,也可以是xen

      2.<name>node3</name>                          虚拟机的名字

      3.<memory unit='KiB'>524288</memory>                  虚拟机的最大内存

      4.<currentMemory unit='KiB'>524288</currentMemory>     虚拟机当前的内存

      5.<vcpu>2</vcpu>                        该虚拟机的cpu数

      6.<boot dev='hd'/>                       hd表示从硬盘启动,cdrom表示从光盘启动

      7.<type arch='x86_64' machine='rhel6.5.0'>hvm</type>   表示全虚拟化

      其实还有好多其他的属性:

      1.<console type='pty'>                       console用来代表交互性的控制台

      2.<interface type='bridge'>                     网桥

      3.<source bridge='virbr0'/>                   网桥名

      4.<mac address='00:16:36:1e:1d:04'/>            MAC地址

      5.<graphics type='vnc' autoport='yes' keymap='en-us'/>       图形类型

      编辑之后就可以保存退出了。

    启动虚拟机

    1 virsh define /etc/libvirt/qemu/node3.xml
    2 virsh start node3

      第一行命令就是创建定义也就是创建一个虚拟机。第二行就是启动刚刚创建的虚拟机,如果启动成功,可以使用命令

    1 virsh list

     查看刚刚启动的虚拟机。

    迁移虚拟机

     在进行迁移之前,需要先配置一下你的两台物理机,具体配置方法请移步Openstack虚拟机热迁移,然后参照此文进行配置。

     配置完成后先使用命令行

    1 virsh -c qemu+ssh://ip/system

     进行测试,如果可以进入virsh然后可以进行如下的命令进行迁移:

    1 virsh migrate --live qemu+ssh://ip/system --unsafe

    其它操作

      virsh start x                                     启动名字为x的非活动虚拟机

      virsh create x.xml                          创建虚拟机(创建后,虚拟机立即执行,成为活动主机)

      virsh suspend x                                暂停虚拟机

      virsh resume x                                 启动暂停的虚拟机

      virsh shutdown x                          正常关闭虚拟机

      virsh destroy x                                 强制关闭虚拟机

      virsh dominfo x                                 显示虚拟机的基本信息

      virsh domname 2                                   显示id号为2的虚拟机名

      virsh domid x                                   显示虚拟机id号

      virsh domuuid x                               显示虚拟机的uuid

      virsh domstate x                             显示虚拟机的当前状态

      virsh dumpxml x                              显示虚拟机的当前配置文件(可能和定义虚拟机时的配置不同,因为当虚拟机启动时,需要给虚拟机分配id号、uuid、vnc端口号等等)

      virsh setmem x 512000                    给不活动虚拟机设置内存大小

      virsh edit x                                     编辑配置文件(一般是在刚定义完虚拟机之后)

     

       PS:本博客欢迎转发,但请注明博客地址及作者~

      博客地址:http://www.cnblogs.com/voidy/

      <。)#)))≦

  • 相关阅读:
    Kubernetes日常维护命令
    4-docker的三要素
    3-docker的安装
    2-docker介绍
    1-为什么要使用docker
    块存储、文件存储、对象存储意义及差异
    ceph分布式存储的搭建
    YAML入门:以创建一个Kubernetes deployment为例
    Zabbix通过SQL语句从数据库获取数据说明
    图解HTTP--03--http报文内的信息
  • 原文地址:https://www.cnblogs.com/voidy/p/4190863.html
Copyright © 2020-2023  润新知