Editing Virsh

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
{{lowercase}}
+
<code>virsh</code><ref>http://manpages.ubuntu.com/manpages/xenial/man1/virsh.1.html</ref><ref> https://github.com/libvirt/libvirt/blob/master/tools/virsh.c</ref> is a command line utility for managing virsh guest domains/virtual machines and the hypervisor<ref>https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/5/html/virtualization/chap-virtualization-managing_guests_with_virsh</ref>. Can be used to operate vm like create, list, start, [[virsh/virsh shutdown|shutdown]] or suspend and to manage storage, [[virsh/KVM virsh Snapshots|snapshots]] and [[cell biology/Checkpoints|checkpoints]]<ref>https://github.com/libvirt/libvirt/commit/689beaa47c51fb49fafa992dd468116b8f6b0782#diff-f41fa7374ab97c527387ea4ce48fd04e</ref> among other actions. <code>[[virt-manager]]</code> is a graphical alternative to virsh. It supports Xen, QEMU, [[KVM]], LXC, OpenVZ, VirtualBox and VMware ESX.
<code>virsh</code><ref>http://manpages.ubuntu.com/manpages/xenial/man1/virsh.1.html</ref><ref> https://github.com/libvirt/libvirt/blob/master/tools/virsh.c</ref> is a command line utility for managing virsh guest domains/virtual machines and the hypervisor<ref>https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/5/html/virtualization/chap-virtualization-managing_guests_with_virsh</ref>. Can be used to operate vm like create, list, start, [[shutdown]] or suspend and to manage [[Virsh storage information|storage]], [[Virsh Snapshots|snapshots]] and [[checkpoints]]<ref>https://github.com/libvirt/libvirt/commit/689beaa47c51fb49fafa992dd468116b8f6b0782#diff-f41fa7374ab97c527387ea4ce48fd04e</ref> among other actions. <code>[[virt-manager]]</code> is a graphical alternative to virsh. It supports Xen, QEMU, [[KVM]], [[LXC]], [[OpenVZ]], VirtualBox and VMware ESX.
 
  
<code>virsh</code>  is include in <code>[[libvirt|libvirt-client]]</code>  package in [[RHEL]] and [[Ubuntu]] and uses [[libvirt]] management API. Binaries included:
+
<code>virsh</code>  is include in <code>[[libvirt|libvirt-client]]</code>  package in [[Red Hat Enterprise Linux|RHEL]] and [[Ubuntu]] and uses [[libvirt]] management API. Binaries included:
*<code>virsh</code>
+
* virsh
*<code>[[virt-admin]]</code>
+
* [[virt-admin]]
*<code>[[virt-host-validate]]</code>
+
* [[virt-host-validate]]
*<code>[[virt-login-shell]]</code>
+
* [[virt-login-shell]]
*<code>[[virt-pki-validate]]</code>
+
* [[virt-pki-validate]]
*<code>[[virt-xml-validate]]</code>
+
* [[virt-xml-validate]]
  
 
== Basic Commands ==
 
== Basic Commands ==
Line 16: Line 15:
 
== All Commands ==
 
== All Commands ==
 
* <code>[[virsh --connect]]</code>
 
* <code>[[virsh --connect]]</code>
** <code>[[virsh -c]] qemu:///system list</code>
 
*<code>[[virsh attach-device]]</code>
 
 
* <code>[[virsh autostart]] VM_NAME</code> or <code>[[virsh autostart]] VM_NAME --disable</code> (Related: <code>[[virsh start]]</code> and <code>[[virsh pool-autostart]]</code>)
 
* <code>[[virsh autostart]] VM_NAME</code> or <code>[[virsh autostart]] VM_NAME --disable</code> (Related: <code>[[virsh start]]</code> and <code>[[virsh pool-autostart]]</code>)
 
* <code>[[virsh blockcommit]]</code>. Allows Live-disk-backup-with-active-blockcommit <ref> https://wiki.libvirt.org/page/Live-disk-backup-with-active-blockcommit</ref>
 
