一、查看虚拟机

[root@kvmserver ~]# virsh list
 Id    名称                         状态
----------------------------------------------------
 3     centos7.0-2                    running

[root@kvmserver ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 3     centos7.0-2                    running
 -     centos7.0                      关闭

kvm获取虚拟机名称 kvm查看虚拟机列表_centos

前者只列出运行状态的虚拟机,后者全部列出来。

二、查看虚拟机的配置文件

virsh dumpxml centos7.0-2

kvm获取虚拟机名称 kvm查看虚拟机列表_配置文件_02

三、配置文件重定向

将vm1配置文件重定向到VM6

kvm获取虚拟机名称 kvm查看虚拟机列表_配置文件_03

四、修改配置文件

edit不像vi和vim,它直接打开就可以修改,修改完也不用重启,直接生效。

virsh edit vm1

退出和vim一样的。

五、虚拟机的启动、重启与关闭

virsh start vm1             启动虚拟机
virsh shutdown vm1          关闭虚拟机(推荐)
virsh destroy vm1           也是关闭虚拟机
virsh reboot vm1            重启虚拟机
virsh reset vm1             断电重启虚拟机

六、暂停与恢复虚拟机

virsh suspend vm1      暂停虚拟机
virsh resume vm1       恢复虚拟机

七、设置虚拟机开机自启

virsh autostart vm1

kvm获取虚拟机名称 kvm查看虚拟机列表_centos_04

kvm获取虚拟机名称 kvm查看虚拟机列表_kvm获取虚拟机名称_05

八、虚拟机的克隆

1、克隆前必须先关机

[root@kvmserver ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 3     centos7.0-2                    running

[root@kvmserver ~]# virt-clone -o centos7.0-2 --auto-clone
ERROR    必须暂停或者关闭有要克隆设备的域。
#在这里克隆之前必须先关机
[root@kvmserver ~]# virsh shutdown centos7.0-2 
域 centos7.0-2 被关闭

2、不加参数克隆

[root@kvmserver ~]# virt-clone -o centos7.0-2 --auto-clone
正在分配 'centos7.0-2-clone.qcow2'                                                 |  10 GB  00:00:43     

成功克隆 'centos7.0-2-clone'。
[root@kvmserver ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 -     centos7.0-2                    关闭
 -     centos7.0-2-clone              关闭

上面虽然克隆成功了,但是名字没改,它自动帮我们起了名字centos7.0-2-clone

3、克隆并改名

virt-clone -o centos7.0-2 -n centos7-2 --auto-clone

-n 在克隆时改名

如果我们在克隆时,加参数直接克隆加改名,必须加上参数-n

[root@kvmserver ~]# virt-clone -o centos7.0-2 -n centos7-2 --auto-clone
正在分配 'centos7-2.qcow2'                                                         |  10 GB  00:01:18     

成功克隆 'centos7-2'。
[root@kvmserver ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 -     centos7-2                      关闭
 -     centos7.0-2                    关闭
 -     centos7.0-2-clone              关闭

以上的克隆是共享原被克隆机器的磁盘镜像文件

4、克隆时使用新的磁盘镜像文件

virt-clone -o centos7.0-2 -n centos7-2 -f /var/lib/libvirt/images/centos7-4.qcow4 --auto-clone

-f 是指在克隆时使用新的磁盘镜像文件

[root@kvmserver ~]#  virt-clone -o centos7.0-2 -n centos7-4 -f /var/lib/libvirt/images/centos7-4.qcow4 --auto-clone
正在分配 'centos7-4.qcow4'                                                         |  10 GB  00:00:46     

成功克隆 'centos7-4'。

[root@kvmserver ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 -     centos7-2                      关闭
 -     centos7-4                      关闭
 -     centos7.0-2                    关闭
 -     centos7.0-2-clone              关闭

克隆的过程中自动修改了MAC、UID、NAME等,这些冲突的参数。

九、虚拟机快照

1、创建快照

vish snapshot-create-as vm8 vm8-01.snap

下图的报错是因为:raw格式不支持快照

kvm获取虚拟机名称 kvm查看虚拟机列表_配置文件_06

kvm获取虚拟机名称 kvm查看虚拟机列表_重启_07


建议这样命名快照:

快照命名:vm1.snap01,vm1.snap03,vm1.snap04。。。。。。

2、查看快照

virsh snapsshot-list vm2      #查看虚拟机vm2的快照

kvm获取虚拟机名称 kvm查看虚拟机列表_centos_08

3、恢复快照

virsh snapshot-revert vm2 vm2.snap3     #给虚拟机VM2恢复第三个快照

kvm获取虚拟机名称 kvm查看虚拟机列表_重启_09

4、删除快照

virsh snapsshot-delete --snapshotname vm2.snap3 vm2   #删除vm2虚拟机的第三个快照

kvm获取虚拟机名称 kvm查看虚拟机列表_重启_10

十、删除虚拟机

1、删除虚拟机

virsh undefine name    关机状态删除用这个
virsh destroy name     开机状态用这个

关机状态下删除实例:

[root@kvmserver ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 3     centos7.0-2                    running
 -     centos7.0                      关闭

[root@kvmserver ~]# virsh undefine centos7.0
域 centos7.0 已经被取消定义
[root@kvmserver ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 3     centos7.0-2                    running

[root@kvmserver ~]#

以上两种删除,仅仅删除了配置文件,但是磁盘镜像还是在的。

2、彻底删除

如果你想彻底删除某个虚拟机的所有信息,就必须手动删除

执行下面的命令:

rm -f /var/lib/libvirt/images/centos7.0.qcow2

为什么是手动删除,估计是在设计之初,怕你误删。