如何一致地克隆正在运行的虚拟机?

我们有一个系统pipe理员正在克隆我们的生产服务器之一,这是一个VMWare虚拟机。 克隆它的总时间似乎是大约2个小时。 服务器仍在运行(提供Web应用程序),而他做克隆。

显然,在这两个小时内,服务器的硬盘和内存中的事情正在发生变化。 我们怎样才能得到一个一致的机器副本? 或者我们是否应该以不一致的副本结束? 我们最终会得到一个虚拟机,它与上午7:00时的原始虚拟机部分相似,另一部分虚拟机反映了上午8:00时的原始内容。

如果有问题,我们正在运行VMWare vCenter Server 4.1。

你所说的是“热克隆”,做这样的克隆会导致两个副本之间的某种程度的不一致。 我意识到的每一种方式,包括热克隆的商业和本地实现都涉及到快照(以某种forms或另一种forms),然后进行克隆。 这会在某个时间点冻结​​磁盘,使磁盘保持一致,但确实会产生一个从过去的时间点开始的克隆。

按权利,完整的过程将是:

  1. 创build正在运行的机器的快照; 这释放了底层磁盘文件,并导致新的数据更改被写入增量文件
  2. 将主磁盘文件复制到新机器
  3. 创build正在运行的机器的另一个快照; 这释放了增量文件,并导致新的数据更改被写入新的增量文件
  4. 将旧的增量文件复制到新机器
  5. 重复,直到增量文件足够小,复制所花费的时间代表对源服务器的可忽略的更改
  6. 编辑克隆的configuration文件,以便知道复制的增量文件
  7. 将克隆的增量文件合并回克隆的主磁盘文件

根据用于执行克隆的工具,它可能不会执行增量文件循环,所以您最终将得到一个基于服务器如何查看第一个快照开始的克隆。

即使它执行了增量循环,你仍然会在技术上最终得到一个暂时在源服务器后面的克隆。

真的,制作与源服务器完全匹配的克隆的唯一方法是在源VMclosures的情况下获取副本。