(copied)virsh commands cheatsheet to manage KVM guest virtual machines
- (转)virsh命令速查表
- Virsh
- Virsh connect
- Virsh display node information:
- Virsh list all domains
- List only active domains
- Virsh start vm
- Virsh autostart vm
- Virsh autostart disable
- Virsh stop vm, virsh shutdown vm
- Virsh force shutdown vm
- Virsh stop all running vms
- Virsh reboot vm
- Virsh remove vm
- Virsh create a vm
- Virsh connect to vm console
- Virsh edit vm xml file
- Virsh suspend vm, virsh resume vm
- Resuming a guest vm:
- Virsh save vm
- Restoring a saved vm
- Virsh Manage Volumes
- Virsh Manage Snapshots
- Virsh clone a vm
- Virsh manage VM vcpus
- Virsh manage VM ram
(转)virsh命令速查表
virsh commands cheatsheet 原文链接
Virsh
Virsh connect
The virsh connect [hostname-or-URI] [–readonly] command begins a local hypervisor session using virsh. After the first time you run this command it will run automatically each time the virsh shell runs. The hypervisor connection URI specifies how to connect to the hypervisor. The most commonly used URIs are:
qemu:///system - connects locally as the root user to the daemon supervising guest virtual machines on the KVM hypervisor. qemu:///session - connects locally as a user to the user’s set of guest local machines using the KVM hypervisor.
virsh connect qemu:///system
Virsh display node information:
This displays the host node information and the machines that support the virtualization process.
virsh nodeinfo
Virsh list all domains
To list both inactive and active domains, use the command:
virsh list --all
List only active domains
virsh list
Virsh start vm
virsh start test
Virsh autostart vm
To set a vm to start automatically on system startup, do:
virsh autostart test
virsh dominfo test
- Keep an eye on the option Autostart: enable.
Virsh autostart disable
To disable autostart feature for a vm:
virsh autostart --disable test
Virsh stop vm, virsh shutdown vm
To shutdown a running vm gracefully use:
virsh shutdown test
Virsh force shutdown vm
You can do a forceful shutdown of active domain using the command:
virsh destroy test
Virsh stop all running vms
In case you would like to shutdown all running domains, just issue the command below:
for i in ` virsh list | grep running | awk '{print $2}'` do
virsh shutdown $i
done
Virsh reboot vm
To restart a vm named test, the command used is:
virsh reboot test
Virsh remove vm
To cleanly remove a vm including its storage columes, use the commands shown below. The domain test should be replaced with the actual domain to be removed.
virsh destroy test 2> /dev/null
virsh undefine test
virsh pool-refresh default
virsh vol-delete --pool default test.qcow2
In this example, storage volume is named /var/lib/libvirt/images/test.qcow2
Virsh create a vm
If you would like to create a new virtual machine with virsh, the relevant command to use is `virt-install. This is crucial and can’t miss on virsh commands cheatsheet arsenal. The example below will install a new operating system from CentOS 7 ISO Image.
virt-install \
--name centos7 \
--description "Test VM with CentOS 7" \
--ram=1024 \
--vcpus=2 \
--os-type=Linux \
--os-variant=rhel7 \
--disk path=/var/lib/libvirt/images/centos7.qcow2,bus=virtio,size=10 \
--graphics none \
--location $HOME/iso/CentOS-7-x86_64-Everything-1611.iso \
--network bridge:virbr0 \
--console pty,target_type=serial -x 'console=ttyS0,115200n8 serial'
Virsh connect to vm console
To connect to the guest console, use the command:
virsh console test
This will return a fail message if an active console session exists for the provided domain.
Virsh edit vm xml file
To edit a vm xml file, use:
virsh edit test
Virsh suspend vm, virsh resume vm
To suspend a guest called testwith virsh command, run:
virsh suspend test
- Domain test suspended
NOTE: When a domain is in a suspended state, it still consumes system RAM. Disk and network I/O will not occur while the guest is suspended.
Resuming a guest vm:
To restore a suspended guest with virsh using the resume option:
virsh resume test
Domain test resumed
Virsh save vm
To save the current state of a vm to a file using the virsh command :
The syntax is:
virsh save test test.saved
Domain test saved to test.save
$ ls -l test.save
-rw------- 1 root root 328645215 Mar 18 01:35 test.saved
Restoring a saved vm
To restore saved vm from the file:
virsh restore test.save
Domain restored from test.save
Virsh Manage Volumes
Virsh create volume
To create a 2GB volume named testvol2 on the default storage pool, use:
virsh vol-create-as default test_vol2.qcow2 2G
du -sh /var/lib/libvirt/images/test_vol2.qcow2
- default: Is the pool name.
- testvol2: This is the name of the volume.
- 2G: This is the storage capacity of the volume.
Virsh attach a volume to vm
To attach created volume above to vm test, run:
virsh attach-disk --domain test \
--source /var/lib/libvirt/images/test_vol2.qcow2 \
--persistent --target vdb
- –persistent: Make live change persistent
- –target vdb: Target of a disk device
Virsh detach volume on vm
To detach above volume testvol2 from the vm test:
virsh detach-disk --domain test --persistent --live --target vdb
resize disk
Please note that you can directly grow disk image for the vm using qemu-img command, this will look something like this:
qemu-img resize /var/lib/libvirt/images/test.qcow2 +1G
- The main shortcoming of above command is that you cannot resize an image which has snapshots.
Virsh delete volume
To delete volume with virsh command, use:
virsh vol-delete test_vol2.qcow2 --pool default
virsh pool-refresh default
virsh vol-list default
Virsh Manage Snapshots
In this second last section of managing kvm guest machines with virsh command, we’ll have a look at managing VM snapshots.
Virsh Create Snapshot for a vm
virsh snapshot-create-as --domain test \
--name "test_vm_snapshot1" \
--description "test vm snapshot 1-working"
Virsh list Snapshots for a vm
virsh snapshot-list test
Virsh display info about a snapshot
To retrieve more information about a domain, use:
virsh snapshot-info --domain test --snapshotname test_vm_snapshot1
Virsh revert vm snapshot
Here we’ll create another snapshot called testvmsnapshot2, then revert to snapshot testvmsnapshot1
virsh snapshot-create-as \
--domain test --name "test_vm_snapshot2" \
--description "test vm snapshot 2-working"
Domain snapshot testvmsnapshot2 created Let’s revert the snapshot we created before:
virsh snapshot-list test
virsh snapshot-revert --domain test --snapshotname test_vm_snapshot1 --running
Virsh delete snapshot
virsh snapshot-delete --domain test --snapshotname test_vm_snapshot2
virsh snapshot-delete --domain test --snapshotname test_vm_snapshot1
Virsh clone a vm
virt-clone --connect qemu:///system \
--original test \
--name test_clone \
--file /var/lib/libvirt/images/test_clone.qcow2
Virsh manage VM vcpus
This virsh commands cheatsheet section covers how to add additional virtual cpus to a virtual machine:
virsh setvcpus --domain test --maximum 2 --config
virsh setvcpus --domain test --count 2 --config
virsh reboot test
Virsh manage VM ram
- 单位是 KB
To adjust the total ram used by the guest operating system, the following commands are used: Also on virsh commands cheatsheet is managing RAM with virsh.
virsh setmaxmem test 2048 --config
virsh setmem test 2048 --config
virsh reboot test