目前主流虚拟化为啥不支持克隆完整开机状态的虚拟机?

讨论 未结 16 41
documentzhangx66
documentzhangx66 会员 2022年10月2日 12:47 发表
<p>1.虚拟机,开机,打开一个记事本程序,随便输入一些字符串,然后给虚拟机做快照,该快照为开机快照。</p> <p>接着,无论此虚拟机,仍然是开机状态,还是已经被关机,都可以通过该开机快照,直接恢复到之前的开机状态。</p> <p>所谓的开机状态,指的是,恢复开机快照后,之前打开的记事本程序,以及记事本上随机输入的字符串,仍然还在。</p> <p>2.但是,目前无论 VMware 还是 KVM ,我都没发现,能够克隆开机状态的虚拟机,并且开机后,会直接还原到克隆时的状态,也就是那个记事本程序 + 随机输入的字符串仍然存在。</p> <p>虽然目前是能够克隆开机的虚拟机,但克隆完成后,开机,是无法恢复到克隆时的开机状态的,开机后,记事本程序就没了。</p> <p>3.我觉得,既然 VMware 与 KVM 都支持开机时的完整状态快照,那为什么不能支持开机时的完整状态克隆呢?</p>
收藏(0)  分享
相关标签: 灌水交流
注意:本文归作者所有,未经作者允许,不得转载
16个回复
  • ltkun
    2022年10月2日 13:17
    没有研究过 但是可能是记事本里面的文字属于内存或者临时文件 如果虚拟机也可以克隆内存的话应该就可以做到
    0 0
  • billlee
    2022年10月2日 13:17
    KVM 肯定是可以的,把磁盘镜像和内存镜像都复制一份,改下 qemu 命令行参数
    0 0
  • ashong
    2022年10月2日 13:17
    克隆、快照都不保存内存数据
    0 0
  • detached
    2022年10月2日 13:17
    肯定是可以的,连 fault- tolerance 都可以做 ,不存在技术上的难点,读读文档或者问问对面技术人员吧,
    0 0
  • codehz
    2022年10月2日 13:47
    不仅可以静态克隆,还可以实现运行时 fork 一个运行 mc 服务器的虚拟机
    0 0
  • codehz
    2022年10月2日 14:18
    不仅可以静态克隆,还可以实现运行时 fork 一个运行 mc 服务器的虚拟机
    0 0
  • CEBBCAT
    2022年10月2日 14:18
    > 通过即时克隆操作可以创建一个新虚拟机用作目标虚拟机。目标虚拟机与源虚拟机具有相同的处理器状态、虚拟设备状态、内存状态和磁盘状态。 🤝
    0 0
  • kokutou
    2022年10月2日 14:18
    商用的可以,桌面虚拟机不行。。。 比如 vsphere 就是可以的啊
    0 0
  • fisherwei
    2022年10月2日 14:18
    个人认为,技术上是小问题,至少 qemu 是可以完全实现的,kvm 不好说。 但是,大问题是,新的虚拟机开启之后会与旧机器之间发生网络冲突。如果是故障转移这个问题不大,但是新开第二个虚拟机且两台机器共存的话,至少有一台机器可能需要重新获取网络地址,同时重启 /重载上面的应用服务,还会导致原机器的网络也在一段时间内发生故障。
    0 0
  • Admstor
    2022年10月2日 14:18
    首先这不是一个技术难题 实际上 VMware 的 vMotion 本质就是将当前 VM 的内存状态包括网络链接一并迁移(需要一定的硬件条件支持) 但是这里是迁移而非复制,主要原因就是,如果存在两个包括内存状态都一样的 VM,就会存在各种冲突了 实际业务中,并不会有楼主这种克隆内存,存在 2 个一模一样的 VM 的需求,因为高可用向下由硬件+虚拟化层提供,向上由网络和软件负责,中间操作系统这一级别不负责高可用了,自然也没有针对"存在两个我"这种情况做出对应,何况操作系统也无法影响所有应用程序,一样会产生各种冲突 楼主如果有这种需求,可以当前状态做个快照,然后关机后直接复制 VM 的文件,再开机就可以间接实现你要的 2 个内存状态一样的 VM 了 5#那个实际也是先快照在复制的操作,其他细节没提,但是我相信他们一定会对包括 MAC 地址等进行自动化的修改操作 比如至少登录界面的服务器名字就变了 起码我觉得这算不上严格意义的 bit by bit 克隆了
    0 0
  • documentzhangx66
    2022年10月2日 14:18
    @ @ @ 1.VMware 、KVM 等主流虚拟机,都支持给开机虚拟机进行快照,这种开机快照能保存内存状态。 2.我按照 2 楼老哥的方法,已经实现了克隆虚拟机 + 克隆该虚拟机的开机快照,我验证了开机快照的恢复,能够正确恢复到记事本被打开 + 保留随机字符串的状态。 3.测试环境是 PVE ,简单介绍下,PVE 是基于 Debian OS 的虚拟化管理器,虚拟机用户态工具是 qemu ( qm ),虚拟机内核态用的是 kvm 。 4.这事其实就是 VMware 与 PVE 等管理工具偷懒了,虚拟机克隆时,没克隆快照文件。我还去各种国产超融合虚拟化软件里看了以下,虚拟机克隆,也没克隆快照。大家都偷懒了。 5.感谢: @ @ @ @
    0 0
  • xixiv5
    2022年10月2日 14:18
    我用 hyper-v 的快照是可以的,还原后什么程序状态一起还原了
    0 0
  • kokutou
    2022年10月2日 15:20
    这种快照,你换个电脑就开不了机
    0 0
  • documentzhangx66
    2022年10月2日 16:20
    不会的,这是虚拟化。 建议详细了解一下虚拟化原理。
    0 0
  • flynaj
    2022年10月2日 17:48
    这个功能所有虚拟机软件都支持,VirtualBox 完全可以,还可以多个分支。原理很简单就是把内存保存到物理文件里面。
    0 0
  • dangyuluo
    2022年10月2日 19:17
    我怎么记得 VMWare Workstation pro 就可以呢?
    0 0