Skip to main content

Kvm virsh usefull command


Basic  Operation
virsh list [--all|--inactive]
inactive show defined but not active domains.
virsh start <domid|name|uuid>
virsh shutdown <domid|name|uuid>
virsh suspend <domid|name|uuid>
virsh resume <domid|name|uuid>
virsh reboot <domid|name|uuid>
virsh destroy <domid|name|uuid>
cold reset the node, does not delete/destroy anything.
virsh console <domid|name|uuid>
serial console, exit with ctrl+5 or ctrl+]

Definition
VM are created by describing the virtual machine in a libvirt XML file, and importing that XML file into virsh.
virsh dumpxml <domid|name|uuid>
virsh define <filename.xml>
http://libvirt.org/format.html
virsh undefine <domid|name|uuid>
delete the VM. First you must terminate (destroy) the domain. This command does not delete volumes, use vol-delete.

Modification

virsh autostart [--disable] <domid|name|uuid>
autostart on boot
virsh edit <domid|name|uuid>
reboot guest for changes to take effect
virsh console <domid|name|uuid>
serial console, exit with ctrl+5 or ctrl+]

Cloning
these are note virsh sub-commands
virsh-sysprep –enable=<read_doc_for_params> <dom_id>
virt-clone --original <domid> --name <dest_id> -f <dest_vol>

Info
virsh vcpuinfo <domid|name|uuid>
info about guest's vcpu
virsh vcpupin <domid|name|uuid>
info about vcpu affinity
virsh dommemstat <domid|name|uuid>
info about guest's memory status
virsh domid <domid|name|uuid>
conversion between identifiers
virsh dominfo <domid|name|uuid>
display guest information
virsh domifaddr <domid|name|uuid>
show guest interfaces
ivirsh domif-getlink <domid|name|uuid> <iface>
show guest interface status
virsh nodeinfo
display host information


Volume Operation
virsh pool-list
list all volume pools
virsh pool-info <pool_id>
virsh vol-list <pool_id> [--details]
virsh vol-delete <vol_id> [--pool <id>]
virsh vol-create-as <pool_id> <volname> [--format <raw|qcow2] <size M|G|T> [--allocation <sz M|G|T>]
this command accepts a lot of parameters, see man for more info
virsh vol-clone <src_vol> <dst_vol> <--pool pool_id>
virsh vol-resize <vol_id> <size M|G|T> <--pool pool_id>
you will have to manage the new free space inside the guest
virsh vol-wipe <vol_id> <--pool pool_id>


Snapshots
virsh snapshot-create-as <domid|name|uuid> [--name <str>] [--description <str>] [--quiesce]
virsh snapshot-current <domid|name|uuid> [--snapshotname <str>]
get or set the current snapshot
virsh snapshot-delete <domid|name|uuid> [--current | --snapshotname <str>] [--children]
delete current or particular snapshot, and if specified their children. See help for more parameters
virsh snapshot-edit <domid|name|uuid> [--snapshotname <str>]
virsh snapshot-info  <domid|name|uuid> [--current | --snapshotname <str>]
virsh snapshot-list <domid|name|uuid>
virsh snapshot-revert <domid|name|uuid> [--current | --snapshotname <str>]


Documentation
/var/lib/libvirt/
this is the default directory where images, domains, etc. reside
virsh help
http://libvirt.org/



Networking
virsh net-list
virsh net-define
virsh net-event
virsh net-dhcp-leases
virsh nwfilter-list
virsh iface-list
virsh net-info
virsh net-create
virsh net-update
virsh net-autostart
virsh net-destroy
virsh iface-edit

Comments

Popular posts from this blog

Cisco SG300 CLI Commands

Cisco SG300 CLI Commands Other parts were obtained using the CLI PDF provided by Cisco Remove a Trunk and switch to access config t int gi44 switchport trunk allowed vlan remove 2 switchport mode access switchport access vlan 2 or config t int gi44 switchport mode general switchport general allowed vlan remove 2 switchport mode access switchport access vlan 2 Change CDP Device ID Format to Hostname opposed to default MAC address s-sg300#sh cdp Global CDP information:         CDP is globally enabled         CDP log duplex mismatch is globally enabled         CDP log voice VLAN mismatch is globally enabled         CDP log native VLAN mismatch is globally enabled         Mandatory TLVs validation is disabled         Sending CDPv2 advertisements is enabled         Sending Appliance TLV is enabled       ...

Branches, Part II

Now that we’ve covered the mechanics behind Git branches, we can discuss the practical impact that they have on the software development process. Instead of introducing new commands, this module covers how the typical Git user applies this workflow to real projects, as well as some of the problems that arise in a branched environment. To Git, a branch is a branch, but it’s often useful to assign special meaning to different branches. For example, we’ve been using master as the stable branch for our example project, and we’ve also used a temporary branch to add some CSS formatting. Temporary branches like the latter are called topic branches because they exist to develop a certain topic, then they are deleted. We’ll work with two types of topic branches later in this module. Amid our exploration of Git branches, we’ll also discover that some merges cannot be “fast-forwarded.” When the history of two branches diverges, a dedicated commit is required to combine the branches. This ...

Distributed Workflows

Now that we know how to share information via a centralized workflow, we can appreciate some of the drawbacks of this collaboration model. While it may be convenient, allowing everyone to push to an “official” repository raises some legitimate security concerns. It means that for anyone to contribute content, they need access to the entire project. This is fine if you’re only interacting with a small team, but imagine a scenario where you’re working on an open-source software project and a stranger found a bug, fixed it, and wants to incorporate the update into the main project. You probably don’t want to give them push-access to your central repository, since they could start pushing all sorts of random snapshots, and you would effectively lose control of the project. But, what you can do is tell the contributor to push the changes to their own public repository. Then, you can pull their bug fix into your private repository to ensure it doesn’t contain any undeclared code. If y...