* <code>[[virsh blockcommit]]</code>. Allows Live-disk-backup-with-active-blockcommit <ref> https://wiki.libvirt.org/page/Live-disk-backup-with-active-blockcommit</ref>
 
* <code>[[virsh blockcopy]]</code>
 
* <code>[[virsh blockcopy]]</code>
 
* <code>[[virsh blockjob]]</code>
 
* <code>[[virsh blockjob]]</code>
* <code>[[virsh blockresize]]</code>
 
 
* <code>[[virsh change-media]]</code>
 
* <code>[[virsh change-media]]</code>
* <code>[[virsh create]] [[MY_XML_VM_DEFINITION.XML/]]</code>
+
* <code>[[virsh create]] [[/MY_XML_VM_DEFINITION.XML/]]</code>
* <code>[[virsh console]] YOUR_VM</code>
+
* <code>[[virsh define]] [[/MY_XML_VM_DEFINITION.XML/]]</code> (define machine but do not start it)
* <code>[[virsh define]] [[MY_XML_VM_DEFINITION.XML]]</code> (define machine but do not start it)
 
 
** <code>[[virsh define]] xmlfile.xml --validate</code>
 
** <code>[[virsh define]] xmlfile.xml --validate</code>
 
** <code>[[virsh destroy]] VM_MACHINE_NAME </code> (Ungraceful Shutdown but do not destroy data or VM but you can corrupt guest file systems)
 
** <code>[[virsh destroy]] VM_MACHINE_NAME </code> (Ungraceful Shutdown but do not destroy data or VM but you can corrupt guest file systems)
Line 33: Line 28:
 
**<code>[[virsh domblklist]] --details VM_MACHINE_NAME</code>
 
**<code>[[virsh domblklist]] --details VM_MACHINE_NAME</code>
 
* <code>[[virsh domblkstat]] VMNAME</code>
 
* <code>[[virsh domblkstat]] VMNAME</code>
* <code>[[virsh domblkinfo]] VMNAME BLOCK_DEVICE</code> (BLOCK_DEVICE from [[virsh domblklist]] command)
+
* <code>[[virsh domblkinfo]] VMNAME BLOCK_DEVICE</code> (BLOCK_DEVICE from [[/virsh domblklist/]] command)
 
* <code>[[virsh domdisplay]]</code>
 
* <code>[[virsh domdisplay]]</code>
 
* <code>[[virsh domfsfreeze]]</code> Quiesces the guest filesystem in isolation<ref>https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/sect-using_the_qemu_guest_virtual_machine_agent_protocol_cli-libvirt_commands</ref>
 
* <code>[[virsh domfsfreeze]]</code> Quiesces the guest filesystem in isolation<ref>https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/sect-using_the_qemu_guest_virtual_machine_agent_protocol_cli-libvirt_commands</ref>
 
* <code>[[virsh domfsthaw]]</code> Quiesces the guest filesystem in isolation<ref>https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/sect-using_the_qemu_guest_virtual_machine_agent_protocol_cli-libvirt_commands</ref>
 
* <code>[[virsh domfsthaw]]</code> Quiesces the guest filesystem in isolation<ref>https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/sect-using_the_qemu_guest_virtual_machine_agent_protocol_cli-libvirt_commands</ref>
 
* <code>[[virsh domid]]</code>
 
* <code>[[virsh domid]]</code>
* <code>[[virsh dominfo]] VMNAME_OR_ID</code> Guess virtual machine information such us state and [[autostart]] configuration.
+
* <code>[[virsh dominfo]] VMNAME_OR_ID</code> Guess virtual machine information such us state and [[virsh/virsh autostart|autostart]] configuration.
 
* <code>[[virsh dommemstat]]</code>
 
* <code>[[virsh dommemstat]]</code>
 
* <code>[[virsh domname]]</code>
 
* <code>[[virsh domname]]</code>
* <code>[[virsh domrename]]</code> (since 2015)
 
 
* <code>virsh dump --memory-only --verbose</code>
 
* <code>virsh dump --memory-only --verbose</code>
 
