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]