总结

如果是完整克隆的那种虚拟机,是可以直接在openstack使用的,如果镜像格式没问题的话。

因为kvm虚拟机大部分都是链接克隆出来的镜像,不可用直接复制使用,所以需要创建新的镜像文件

创建空盘:qemu-img create -f qcow2 mcwlink1-new.qcow2 50G

将链接克隆镜像数据导入到空盘,此时会将依赖的基础镜像数据一同导入:qemu-img create -f qcow2 -b mcwtemplate.qcow2  mcwlink2.qcow2

迁移部分信息

基础镜像:mcwtemplate.qcow2

链接克隆镜像,依赖上面基础镜像:mcwlink1.qcow2

链接克隆镜像,依赖上面基础镜像:mcwlink2.qcow2

根据链接克隆镜像mcwlink1.qcow2,创建的可以在openstack正常使用的镜像: mcwlink1-new.qcow2

可正常在openstack使用的链接克隆迁移镜像制作过程

创建两个链接克隆磁盘
[root@kvm008.bj.mcw.com img]# ls
mcwtemplate.qcow2 v012-c73-st1-extend.qcow2 vm1-c73-history001.qcow2 vq25-cloudservice020.qcow2 vq42-cloudservice38.qcow2
mcwtestbase.qcow2
[root@kvm008.bj.mcw.com img]# qemu-img create -f qcow2 -b mcwtemplate.qcow2 mcwlink1.qcow2
Formatting 'mcwlink1.qcow2', fmt=qcow2 size=53687091200 backing_file='mcwtemplate.qcow2' encryption=off cluster_size=65536 lazy_refcounts=off
[root@kvm008.bj.mcw.com img]# qemu-img create -f qcow2 -b mcwtemplate.qcow2 mcwlink2.qcow2
Formatting 'mcwlink2.qcow2', fmt=qcow2 size=53687091200 backing_file='mcwtemplate.qcow2' encryption=off cluster_size=65536 lazy_refcounts=off
[root@kvm008.bj.mcw.com img]# pwd
/data/kvm/img
[root@kvm008.bj.mcw.com img]#

定义两个实例的配置
[root@kvm008.bj.mcw.com ares]# ls
mcwlink1.xml mcwlink2.xml mcwtest.xml
[root@kvm008.bj.mcw.com ares]# virsh define mcwlink2.xml
Domain mcwlink2 defined from mcwlink2.xml

[root@kvm008.bj.mcw.com ares]# virsh start mcwlink2
Domain mcwlink2 started

[root@kvm008.bj.mcw.com ares]#

两个虚拟机都做点改动
[root@kvm008.bj.mcw.com ares]# virsh console mcwlink1
Connected to domain mcwlink1
Escape character is ^]

[root@mcwlink1 ~]# ls
anaconda-ks.cfg ks-post.log ks-pre.log original-ks.cfg
cobbler.ks ks-post-nochroot.log mcw.txt
[root@mcwlink1 ~]# cat mcw.txt
mcwlink1
[root@mcwlink1 ~]#
[root@kvm008.bj.mcw.com ares]# virsh console mcwlink2
Connected to domain mcwlink2
Escape character is ^]

[root@mcwlink2 ~]# cat mcw.txt
mcwlink2
[root@mcwlink2 ~]#
[root@kvm008.bj.mcw.com ares]#

查看两个链接克隆的磁盘,是依赖基础镜像磁盘的

[root@kvm008.bj.mcw.com img]# qemu-img info mcwlink1.qcow2
image: mcwlink1.qcow2
file format: qcow2
virtual size: 50G (53687091200 bytes)
disk size: 8.1M
cluster_size: 65536
backing file: mcwtemplate.qcow2
Format specific information:
compat: 1.1
lazy refcounts: false
[root@kvm008.bj.mcw.com img]# qemu-img info mcwlink2.qcow2
image: mcwlink2.qcow2
file format: qcow2
virtual size: 50G (53687091200 bytes)
disk size: 14M
cluster_size: 65536
backing file: mcwtemplate.qcow2
Format specific information:
compat: 1.1
lazy refcounts: false
[root@kvm008.bj.mcw.com img]#

mcwlink1-new.qcow2