* <code>[[virsh dumpxml]] VMNAME</code> - domain information in XML (Can be used to move VMs between hosts <ref>https://serverfault.com/questions/434064/correct-way-to-move-kvm-vm</ref>)
 
* <code>[[virsh dumpxml]] VMNAME</code> - domain information in XML (Can be used to move VMs between hosts <ref>https://serverfault.com/questions/434064/correct-way-to-move-kvm-vm</ref>)
Line 58: Line 52:
 
* <code>[[virsh reboot]]</code>
 
* <code>[[virsh reboot]]</code>
 
* <code>virsh restore</code>
 
* <code>virsh restore</code>
* <code>[[virsh resume]]</code>
+
* <code>virsh resume</code>
* <code>[[virsh save]]</code>
+
* <code>virsh save</code>
 
* <code>virsh set-lifecycle-action</code>. Added in November 2017 (v.3.9.0)<ref>https://libvirt.org/news.html</ref>
 
* <code>virsh set-lifecycle-action</code>. Added in November 2017 (v.3.9.0)<ref>https://libvirt.org/news.html</ref>
 
* <code>[[virsh setmaxmem]]</code>
 
* <code>[[virsh setmaxmem]]</code>
 
* <code>[[virsh setmem]]</code>
 
* <code>[[virsh setmem]]</code>
 
** <code>[[virsh setmem]] —-config</code>
 
** <code>[[virsh setmem]] —-config</code>
* <code>[[virsh setvcpus]]</code>
 
 
* <code>[[virsh snapshot-create-as]]</code>
 
* <code>[[virsh snapshot-create-as]]</code>
 
* <code>[[virsh start]]</code>
 
* <code>[[virsh start]]</code>
* <code>[[virsh suspend]]</code>
+
* <code>virsh suspend</code>
 +
* <code>virsh save</code>
 
* <code>[[virsh shutdown]]</code>
 
* <code>[[virsh shutdown]]</code>
 
* <code>[[virsh undefine]]</code>
 
* <code>[[virsh undefine]]</code>
 
* <code>virsh update-device</code>
 
* <code>virsh update-device</code>
 
* <code>[[virsh vcpuinfo]]</code>
 
* <code>[[virsh vcpuinfo]]</code>
* <code>[[virsh vncdisplay]]</code>
 
* <code>[[virsh backup-begin]]</code>
 
* <code>[[virsh checkpoint-create]]</code>
 
* <code>[[virsh nodedev-list --tree]]</code>
 
* <code>[[virsh nodedev-dumpxml]]</code>
 
* <code>[[virsh nodedev-dettach]]</code>
 
  
 
== Getting Information ==
 
== Getting Information ==
* List Running Virtual Machines:
+
* List Running Virtual Machines: <code>[[virsh list]]</code><ref>https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/5/html/virtualization/chap-virtualization-managing_guests_with_virsh</ref><ref>https://help.ubuntu.com/community/KVM/Managing</ref>
** <code>[[virsh list]]</code><ref>https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/5/html/virtualization/chap-virtualization-managing_guests_with_virsh</ref><ref>https://help.ubuntu.com/community/KVM/Managing</ref>
 
 
** <code>virsh list --name</code>
 
** <code>virsh list --name</code>
** <code>virsh list --all</code>
+
** List all Virtual Machines: <code>virsh list --all</code>
  
* <code>[[virsh dominfo]] MY_VM_NAME</code> Guess virtual machine information such us state and [[autostart]] configuration.
+
* <code>[[virsh dominfo]] MY_VM_NAME</code> Guess virtual machine information such us state and [[virsh/virsh autostart|autostart]] configuration.
  
 
* <code>[[virsh domstats]]</code> (show all VMs)
 
* <code>[[virsh domstats]]</code> (show all VMs)
** <code>[[virsh domstats]] --list-persistent</code>
+
* <code>[[virsh domstats]] --list-persistent</code>
** <code>[[virsh domstats]] MY_VM_MACHINE</code>
+
* <code>[[virsh domstats]] MY_VM_MACHINE</code>
*** <code>virsh domstats MY_VM_MACHINE --state</code>
+
** <code>virsh domstats MY_VM_MACHINE --state</code>
*** --no-wait option https://libvirt.org/news.html
+
** --no-wait option https://libvirt.org/news.html
  
 
* <code>[[virsh nodeinfo]]</code>
 
* <code>[[virsh nodeinfo]]</code>
  
* View configuration:  
+
* View configuration: <code>[[virsh dumpxml]] {guest-id, VM_NAME or uuid}</code> > yourfilename.xml<ref>https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/sect-domain_commands-creating_a_virtual_machine_xml_dump_configuration_file</ref>
** <code>[[virsh dumpxml]] {guest-id, VM_NAME or uuid}</code> > yourfilename.xml<ref>https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/sect-domain_commands-creating_a_virtual_machine_xml_dump_configuration_file</ref>
 
 
** Virtual interfaces: <code>virsh domiflist VM_NAME</code>
 
** Virtual interfaces: <code>virsh domiflist VM_NAME</code>
  
Line 110: Line 96:
 
* <code>[[virsh vol-info]] <vol></code>
 
* <code>[[virsh vol-info]] <vol></code>
  
[[Virsh display|Display info]]:
 
* <code>[[virsh vncdisplay]] VM_NAME</code>
 
* <code>[[virsh domdisplay]] VM_NAME</code>
 
  
 
Guest info:
 
Guest info:
 
* <code>[[virsh guestinfo]]</code> v5.7.0 (2019-09-03)<ref>https://fossies.org/linux/libvirt/NEWS</ref> ([[Libvirt Release notes]])
 
* <code>[[virsh guestinfo]]</code> v5.7.0 (2019-09-03)<ref>https://fossies.org/linux/libvirt/NEWS</ref> ([[Libvirt Release notes]])
  
* <code>virhostuptime</code> (Since August 2019) https://github.com/libvirt/libvirt/commit/8b802f13cb47817706cba101f5d52e2c8957698d#diff-8d027e5576f9d83750bb73c63b12a6e3
+
* virhostuptime (Since August 2019) https://github.com/libvirt/libvirt/commit/8b802f13cb47817706cba101f5d52e2c8957698d#diff-8d027e5576f9d83750bb73c63b12a6e3
  
 
* <code>[[virsh version]]</code>
 
* <code>[[virsh version]]</code>
 
* <code>[[virsh capabilities]]</code>
 
  
 
== Operations ==
 
== Operations ==
Line 165: Line 146:
 
* <code>[[virsh vol-list]] <pool></code>
 
* <code>[[virsh vol-list]] <pool></code>
  
== [[Virsh Snapshots]] ==
+
== [[Virsh/KVM virsh Snapshots|KVM virsh Snapshots]] ==
{{virsh snapshots TOC}}
+
{{Virsh snapshots TOC}}
  
 
== [[Virsh CPU Commands]] ==
 
== [[Virsh CPU Commands]] ==
 
* <code>[[virsh cpu-models]] x86_64</code>
 
* <code>[[virsh cpu-models]] x86_64</code>
* <code>[[virsh setvcpus]]</code>
 
  
 
== [[Virsh Memory Commands]] ==
 
== [[Virsh Memory Commands]] ==
 
{{virsh memory commands}}
 
{{virsh memory commands}}
  
== [[QEMU]] ==
+
== [[KVM/qemu|QEMU]] ==
{{virsh qemu TOC}}
+
* <code>virsh qemu-attach</code>                    QEMU Attach
 +
* <code>virsh qemu-monitor-command</code>          QEMU Monitor Command
 +
* <code>virsh qemu-monitor-event</code>            QEMU Monitor Events
 +
** <code>virsh qemu-monitor-event VM_MACHINE_NAME</code> 
 +
* <code>virsh qemu-agent-command</code>            QEMU Guest Agent Command
  
 
== Networking ==
 
== Networking ==
{{virsh net TOC}}
+
*  <code>virsh net-autostart </code>                autostart a network
 +
*  <code>virsh net-create </code>                    create a network from an XML file
 +
*  <code>virsh net-define </code>                    define an inactive persistent virtual network or modify an existing persistent one from an XML file
 +
*  <code>virsh net-destroy </code>                  destroy (stop) a network
 +
*  <code>[[virsh net-dhcp-leases]] </code>              print lease info for a given network
 +
*  <code>[[virsh net-dumpxml]]</code> NET_NAME            network information in XML
 +
*  <code>[[virsh net-edit]]</code>                      edit XML configuration for a network
 +
*  <code>virsh net-event </code>                    Network Events
 +
*  <code>[[virsh net-info]]</code>                      network information
 +
*  <code>[[virsh net-list]]</code>                      list networks
 +
*  <code>virsh net-name  </code>                    convert a network UUID to network name
 +
*  <code>virsh net-start </code>                      start a (previously defined) inactive network
 +
*  <code>virsh net-undefine </code>                  undefine a persistent network
 +
*  <code>virsh net-update </code>                    update parts of an existing network's configuration
 +
*  <code>virsh net-uuid </code>                      convert a network name to network UUID
  
 
== Activities ==
 
== Activities ==
Line 186: Line 184:
 
# Enable access to your VM Machines via [[virsh console]] command
 
# Enable access to your VM Machines via [[virsh console]] command
 
# Learn difference between <code>[[virsh define]]</code> and <code>[[virsh create]]</code>
 
# Learn difference between <code>[[virsh define]]</code> and <code>[[virsh create]]</code>
# [[Create Live backups]] with active [[virsh blockcommit]]<ref>https://wiki.libvirt.org/page/Live-disk-backup-with-active-blockcommit</ref>
+
# [[/Create Live backups/]] with active [[virsh blockcommit]]<ref>https://wiki.libvirt.org/page/Live-disk-backup-with-active-blockcommit</ref>
# [[Offline Migrate or move a virtual machine between two KVM servers without shared storage]]<ref>https://serverfault.com/questions/434064/correct-way-to-move-kvm-vm</ref>: <code>[[virsh dumpxml]]</code> and <code>[[virsh define]]</code>
+
# [[KVM/Offline Migrate or move a virtual machine between two KVM servers without shared storage]]<ref>https://serverfault.com/questions/434064/correct-way-to-move-kvm-vm</ref>: <code>[[virsh dumpxml]]</code> and <code>[[virsh/MY XML VM DEFINITION.XML|virsh define]]</code>
  
 
== See also ==
 
== See also ==
* <code>[[virtinst]]</code> package<ref>https://github.com/virt-manager/virt-manager/tree/master/virtinst</ref>, includes following python binaries: <code>[[virt-clone]]</code>, <code>virt-convert</code>, <code>[[virt-install]]</code><ref>https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_and_managing_virtualization/getting-started-with-virtualization-in-rhel-8_configuring-and-managing-virtualization</ref>
+
* <code>[[virtinst]]</code> package<ref>https://github.com/virt-manager/virt-manager/tree/master/virtinst</ref>, includes following python binaries: <code>virt-clone</code>, <code>virt-convert</code>, <code>[[virt-install]]</code><ref>https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_and_managing_virtualization/getting-started-with-virtualization-in-rhel-8_configuring-and-managing-virtualization</ref>
 
* [[virt-top]] 'top'-like utility for virtualization stats
 
* [[virt-top]] 'top'-like utility for virtualization stats
* [[ovirt-RHV module]]
+
* [[DevOps/Ansible/ovirt-RHV module]]
 +
* [[KVM]] and [[libvirt]]
 
* [[virt-admin]]
 
* [[virt-admin]]
* {{libvirtd}}
 
* {{KVM}}
 
* {{virsh}}
 
  
 
== References ==
 
== References ==

Please note that all contributions to wikieduonline may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Wikieduonline:Copyrights for details). Do not submit copyrighted work without permission!

Cancel Editing help (opens in new window)

Advertising: