openstack下创建windows虚机出现do_hivex_close

来源:互联网 发布:教学资源管理库软件 编辑:程序博客网 时间:2024/06/16 10:50

    在openstack下创建windows虚机可能会出现do_hivex_close导致失败,下面具体说明。
报错信息如下:

NovaException: Error mounting /var/lib/nova/instances/xxxxx/disk with libguestfs (hivex_close: do_hivex_close: you must call 'hivex-open' first to initialize the hivex handle)

    hivex是提供给libguestfs api接口用以操作windows虚机内部文件的工具,nova则利用libguestfs来修改windows虚机内注册表等配置文件。

    在redhat上也能看到相关bug记录bug,触发原因是镜像内出现异常(windows内注册表页异常),hivex发现这种这种异常就会调用do_hivex_close将hivex关闭,导致失败。

    提供的patch方案:
    在hivex >= 1.3.14 提供HIVEX_OPEN_UNSAFE标志位,用以处理遇到异常hive的时候强制打开hivex,根据这个机制,在ibguestfs API中增加对该标志位的映射。
    bug讨论区在libguestfs-1.36.3版本验证已无此问题,所以如果有环境出现这个问题可以看下libguestfs版本信息,以做升级。


小笨驴在吃草的时候创建了微信公众号,为方便更多觅食的“小笨驴”,为大家准备了大量的免费基础教学资料以及技术解决方案,还会定时发布一些好的技术文章,当然也会扯扯蛋、谈谈人生、呵呵,希望我们这群乐于分享技术的“小笨驴”团队越来越大!(技术干货分享群qq:128015753)


这里写图片描述

0 0