创建空磁盘,然后使用转换格式的命令将磁盘数据写入到新磁盘,这样做,是会将依赖的基础磁盘backing file一同写入到新磁盘的,这样这个新磁盘就可以在openstack上用了,不然用它创建实例会报错无法创建openstack实例,会去找依赖的基础镜像backing file,
我们也可以看到,下面的磁盘也不是几十m的链接克隆的磁盘了
[root@kvm008.bj.mcw.com img]# qemu-img convert -f qcow2 -O qcow2 mcwlink1.qcow2 mcwlink1-new.qcow2
[root@kvm008.bj.mcw.com img]# qemu-img info mcwlink1-new.qcow2
image: mcwlink1-new.qcow2
file format: qcow2
virtual size: 50G (53687091200 bytes)
disk size: 3.5G
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false
[root@kvm008.bj.mcw.com img]#

使用新的磁盘创建虚拟机,可以看到,原本的数据mcw.txt还在
[root@kvm008.bj.mcw.com ares]# virsh define mcwlink1-new.xml
Domain mcwlink1-new defined from mcwlink1-new.xml

[root@kvm008.bj.mcw.com ares]# virsh start mcwlink1-new
Domain mcwlink1-new started

[root@kvm008.bj.mcw.com ares]# virsh console mcwlink1-new
Connected to domain mcwlink1-new
Escape character is ^]

CentOS Linux 7 (Core)
Kernel 4.14.15-1.el7.elrepo.x86_64 on an x86_64

mcwlink1 login: root
Password:
Last login: Fri Jun 7 02:09:14 on ttyS0
[root@mcwlink1 ~]# cat mcw.txt
mcwlink1
[root@mcwlink1 ~]#
[root@kvm008.bj.mcw.com ares]# ls
mcwlink1-new.xml mcwlink1.xml mcwlink2.xml mcwtest.xml
[root@kvm008.bj.mcw.com ares]# cd /data/kvm/img/
[root@kvm008.bj.mcw.com img]# ls
mcwlink1-new.qcow2 v009-servicetest012.qcow2 v024-infotest001.qcow2 vq22-cloudservice017.qcow2 vq39-cloudservice35.qcow2
mcwlink1.qcow2 v010-servicetest013.qcow2 v030-c73-bitest001.qcow2 vq23-cloudservice018.qcow2 vq40-cloudservice36.qcow2
mcwlink2.qcow2

然后用这个镜像,上传到openstack,启动实例,不过这里需要再配置下它的IP,我是设置的自动获取,然后重启网络,就有了openstack给它分配的IP了。

kvm链接克隆虚拟机迁移到openstack机器的实验的更多相关文章

  1. 单用户模式&救援模式&克隆虚拟机&Linux机器相互登录

    1.13 单用户模式 1.14 救援模式 1.15 克隆虚拟机 1.16 Linux机器相互登录 1.单用户模式 关机:init 0 .poweroff 重启:init 6 .reboot 关机:in ...

  2. 华为云计算IE面试笔记-桌面云中的用户组、虚拟机模板、模板虚拟机、虚拟机组和桌面组的关系及区别。发放完整复制和链接克隆虚拟机时,步骤有什么区别,要怎么选择桌面组?

    概念解释: 模板虚拟机:FC上创建的裸虚拟机,用于制作不同类型的虚拟机模板. 虚拟机模板:用于创建虚拟机的模板,对裸虚拟机(模板虚拟机)进行配置或自定义安装软件后,转为模板.虚拟机模板类型有完整复制, ...

  3. 全自动链接克隆KVM虚拟机

    virt-clone这个命令是基于全克隆的,也就是拷贝虚拟磁盘文件和虚拟配置文件来实现的完整克隆,速度慢,占用空间多 kvm软件包中并没有实现全自动链接克隆的命令或工具,只能手动实现,于是我决定写一个 ...

  4. 抽空学学KVM(七):虚拟机快照和克隆

    前几天学写了KVM中qume-info命令的使用,今天学学在虚拟化里面用处广泛的快照和克隆功能,snapshot和virt-clone.对于snapshot命令的使用其实很简单.进入virsh界面以后 ...

  5. OpenStack 之vmware机器迁移到openstack集群

    原理 openstack本身是支持使用vmware格式的镜像的,但是是需要我们我们在/etc/nova/nova.conf的配置文件中指定该计算节点使用vmware的驱动 1 2 3 4 5 6 7 ...

  6. kvm之十二:虚拟机迁移

    虚拟机迁移该方式要确保虚拟机是关机状态.virsh shutdown snalevirsh dumpxml snale > /etc/libvirt/qemu/snale_qy.xml  // ...

  7. kvm虚拟机迁移

    一.迁移简介 迁移: 系统的迁移是指把源主机上的操作系统和应用程序移动到目的主机,并且能够在目的主机上正常运行.在没有虚拟机的时代,物理机之间的迁移依靠的是系统备份和恢复技术.在源主机上实时备份操作系 ...

  8. kvm虚拟机迁移(6)

    一.迁移简介 迁移:      系统的迁移是指把源主机上的操作系统和应用程序移动到目的主机,并且能够在目的主机上正常运行. 在没有虚拟机的时代,物理机之间的迁移依靠的是系统备份和恢复技术.在源主机上实 ...

  9. 4.kvm克隆虚拟机

    virt-clone 作用简介 virt-clone 主要是用来克隆kvm虚拟机,并且通过 Options.General Option.Storage Configuration.Networkin ...

  10. 克隆虚拟机以及两台linux机器相互登录:linux学习第四篇

    克隆虚拟机 1.      克隆 之后自己命名克隆的虚拟机并自己选择存放位置,完成克隆 2.      克隆虚拟机之后对新的虚拟机修改网络配置,以免冲突(将配置文件里的UUID去掉,并修改IP地址) ...

