虚拟机管理

列出虚拟机

virsh list --all

kvm常用命令及使用_linux

启动虚拟机

virsh start k8s-master02

kvm常用命令及使用_kvm_02

关闭虚拟机

virsh shutdown 16

kvm常用命令及使用_linux_03

强制关闭

virsh destory 16

kvm常用命令及使用_运维_04

重启虚拟机

virsh reboot 16

重置虚拟机电源强制重启

virsh reset 16

挂起/恢复虚拟机

virsh suspend 16 暂停虚拟机

virsh resume 16  恢复挂起状态

保存/还愿虚拟机

virsh save 16 stat.img   将虚拟机暂停,保存数据到文件

virsh restore stat.img   将内容文件还原载入到虚拟机

删除虚拟机

virsh undefine 16    需要先关闭再删除

virsh undefine 16 --remove-all-storage   删除虚拟机存储卷

块设备管理

virsh domblklist 16 列出块设备

kvm常用命令及使用_运维_05

virsh domblkinfo 21 /home/vm/centos7.0-3-clone.qcow2                 块设备容量信息

kvm常用命令及使用_运维_06




kvm克隆虚拟机

自动克隆:

virt-clone --auto-clone -o centos7.0-3      #centos7.0-3是需要被克隆虚拟机的名字,虚拟机关机状态下才可以克隆

克隆完成后virsh list --all可以看到新的克隆主机。克隆主机的名字是自动生成的,可以手动修改一次 

virsh domrename centos7.0-3-clone k8s-master02

对比配置文件差别,发现主机名、uuid、mac地址等信息已经自动进行了修改。通过手动修改配置文件和硬盘的方式可以完成手动克隆。

cd /etc/libvirt/qemu      #默认的虚拟机配置文件目录
vimdiff k8s-master01.xml k8s-master02.xml

kvm常用命令及使用_kvm_07

对比配置文件差别,发现主机名、uuid、mac地址等信息已经自动进行了修改。通过手动修改配置文件和硬盘的方式可以完成手动克隆。 


创建快照

virsh snapshot-create-as k8s-master01  k8s-master01-snap-0815          #虚拟机名字+快照名
已生成域快照 k8s-master01-snap-0815


查看快照

virsh snapshot-list k8s-master01 
名称 生成时间 状态
-----------------------------------------------
k8s-master01-snap-0815 2022-08-15 11:18:38 +0800 running


查看指定虚拟机信息

[root@localhost ~]# qemu-img info /home/vm/centos7.0-3-clone.qcow2 
image: /home/vm/centos7.0-3-clone.qcow2
file format: qcow2
virtual size: 50G (53687091200 bytes)
disk size: 2.8G
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: true


查看虚拟机快照文件位置

[root@localhost ~]# ll -h /var/lib/libvirt/qemu/snapshot/k8s-master01
总用量 8.0K
-rw-------. 1 root root 5.9K 815 11:19 k8s-master01-snap-0815.xml


恢复指定虚拟机快照

# 关闭虚拟机
[root@localhost ~]# virsh shutdown k8s-master01
# 恢复快照
[root@localhost ~]# virsh snapshot-revert k8s-master01 k8s-master01-snap-0815


删除指定快照

[root@localhost ~]# virsh snapshot-delete k8s-master01  k8s-master01-snap-0815
已删除域快照 k8s-master01-snap-0815




修改虚拟机配置

修改内存或 CPU

编辑虚拟机配置文件:

[root@localhost qemu]# virsh edit centos2

kvm常用命令及使用_linux_08

注:不要修改 ​name​ 和 ​uuid​

更新虚拟机配置:

[root@localhost qemu]# virsh define /etc/libvirt/qemu/centos2.xml

即使虚拟机仍处于运行状态也可以执行此命令,只是要到虚拟机重启后,新的配置才会起作用。

​重启虚拟机:

[root@localhost qemu]# virsh reboot centos2


新增磁盘

创建磁盘:

[root@controller ~]# qemu-img create -f qcow2 /var/lib/libvirt/images/server-vdb.qcow2 10G

编辑虚拟机配置文件:

[root@controller ~]# virsh edit centos2

新增:

<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/var/lib/libvirt/images/server-vdb.qcow2'/>
<target dev='vdc' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
</disk>

更新配置:

[root@controller ~]# virsh define /etc/libvirt/qemu/centos2.xml
[root@controller ~]# virsh reboot centos2