Jump to: navigation, search

Main Page/cobbler

代码关键点: 100MBraw文件格式 data(100MB)|footer(512byte)

100MB动态文件格式 copyoffooter(512)|head(1024)|bat(512)|batmap(1024)|footer(512) 总共3584byte bat的512计算方法:100MB/2MB(block size)=50entries->*4byte(每个地址4byte)=200byte->按照section补齐=512byte batmap的计算方法:bathead(512byte)+map(512byte)

 vhd-util snapshot 只有对一个正在使用的VHD或VHD的SNAP(VM正在运行)进行SNAPSHOT,快照文件的depth才会加1,并设置parent为进行快照的对象 代码看vhd_util_find_snapshot_target,如果给一个差分卷做快照,且差分卷是纯净的,则找查分卷的parent_locator,将其parent

在100MB动态文件基础上创建增量快照 和100MB动态文件比较,快照的差别是增加了parentlocator数据,磁盘格式为: copyoffooter(512)|head(1024)|bat(512)|batmap(1024)|parentlocator(1536,3个locator,存放的数据只是父镜像文件的相对地址)|footer(512) 总共5120byte parentlocator就是平台码,用来表示文件格式,代码里头会产生PLAT_CODE_MACX(File URL)、PLAT_CODE_W2KU(windows系统,绝对路径)、PLAT_CODE_W2RU(windows系统、相对路径)

100MB动态vhd文件扩容到200MB vhd-util resize -n parent.img -s 200 -j journal -j填写什么?journal是个什么东东? 新增100M空间,故(1)bat条目增加100MB/2MB->50entries*4byte=200byte,第一次分配的bat空间为512byte已满足要求,batmap增加7byte,原来batmap分配的空间是512byte也满足要求。 故文件物理大小不变仍是3584byte,虚拟大小是200MB

vhd-util modify -n parent.img -s 314572800 修改文件的大小,其效果是将footer按照目的大小做了偏移,但是footer里头记录的文件大小没变,功能有问题 vhd-util create -n parent.img -s 100 -r #创建100M固定卷 vhd-util modify -n parent.img -s 314572800 #修改大小为300M vhd-util query -n parent.img -sv #查看物理大小和虚拟大小 100 #虚拟大小没变 314572800 #物理大小变成300M 另外,对于动态卷都没有变化,why??????


快照现在只测试了2层的,搞明白读写后要测试多层的,或者拿个虚拟机来测试??

uvp的virVhdOpen接口文件打开模式的VHD_OPEN_IO_WRITE_SPARSE这个模式是什么意思?

100MB动态vhd母卷,在此基础创建一个链接克隆子卷,然后合并链接克隆子卷到母卷 ./kvmvhd-test create parent.img 100 3 ./kvmvhd-test linkclone parent.img son.img 0 #这两个步骤本质上和创建增量快照是一样的