happy_boy 发表于 2017-6-25 11:46:53

virsh KVM管理工具

  virsh所有的命令





Domain Management (help keyword 'domain'):
attach-device                  attach device from an XML file
attach-disk                  attach disk device
attach-interface               attach network interface
autostart                      autostart a domain
blkdeviotune                   Set or query a block device I/O tuning parameters.
blkiotune                      Get or set blkio parameters
blockcommit                  Start a block commit operation.
blockcopy                      Start a block copy operation.
blockjob                     Manage active block operations
blockpull                      Populate a disk from its backing image.
blockresize                  Resize block device of domain.
change-media                   Change media of CD or floppy drive
console                        connect to the guest console
cpu-baseline                   compute baseline CPU
cpu-compare                  compare host CPU with a CPU described by an XML file
cpu-stats                      show domain cpu statistics
create                         create a domain from an XML file
define                         define (but don't start) a domain from an XML file
desc                           show or set domain's description or title
    destroy                        destroy (stop) a domain
detach-device                  detach device from an XML file
detach-disk                  detach disk device
detach-interface               detach network interface
domdisplay                     domain display connection URI
domfstrim                      Invoke fstrim on domain's mounted filesystems.
domhostname                  print the domain's hostname
    domid                        convert a domain name or UUID to domain id
domif-setlink                  set link state of a virtual interface
domiftune                      get/set parameters of a virtual interface
domjobabort                  abort active domain job
domjobinfo                     domain job information
domname                        convert a domain id or UUID to domain name
dompmsuspend                   suspend a domain gracefully using power management functions
dompmwakeup                  wakeup a domain from pmsuspended state
domuuid                        convert a domain name or id to domain UUID
domxml-from-native             Convert native config to domain XML
domxml-to-native               Convert domain XML to native config
dump                           dump the core of a domain to a file for analysis
dumpxml                        domain information in XML
edit                           edit XML configuration for a domain
inject-nmi                     Inject NMI to the guest
send-key                     Send keycodes to the guest
send-process-signal            Send signals to processes
lxc-enter-namespace            LXC Guest Enter Namespace
managedsave                  managed save of a domain state
managedsave-remove             Remove managed save of a domain
maxvcpus                     connection vcpu maximum
memtune                        Get or set memory parameters
migrate                        migrate domain to another host
migrate-setmaxdowntime         set maximum tolerable downtime
migrate-compcache            get/set compression cache size
migrate-setspeed               Set the maximum migration bandwidth
migrate-getspeed               Get the maximum migration bandwidth
mc-disable                     disable mc migration for domain
numatune                     Get or set numa parameters
qemu-attach                  QEMU Attach
qemu-monitor-command         QEMU Monitor Command
qemu-agent-command             QEMU Guest Agent Command
qemu-agent-command2            QEMU Guest Agent Command
reboot                         reboot a domain
reset                        reset a domain
restore                        restore a domain from a saved state in a file
resume                         resume a domain
save                           save a domain state to a file
save-image-define            redefine the XML for a domain's saved state file
save-image-dumpxml             saved state domain information in XML
save-image-edit                edit XML for a domain's saved state file
schedinfo                      show/set scheduler parameters
screenshot                     take a screenshot of a current domain console and store it into a file
setmaxmem                      change maximum memory limit
setmem                         change memory allocation
setvcpus                     change number of virtual CPUs
shutdown                     gracefully shutdown a domain
start                        start a (previously defined) inactive domain
suspend                        suspend a domain
ttyconsole                     tty console
undefine                     undefine a domain
update-device                  update device from an XML file
vcpucount                      domain vcpu counts
vcpuinfo                     detailed domain vcpu information
vcpupin                        control or query domain vcpu affinity
emulatorpin                  control or query domain emulator affinity
vncdisplay                     vnc display
Domain Monitoring (help keyword 'monitor'):
domblkerror                  Show errors on block devices
domblkinfo                     domain block device size information
domblklist                     list all domain blocks
domblkstat                     get device block stats for a domain
domcontrol                     domain control interface state
domif-getlink                  get link state of a virtual interface
domiflist                      list all domain virtual interfaces
domifstat                      get network interface stats for a domain
dominfo                        domain information
dommemstat                     get memory statistics for a domain
domstate                     domain state
list                           list domains
Host and Hypervisor (help keyword 'host'):
capabilities                   capabilities
freecell                     NUMA free memory
hostname                     print the hypervisor hostname
node-memory-tune               Get or set node memory parameters
nodecpumap                     node cpu map
nodecpustats                   Prints cpu stats of the node.
nodeinfo                     node information
nodememstats                   Prints memory stats of the node.
nodesuspend                  suspend the host node for a given time duration
sysinfo                        print the hypervisor sysinfo
uri                            print the hypervisor canonical URI
version                        show version
Interface (help keyword 'interface'):
iface-begin                  create a snapshot of current interfaces settings, which can be later committed (iface-commit) or restored (iface-rollback)
iface-bridge                   create a bridge device and attach an existing network device to it
iface-commit                   commit changes made since iface-begin and free restore point
iface-define                   define (but don't start) a physical host interface from an XML file
iface-destroy                  destroy a physical host interface (disable it / "if-down")
iface-dumpxml                  interface information in XML
iface-edit                     edit XML configuration for a physical host interface
iface-list                     list physical host interfaces
iface-mac                      convert an interface name to interface MAC address
iface-name                     convert an interface MAC address to interface name
iface-rollback               rollback to previous saved configuration created via iface-begin
iface-start                  start a physical host interface (enable it / "if-up")
iface-unbridge               undefine a bridge device after detaching its slave device
iface-undefine               undefine a physical host interface (remove it from configuration)
Network Filter (help keyword 'filter'):
nwfilter-define                define or update a network filter from an XML file
nwfilter-dumpxml               network filter information in XML
nwfilter-edit                  edit XML configuration for a network filter
nwfilter-list                  list network filters
nwfilter-undefine            undefine a network filter
Networking (help keyword 'network'):
net-autostart                  autostart a network
net-create                     create a network from an XML file
net-define                     define (but don't start) a network from an XML file
net-destroy                  destroy (stop) a network
net-dumpxml                  network information in XML
net-edit                     edit XML configuration for a network
net-info                     network information
net-list                     list networks
net-name                     convert a network UUID to network name
net-start                      start a (previously defined) inactive network
net-undefine                   undefine an inactive network
net-update                     update parts of an existing network's configuration
net-uuid                     convert a network name to network UUID
Node Device (help keyword 'nodedev'):
nodedev-create               create a device defined by an XML file on the node
nodedev-destroy                destroy (stop) a device on the node
nodedev-detach               detach node device from its device driver
nodedev-dumpxml                node device details in XML
nodedev-list                   enumerate devices on this host
nodedev-reattach               reattach node device to its device driver
nodedev-reset                  reset node device
Secret (help keyword 'secret'):
secret-define                  define or modify a secret from an XML file
secret-dumpxml               secret attributes in XML
secret-get-value               Output a secret value
secret-list                  list secrets
secret-set-value               set a secret value
secret-undefine                undefine a secret
Snapshot (help keyword 'snapshot'):
snapshot-create                Create a snapshot from XML
snapshot-create-as             Create a snapshot from a set of args
snapshot-current               Get or set the current snapshot
snapshot-delete                Delete a domain snapshot
snapshot-dumpxml               Dump XML for a domain snapshot
snapshot-edit                  edit XML for a snapshot
snapshot-info                  snapshot information
snapshot-list                  List snapshots for a domain
snapshot-parent                Get the name of the parent of a snapshot
snapshot-revert                Revert a domain to a snapshot
Storage Pool (help keyword 'pool'):
find-storage-pool-sources-as   find potential storage pool sources
find-storage-pool-sources      discover potential storage pool sources
pool-autostart               autostart a pool
pool-build                     build a pool
pool-create-as               create a pool from a set of args
pool-create                  create a pool from an XML file
pool-define-as               define a pool from a set of args
pool-define                  define (but don't start) a pool from an XML file
pool-delete                  delete a pool
pool-destroy                   destroy (stop) a pool
pool-dumpxml                   pool information in XML
pool-edit                      edit XML configuration for a storage pool
pool-info                      storage pool information
pool-list                      list pools
pool-name                      convert a pool UUID to pool name
pool-refresh                   refresh a pool
pool-start                     start a (previously defined) inactive pool
pool-undefine                  undefine an inactive pool
pool-uuid                      convert a pool name to pool UUID
Storage Volume (help keyword 'volume'):
vol-clone                      clone a volume.
vol-create-as                  create a volume from a set of args
vol-create                     create a vol from an XML file
vol-create-from                create a vol, using another volume as input
vol-delete                     delete a vol
vol-download                   download volume contents to a file
vol-dumpxml                  vol information in XML
vol-info                     storage vol information
vol-key                        returns the volume key for a given volume name or path
vol-list                     list vols
vol-name                     returns the volume name for a given volume key or path
vol-path                     returns the volume path for a given volume name or key
vol-pool                     returns the storage pool for a given volume key or path
vol-resize                     resize a vol
vol-upload                     upload file contents to a volume
vol-wipe                     wipe a vol
Virsh itself (help keyword 'virsh'):
cd                           change the current directory
connect                        (re)connect to hypervisor
echo                           echo arguments
exit                           quit this interactive terminal
help                           print help
pwd                            print the current directory
quit                           quit this interactive terminal
View Code  virsh 常用命令
  1.virsh# list --all   所有KVM上承载的虚拟机 包括开机和关机的

  2.virsh# dominfo 虚拟机的常规信息(CPU 内存规格 内存使用情况)


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/
  <。)#)))≦
页: [1]
查看完整版本: virsh KVM管理工具