• 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
  • 相关阅读:
    移植性问题のCString转char * ,string
    HDU 2894(欧拉回路)
    POJ 1149(最大流)
    POJ 3422 K取方格数(费用流)/TYVJ 1413
    POJ 1112(染色+连通分量+DP)
    POJ 2195(KM模板题)
    POJ 3615(FLOYD应用)
    POJ 1797(SPFA变种)spfa能做很多!
    POJ 1325(最小点覆盖)
    NOI2010 海拔(平面图最大流)
  • 原文地址:https://www.cnblogs.com/CasonChan/p/4331644.html
Copyright © 2020-2023  润新知