openstack 填坑笔记2:创建镜像遇到几个G大镜像文件,卡在排队中,失败解决办法

openstack pike版本,在ubuntu16.04 上部署成功,linux类镜像都可以创建,我win2003 800M+,也正常,但win2008,win2012的镜像文件压缩后也超过2G,创建镜像,好像上传都通过了,然后一直卡在排队中,总是不成功,参考网上一个方法,测试成功,过程记录如下,以备忘.

    方法是,先用一个任意小文件假冒要上载的大镜像文件,创建镜像成功后,再通过手动修改目标镜像文件和数据库记录的方法偷梁换柱。

1.用记事本建立一个文件 win2012.img ,在openstack web界面创建一个命名为win2012的镜像,上传该文件。

2.在控制节点上,查看 /opt/stack/data/glance/images 目录,可以看到上载的小镜像文件(通过小字节数判断或文件时间判断) 我的文件名是 78897126-04c2-4f89-a810-71837a4ab5b5

3. 通过某种方法  把我的4.8G大的实际win2012.img镜像文件通过某种方法传递到linux系统中

4. 命令 cp  /root/win2012.img   /opt/stack/data/glance/images/78897126-04c2-4f89-a810-71837a4ab5b5 把该文件复制覆盖掉替代的镜像文件,复制后可以把 /root/win2012.img文件删除

5,获取文件大小和文件md5校验码

通过查看替换后的镜像文件可以看到文件真实大小

-rw-r--r-- 1 stack stack 4421320704 May  5 18:1 校验码 3 78897126-04c2-4f89-a810-71837a4ab5b5

这个 4421320704  就是文件大小size值

命令 “md5sum   XXX文件名”可以生成文件的MD5校验码,我的是 3b20e99771460cd43df1ed85e33b9532  

6.  进入数据库

mysql -u root -p

use glance

select id,name,size,status,checksum from images where id='78897126-04c2-4f89-a810-71837a4ab5b5'

这个id号就是文件名,size是文件大小,checksum是文件MD5校验码, 通过这个查询,可以看到,size和checksum需要替换

update  images  set size='4421320704',checksum='3b20e99771460cd43df1ed85e33b9532'   where id='78897126-04c2-4f89-a810-71837a4ab5b5'

7. 在openstack web管理界面可以看到一切正常,也可以正常使用该镜像生成实例了。

openstack 填坑笔记2:创建镜像遇到几个G大镜像文件,卡在排队中,失败解决办法

8. 使用该镜像正常生成实例

openstack 填坑笔记2:创建镜像遇到几个G大镜像文件,卡在排队中,失败解决办法