kvm常用命令及使用
原创
©著作权归作者所有:来自51CTO博客作者a317418365的原创作品,请联系作者获取转载授权,否则将追究法律责任
虚拟机管理
列出虚拟机
启动虚拟机
virsh start k8s-master02
关闭虚拟机
virsh shutdown 16
强制关闭
virsh destory 16
重启虚拟机
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 列出块设备
virsh domblkinfo 21 /home/vm/centos7.0-3-clone.qcow2 块设备容量信息
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
对比配置文件差别,发现主机名、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 8月 15 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
如
注:不要修改 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