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
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/
<。)#)))≦