暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

第三十四章 快照克隆(云计算)

蜜蜂点滴 2020-08-25
293

一、快照管理

#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}


文章转载自蜜蜂点滴,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论