首页 > 其他分享 >cannot undefine domain with nvram

cannot undefine domain with nvram

时间:2022-11-11 17:12:49浏览次数:80  
标签:VIR domain 配置文件 undefine nvram cannot

参考:https://blog.csdn.net/tiantao2012/article/details/105440599
通过virsh 删除虚拟机时报错,提示cannot undefine domain with nvram,解决方法是加上--nvram

分析如下:

报错的函数如下:原来是因为加了VIR_DOMAIN_UNDEFINE_KEEP_NVRAM
qemuDomainUndefineFlags(virDomainPtr dom,
                        unsigned int flags)
{
        } else if (!(flags & VIR_DOMAIN_UNDEFINE_KEEP_NVRAM)) {
            virReportError(VIR_ERR_OPERATION_INVALID, "%s",
                           _("cannot undefine domain with nvram"));
            goto endjob;
        }
    }

那在哪里加的这个flag呢?从下面的函数中看,很可能是从配置文件汇总
static bool
cmdUndefine(vshControl *ctl, const vshCmd *cmd)
{
    bool nvram = vshCommandOptBool(cmd, "nvram");
    bool keep_nvram = vshCommandOptBool(cmd, "keep-nvram");

if (nvram)
        flags |= VIR_DOMAIN_UNDEFINE_NVRAM;

}

通过dump 配置文件,发现真的在配置文件中有添加

[root@k8s-node2 ~]# virsh list
 Id    Name                           State
----------------------------------------------------
 25    debian6.0                      running

[root@k8s-node2 ~]# virsh dumpxml 25 | grep nvram
    /var/lib/libvirt/qemu/nvram/debian6.0_VARS.fd
所以解决方案就是添加--nvram或者删除配置文件中的这行

标签:VIR,domain,配置文件,undefine,nvram,cannot
From: https://www.cnblogs.com/kuangke/p/16881090.html

相关文章