随机推荐

  1. 龙蜥社区开源 coolbpf,BPF 程序开发效率提升百倍 | 龙蜥技术

    简介: coolbpf,可以酷玩的BPF!来看看让BPF加了双翅膀的它究竟有多硬核? 文/系统运维 SIG(Special Interest Group) 引言 BPF 是一个新的动态跟踪技术,目前这 ...

  2. 基于 K8s 的交付难题退退退!| 独家交付秘籍(第三回)

    简介: 经过仔细研究,我们发现秘籍中提到许多帮助解决交付问题的招式,而其中一个让我们印象很深,是关于在原有社区版容器底座 Kubernetes(以下简称 K8s)的基础上,对容器底座进行改进,可更好的 ...

  3. 阿里云实时数仓Hologres年度发布,解读数仓新趋势

    ​简介:阿里云实时数仓Hologres年度发布,解读数仓新趋势. 1月7日,阿里云实时数仓Hologres发布最新版本,在成本.可用性.在线高可用等多方面进行了能力升级,行存吞吐提升100%,列存吞吐 ...

  4. 零基础玩转SLS日志查询-SLS Query Builder发布

    ​简介:日志服务(Log Service,简称 SLS) 是阿里云提供的行业领先的日志大数据解决方案,一站式提供数据收集.清洗.分析.可视化.告警等功能.智能查询分析是数据中台重要的一环,SLS支持秒 ...

  5. 同程旅行基于 RocketMQ 高可用架构实践

    ​简介: 我们在几年前决定引入 MQ 时,市场上已经有不少成熟的解决方案,比如 RabbitMQ , ActiveMQ,NSQ,Kafka 等.考虑到稳定性.维护成本.公司技术栈等因素,我们选择了 R ...

  6. [GPT] quasar 在 setup() 周期阶段想设置meta信息,如何获取当前的 route 参数动态设置

    在Vue 3 的Composition API(组合式API)中,特别是在 setup() 钩子函数阶段, 由于没有访问到常规的 Vue 实例(this上下文),所以不能直接使用 this.$rout ...

  7. 一个完整的可以输出移动端当前省市(地理坐标)的html页面

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. ABAP CDS 在7.55有比较大的更新

    几年前翻译过CDS的相关文章,部分内容已经过时,比如当时的DDIC CDS在7.55以后已经沦为obsolete,在新版本中,开发者应使用DEFINE VIEW ENTITY而非DEFINE VIEW ...

  9. 微分流形Loring W. Tu section19 19.12 解答

    微分流形Loring W. Tu section19 19.12 解答,当然咯我自己也不知道是否严谨正确,反正就是自己的思考与想法,简单一写,欢迎友好讨论. 19.12 对于任意的\(f \in C^ ...

  10. JS基础--JavaScript实例集锦(初学)

    1.子节点childNodes: <!DOCTYPE html> <html> <head> <title>childNodes</title&g ...