XEN的clone和copy那点事

一、XEN API

•VDI clone (session session_id, VDI vdi, Map[string,string] driver_params)

  Take an exact copy of the VDI and return a reference to the new disk. If any driver_params are specified then these are passed through to the storage-specific substrate driver that implements the clone operation. NB the clone lives in the same Storage Repository as its parent.

 

•VDI copy (session session_id, VDI vdi, SR sr)

  Make a fresh VDI in the specified SR and copy the supplied VDI's data to the new disk

 

二、vdi clone步骤

•1、vdi最初的克隆

           首先,vdi将自身重命名为Base Copy,并生成一块新的vdi替代自己,该新生成的vdi指向Base Copy(vdi);其次,生成一个新的vdi(即克隆出来的vdi),这个克隆出来的vdi也指向Base Copy。

•2、再次对vdi进行克隆(vdi中数据没有发生什么变化)

           如果vdi中的数据没有发生任何变化,那么将直接生成一个新的克隆出来的vdi,这个克隆出来的vdi也指向Base Copy;

           如果vdi中的数据发生了变化,那么首先,vdi再次将自身重命名为Base Copy(我们称之为Base Copy 2,之前的那块Base Copy我们称之为Base Copy 1),并生成一块新的vdi替代自己,该新生成的vdi指向Base Copy 2,而Base Copy 2指向Base Copy 1,其次,生成一个新的vdi(即克隆出来的vdi),这个克隆出来的vdi指向Base Copy 2。

                       图2.1:Clone流程图

                      图2.1-1:Clone流程图的附图(子图)

 

三、vdi Copy步骤

•1、简单Copy

                如果只是对一块普通的vdi(没有进行过克隆)进行Copy的话,那么比较简单,完整的生成一个全新的、独立的vdi即可;

•2、复杂Copy
•如果是对vdi-clone-2这样的vdi进行的克隆的话,那么要找到其克隆链上的所有vdi( Base Copy 1、 Base Copy 2、 vdi-clone-2 ),收集到所有信息后再完整的生成一个全新的、独立的vdi。
 
                      图3.1:简单Copy
 
                      图3.2:复杂Copy
 
 

转载于:https://www.cnblogs.com/jingyunyb/p/3880284.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值