一、快照管理
#virsh snapshot-create web_blog
#virsh snapshot-list web_blog
#virsh snapshot-delete web_blog --snapshotname 1232323232(时间戳命名)
#virsh snapshot-create-as --name env_ok web_blog
误删除根目录后还原:
#virsh snapshot-revert web_blog --snapshotname env_ok
raw格式无法快照。
二、虚拟机克隆
完整克隆,连接克隆
针对磁盘文件克隆,
1、完整克隆:
(1)自动
virt-clone --auto-clone -o web_blog -n 克隆的名子
克隆时web_blog必须关闭:
#virt-clone --auto-clone -o web_blog -n kelong
克隆的磁盘路径存放在原路径,磁盘文件是压缩后的,不带快照。
(2)手工
复制一下磁盘文件:
#cp centos2-clone.raw centos2-m.raw
#virsh dumpxml web_blog>web_m.xml
# vim web_m.xml
#修改虚拟机的名字
#删除虚拟机uuid
#删除mac地址
#修改磁盘路径
#virsh define web_m.xml
#virsh start web_m
2、连接克隆:
(1)手动
生产连接磁盘文件。
输出的格式必须是qcow2
#qemu-img create -f qcow2 web_blog.raw web_lianjie.qcow2
#virsh dumpxml web_blog>web_1.xml
# vim web_1.xml
#修改虚拟机的名字
#删除虚拟机uuid
#删除mac地址
#修改磁盘路径
#virsh define web_1.xml
#virsh start web_1
(2)脚本
①版本1:不支持传参
vim link_kelong.sh
#!/bin/bash
#生产连接磁盘文件。输出的格式必须是qcow2
qemu-img create -f qcow2 -b /server/tools/web_blog.raw /server/tools/web_l.qcow2
virsh dumpxml web_blog>/server/tools/web_1.xml
#修改虚拟机的名字
sed -n '/<name>/p' /server/tools/web_1.xml
sed -ri 's#(<name>)(.*)(<name>)#\1test\3#g' /server/tools/web_1.xml
#删除虚拟机uuid
sed -n '/<unid>/p' /server/tools/web_1.xml
sed -i '/<unid>/d' /server/tools/web_1.xml
#删除mac地址
sed -n '/<mac address/p' /server/tools/web_1.xml
sed -i '/<mac address/d' /server/tools/web_1.xml
#修改磁盘路径
sed -n '/<source file/p' /server/tools/web_1.xml
sed -ri "s#(<source file=')(.*)('/>)#\1/server/tools/web_l.qcow2\3#g" /server/tools/web_1.xml
#导入 启动
virsh define /server/tools/web_1.xml
virsh start web_1
②版本2:传参
vim link_kelong.sh
#!/bin/bash
old_vm=$1
new_vm=$2
#生产连接磁盘文件。输出的格式必须是qcow2
old_disk='virsh dumpxml $old_vm|grep "<source file"|awk -F"'" '{print $2}''
disk_tmp='dorma,e $old_disk'
qemu-img create -f qcow2 -b $old_disk ${disk_tmp}/${new_vm}.qcow2
virsh dumpxml $old_vm>/tmp/${new_vm}.xml
#修改虚拟机的名字
sed -ri "s#(<name>)(.*)(<name>)#\1${new_vm}\3#g" /tmp/${new_vm}.xml
#删除虚拟机uuid
sed -i '/<unid>/d' /tmp/${new_vm}.xml
#删除mac地址
sed -i '/<mac address/d' /tmp/${new_vm}.xml
#修改磁盘路径
sed -ri 's#(<source file=')(.*)('/>)#\1${disk_tmp}/${new_vm}.qcow2\3#g' /tmp/${new_vm}.xml
#导入 启动
virsh define /tmp/${new_vm}.xml
virsh start ${new_vm}