zoukankan      html  css  js  c++  java
  • CentOS7.0关于libguestfs的bug

    libguestfs,libguestfs-tools是用来在不启动虚拟机的情况下,快速简单访问虚拟机磁盘的工具。

    今天在CentOS7.0系统上通过guestmount命令去mount虚拟机磁盘的时候,突然报出了如下错误:

    libguestfs: error: supermin-helper exited with error status 1.
    To see full error messages you may need to enable debugging.
    See http://libguestfs.org/guestfs-faq.1.html#debugging-libguestfs

    查看具体出错原因,可以在guestmount命令后加上 -v 参数,表示输出debug信息,如下:

    libguestfs: launch: backend=libvirt
    libguestfs: launch: tmpdir=/tmp/libguestfsMYtoWx
    libguestfs: launch: umask=0022
    libguestfs: launch: euid=0
    libguestfs: libvirt version = 1001001 (1.1.1)
    libguestfs: [00000ms] connect to libvirt
    libguestfs: opening libvirt handle: URI = NULL, auth = virConnectAuthPtrDefault, flags = 0
    libguestfs: successfully opened libvirt handle: conn = 0x7feab79698b0
    libguestfs: [00004ms] get libvirt capabilities
    libguestfs: [00017ms] parsing capabilities XML
    libguestfs: [00018ms] build appliance
    libguestfs: command: run: supermin-helper
    libguestfs: command: run:  --verbose
    libguestfs: command: run:  -f checksum
    libguestfs: command: run:  /usr/lib64/guestfs/supermin.d
    libguestfs: command: run:  x86_64
    supermin helper [00000ms] whitelist = (not specified), host_cpu = x86_64, kernel = (null), initrd = (null), appliance = (null)
    supermin helper [00000ms] inputs[0] = /usr/lib64/guestfs/supermin.d
    checking modpath /lib/modules/3.10.0-123.el7.x86_64 is a directory
    picked vmlinuz-3.10.0-123.el7.x86_64
    supermin helper [00000ms] finished creating kernel
    supermin helper [00000ms] visiting /usr/lib64/guestfs/supermin.d
    supermin helper [00000ms] visiting /usr/lib64/guestfs/supermin.d/base.img.gz
    supermin helper [00000ms] visiting /usr/lib64/guestfs/supermin.d/daemon.img.gz
    supermin helper [00000ms] visiting /usr/lib64/guestfs/supermin.d/hostfiles
    supermin helper [00031ms] visiting /usr/lib64/guestfs/supermin.d/init.img
    supermin helper [00031ms] visiting /usr/lib64/guestfs/supermin.d/udev-rules.img
    supermin helper [00031ms] adding kernel modules
    supermin helper [00068ms] finished creating appliance
    libguestfs: checksum of existing appliance: c44bb96b2258e5c160495e5fb32bc79b970b92768e64efca76f989f00fb830b7
    libguestfs: [00104ms] begin building supermin appliance
    libguestfs: [00104ms] run supermin-helper
    libguestfs: command: run: supermin-helper
    libguestfs: command: run:  --verbose
    libguestfs: command: run:  --copy-kernel
    libguestfs: command: run:  -f ext2
    libguestfs: command: run:  /usr/lib64/guestfs/supermin.d
    libguestfs: command: run:  x86_64
    libguestfs: command: run:  /var/tmp/guestfs.9MdTWL/kernel
    libguestfs: command: run:  /var/tmp/guestfs.9MdTWL/initrd
    libguestfs: command: run:  /var/tmp/guestfs.9MdTWL/root
    supermin helper [00000ms] whitelist = (not specified), host_cpu = x86_64, kernel = /var/tmp/guestfs.9MdTWL/kernel, initrd = /var/tmp/guestfs.9MdTWL/initrd, appliance = /var/tmp/guestfs.9MdTWL/root
    supermin helper [00000ms] inputs[0] = /usr/lib64/guestfs/supermin.d
    checking modpath /lib/modules/3.10.0-123.el7.x86_64 is a directory
    picked vmlinuz-3.10.0-123.el7.x86_64
    supermin helper [00011ms] finished creating kernel
    supermin helper [00267ms] finished mke2fs
    supermin helper [00268ms] visiting /usr/lib64/guestfs/supermin.d
    supermin helper [00268ms] visiting /usr/lib64/guestfs/supermin.d/base.img.gz
    supermin helper [03388ms] visiting /usr/lib64/guestfs/supermin.d/daemon.img.gz
    supermin helper [03405ms] visiting /usr/lib64/guestfs/supermin.d/hostfiles
    supermin-helper: ext2: parent directory not found: centos-release: File not found by ext2_lookup
    libguestfs: error: supermin-helper exited with error status 1, see debug messages above
    libguestfs: command: run: rm
    libguestfs: command: run:  -rf /var/tmp/guestfs.9MdTWL
    libguestfs: clear_socket_create_context: setsockcreatecon failed: NULL: Invalid argument [you can ignore this UNLESS using SELinux + sVirt]
    libguestfs: closing guestfs handle 0x7feab7969240 (state 0)
    libguestfs: command: run: rm
    libguestfs: command: run:  -rf /tmp/libguestfsMYtoWx

    从输出中可以找到具体出错原因,原来是由于在visit /usr/lib64/guestfs/supermin.d/hostfiles文件时,centos-release: File not found by ext2_lookup。

    那么就可以有两种解决办法:

    1、第一种是最直接简单的办法,可以先将/usr/lib64/guestfs/supermin.d/hostfiles文件备份一份到其他目录下,然后直接将/usr/lib64/guestfs/supermin.d/hostfiles文件中的所有有centos-release或者redhat-release的行全部删除。

    2、第二种就是升级libguestfs,supermin软件包,链接 http://people.redhat.com/~rjones/libguestfs-RHEL-7.1-preview/


    -------------------------
    No pains, no gains
  • 相关阅读:
    css文字换行问题white-space:pre-line或者white-space:pre-wrap,解决word-wrap:break-word解决不了的
    ie浏览器检测不到cookie的问题
    jQuery ajax在IE浏览器的跨域问题--jquery.xdomainrequest.min.js
    移动端 input 获取焦点后弹出带搜索、确定、前往的键盘,以及隐藏系统键盘
    三个获取浏览器URL中参数值的方法
    上传文件时文件类型限制 <input id="File1" type="file" accept=""/>
    ES6 let和const 的相同点与区别
    html页面中的title设置为空格
    vue 之 key
    nginx 之 proxy_pass详解
  • 原文地址:https://www.cnblogs.com/CasonChan/p/4331644.html
Copyright © 2011-2022 走看看