Jump to: navigation, search

Difference between revisions of "Main Page/cobbler"

 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
代码关键点:
+
其他功能
100MBraw文件格式
+
1、使用远程桌面软件直接连接虚拟机
data(100MB)|footer(512byte)
+
(1)设置虚拟机远程连接协议
 +
模板页面->选择模板编辑->图像下拉框选择连接方式,vnc协议或者spice协议
 +
(2)登录服务器,使用virsh dumpxml 虚拟机id查看远程连接的ip地址和端口
 +
(3)使用远程桌面软件,输入虚拟机的远程协议ip地址和端口,即可远程连接虚拟机
 +
远程桌面软件地址请参见xxx
  
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
+
D:\git\kimchi-openstack\kimchi-openstack\src\kimchi\osinfo.py:43
只有对一个正在使用的VHD或VHD的SNAP(VM正在运行)进行SNAPSHOT,快照文件的depth才会加1,并设置parent为进行快照的对象
+
'modern_update': dict(common_spec, disk_bus='scsi',
代码看vhd_util_find_snapshot_target,如果给一个差分卷做快照,且差分卷是纯净的,则找查分卷的parent_locator,将其parent
+
                                        nic_model='virtio',
 +
                              sound_model='ich6')
  
在100MB动态文件基础上创建增量快照
+
if distro in modern_version_bases[arch]:
和100MB动态文件比较,快照的差别是增加了parentlocator数据,磁盘格式为:
+
        if LooseVersion(version) >= LooseVersion(
copyoffooter(512)|head(1024)|bat(512)|batmap(1024)|parentlocator(1536,3个locator,存放的数据只是父镜像文件的相对地址)|footer(512) 总共5120byte
+
                modern_version_bases[arch][distro]):
parentlocator就是平台码,用来表示文件格式,代码里头会产生PLAT_CODE_MACX(File URL)、PLAT_CODE_W2KU(windows系统,绝对路径)、PLAT_CODE_W2RU(windows系统、相对路径)
+
            if arch == 'x86':
 +
                params.update(template_specs[arch]['modern_update'])
 +
            else:
 +
                params.update(template_specs[arch]['modern'])
 +
        else:
 +
            params.update(template_specs[arch]['old'])
  
100MB动态vhd文件扩容到200MB
+
                                'window': '0'},
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 #这两个步骤本质上和创建增量快照是一样的
 

Latest revision as of 11:18, 21 October 2014

其他功能 1、使用远程桌面软件直接连接虚拟机 (1)设置虚拟机远程连接协议 模板页面->选择模板编辑->图像下拉框选择连接方式,vnc协议或者spice协议 (2)登录服务器,使用virsh dumpxml 虚拟机id查看远程连接的ip地址和端口 (3)使用远程桌面软件,输入虚拟机的远程协议ip地址和端口,即可远程连接虚拟机 远程桌面软件地址请参见xxx


D:\git\kimchi-openstack\kimchi-openstack\src\kimchi\osinfo.py:43 'modern_update': dict(common_spec, disk_bus='scsi',

                                        nic_model='virtio',
                             sound_model='ich6')

if distro in modern_version_bases[arch]:

       if LooseVersion(version) >= LooseVersion(
               modern_version_bases[arch][distro]):
           if arch == 'x86':
               params.update(template_specs[arch]['modern_update'])
           else:
               params.update(template_specs[arch]['modern'])
       else:
           params.update(template_specs[arch]['old'])
                               'window': '0'},