一、查看虚拟机
[root@kvmserver ~]# virsh list
Id 名称 状态
----------------------------------------------------
3 centos7.0-2 running
[root@kvmserver ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
3 centos7.0-2 running
- centos7.0 关闭
前者只列出运行状态的虚拟机,后者全部列出来。
二、查看虚拟机的配置文件
virsh dumpxml centos7.0-2
三、配置文件重定向
将vm1配置文件重定向到VM6
四、修改配置文件
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
八、虚拟机的克隆
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格式不支持快照
建议这样命名快照:
快照命名:vm1.snap01,vm1.snap03,vm1.snap04。。。。。。
2、查看快照
virsh snapsshot-list vm2 #查看虚拟机vm2的快照
3、恢复快照
virsh snapshot-revert vm2 vm2.snap3 #给虚拟机VM2恢复第三个快照
4、删除快照
virsh snapsshot-delete --snapshotname vm2.snap3 vm2 #删除vm2虚拟机的第三个快照
十、删除虚拟机
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
为什么是手动删除,估计是在设计之初,怕你误删。