<div dir="ltr">Hello Richard,<div><br></div><div>I thought to move to CentOS 6.5 and capture the performance data to start with. unfortunately I cant move to CentOS 7. But now I am facing very strange issue the "libguestfs launch" is failing. I tried to debug but could not fix this issue. I am attaching all logs below. I am just trying to execute a command "time guestfish -a /dev/null run"  mentioned in the performance page. I found that " sudo yum install libguestfs-tools" installed "libguestfs-tools-1.20.x" on CentOS 6.5. I have captured output of  all the commands which I have executed. Am I missing something here?</div><div><br></div><div>Thanks a lot for all your help in advance,</div><div><br></div><div><br></div><div><br></div><div><div>[root@PriyankaVM ~]# cat /etc/*issue*</div><div><br></div><div>CentOS release 6.5 (Final)</div><div>Kernel \r on an \m</div><div><br></div><div>[root@PriyankaVM ~]# sudo yum install libguestfs-tools</div><div><br></div><div>[root@PriyankaVM ~]# rpm -qa|grep guest</div><div>libguestfs-tools-1.20.11-2.el6.x86_64</div><div>libguestfs-tools-c-1.20.11-2.el6.x86_64</div><div>vmware-tools-plugins-guestInfo-9.4.0-1.el6.x86_64</div><div>libguestfs-1.20.11-2.el6.x86_64</div><div>vmware-tools-guestlib-9.4.0-1.el6.x86_64</div><div><br></div><div><br></div><div><br></div><div>[root@PriyankaVM ~]# time guestfish -a /dev/null run</div><div>libguestfs: error: /usr/libexec/qemu-kvm exited with error status 1.</div><div>To see full error messages you may need to enable debugging.</div><div>See <a href="http://libguestfs.org/guestfs-faq.1.html#debugging-libguestfs">http://libguestfs.org/guestfs-faq.1.html#debugging-libguestfs</a></div><div><br></div><div>real    0m26.704s</div><div>user    0m10.964s</div><div>sys     0m6.028s</div><div><br></div><div>[root@PriyankaVM ~]# export LIBGUESTFS_DEBUG=1</div><div>[root@PriyankaVM ~]# export LIBGUESTFS_TRACE=1</div><div><br></div><div><br></div><div>[root@PriyankaVM ~]# libguestfs-test-tool</div><div>     ************************************************************</div><div>     *                    IMPORTANT NOTICE</div><div>     *</div><div>     * When reporting bugs, include the COMPLETE, UNEDITED</div><div>     * output below in your bug report.</div><div>     *</div><div>     ************************************************************</div><div>libguestfs: trace: set_verbose true</div><div>libguestfs: trace: set_verbose = 0</div><div>libguestfs: trace: set_verbose true</div><div>libguestfs: trace: set_verbose = 0</div><div>LIBGUESTFS_DEBUG=1</div><div>LIBGUESTFS_TRACE=1</div><div>PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin</div><div>SELinux: Enforcing</div><div>libguestfs: trace: add_drive "/tmp/libguestfs-test-tool-sda-k3It4V" "format:raw"</div><div>libguestfs: trace: add_drive = 0</div><div>libguestfs: trace: version</div><div>libguestfs: trace: version = <struct guestfs_version *></div><div>library version: 1.20.11rhel=6,release=2.el6</div><div>libguestfs: trace: get_append</div><div>libguestfs: trace: get_append = "NULL"</div><div>guestfs_get_append: (null)</div><div>libguestfs: trace: get_attach_method</div><div>libguestfs: trace: get_attach_method = "appliance"</div><div>guestfs_get_attach_method: appliance</div><div>libguestfs: trace: get_autosync</div><div>libguestfs: trace: get_autosync = 1</div><div>guestfs_get_autosync: 1</div><div>libguestfs: trace: get_cachedir</div><div>libguestfs: trace: get_cachedir = "/var/tmp"</div><div>guestfs_get_cachedir: /var/tmp</div><div>libguestfs: trace: get_direct</div><div>libguestfs: trace: get_direct = 0</div><div>guestfs_get_direct: 0</div><div>libguestfs: trace: get_memsize</div><div>libguestfs: trace: get_memsize = 500</div><div>guestfs_get_memsize: 500</div><div>libguestfs: trace: get_network</div><div>libguestfs: trace: get_network = 0</div><div>guestfs_get_network: 0</div><div>libguestfs: trace: get_path</div><div>libguestfs: trace: get_path = "/usr/lib64/guestfs"</div><div>guestfs_get_path: /usr/lib64/guestfs</div><div>libguestfs: trace: get_pgroup</div><div>libguestfs: trace: get_pgroup = 0</div><div>guestfs_get_pgroup: 0</div><div>libguestfs: trace: get_qemu</div><div>libguestfs: trace: get_qemu = "/usr/libexec/qemu-kvm"</div><div>guestfs_get_qemu: /usr/libexec/qemu-kvm</div><div>libguestfs: trace: get_recovery_proc</div><div>libguestfs: trace: get_recovery_proc = 1</div><div>guestfs_get_recovery_proc: 1</div><div>libguestfs: trace: get_selinux</div><div>libguestfs: trace: get_selinux = 0</div><div>guestfs_get_selinux: 0</div><div>libguestfs: trace: get_smp</div><div>libguestfs: trace: get_smp = 1</div><div>guestfs_get_smp: 1</div><div>libguestfs: trace: get_tmpdir</div><div>libguestfs: trace: get_tmpdir = "/tmp"</div><div>guestfs_get_tmpdir: /tmp</div><div>libguestfs: trace: get_trace</div><div>libguestfs: trace: get_trace = 1</div><div>guestfs_get_trace: 1</div><div>libguestfs: trace: get_verbose</div><div>libguestfs: trace: get_verbose = 1</div><div>guestfs_get_verbose: 1</div><div>host_cpu: x86_64</div><div>Launching appliance, timeout set to 600 seconds.</div><div>libguestfs: trace: launch</div><div>libguestfs: trace: get_tmpdir</div><div>libguestfs: trace: get_tmpdir = "/tmp"</div><div>libguestfs: launch: attach-method=appliance</div><div>libguestfs: launch: tmpdir=/tmp/libguestfsUpuW0B</div><div>libguestfs: launch: umask=0022</div><div>libguestfs: launch: euid=0</div><div>libguestfs: command: run: febootstrap-supermin-helper</div><div>libguestfs: command: run: \ --verbose</div><div>libguestfs: command: run: \ -f checksum</div><div>libguestfs: command: run: \ /usr/lib64/guestfs/supermin.d</div><div>libguestfs: command: run: \ x86_64</div><div>supermin helper [00000ms] whitelist = (not specified), host_cpu = x86_64, kernel = (null), initrd = (null), appliance = (null)</div><div>supermin helper [00000ms] inputs[0] = /usr/lib64/guestfs/supermin.d</div><div>checking modpath /lib/modules/2.6.32-431.11.2.el6.x86_64 is a directory</div><div>picked vmlinuz-2.6.32-431.11.2.el6.x86_64 because modpath /lib/modules/2.6.32-431.11.2.el6.x86_64 exists</div><div>supermin helper [00002ms] finished creating kernel</div><div>supermin helper [00002ms] visiting /usr/lib64/guestfs/supermin.d</div><div>supermin helper [00003ms] visiting /usr/lib64/guestfs/supermin.d/base.img</div><div>supermin helper [00003ms] visiting /usr/lib64/guestfs/supermin.d/daemon.img</div><div>supermin helper [00003ms] visiting /usr/lib64/guestfs/supermin.d/hostfiles</div><div><br></div><div>supermin helper [00111ms] visiting /usr/lib64/guestfs/supermin.d/init.img</div><div>supermin helper [00113ms] visiting /usr/lib64/guestfs/supermin.d/udev-rules.img</div><div>supermin helper [00113ms] adding kernel modules</div><div>supermin helper [00278ms] finished creating appliance</div><div>libguestfs: checksum of existing appliance: b81afcfba02c9dc60949034595a88ebf29731923a9ef273af22835a3f4798d2e</div><div>libguestfs: trace: get_cachedir</div><div>libguestfs: trace: get_cachedir = "/var/tmp"</div><div>libguestfs: [00293ms] begin testing qemu features</div><div>libguestfs: command: run: /usr/libexec/qemu-kvm</div><div>libguestfs: command: run: \ -nographic</div><div>libguestfs: command: run: \ -help</div><div>libguestfs: command: run: /usr/libexec/qemu-kvm</div><div>libguestfs: command: run: \ -nographic</div><div>libguestfs: command: run: \ -version</div><div>libguestfs: qemu version 0.12</div><div>libguestfs: command: run: /usr/libexec/qemu-kvm</div><div>libguestfs: command: run: \ -nographic</div><div>libguestfs: command: run: \ -machine accel=kvm:tcg</div><div>libguestfs: command: run: \ -device ?</div><div>libguestfs: error: /usr/libexec/qemu-kvm exited with error status 1, see debug messages above</div><div>libguestfs: trace: launch = -1 (error)</div><div>libguestfs-test-tool: failed to launch appliance</div><div>libguestfs: trace: close</div><div>libguestfs: closing guestfs handle 0x1eacd70 (state 0)</div><div>libguestfs: command: run: rm</div><div>libguestfs: command: run: \ -rf /tmp/libguestfsUpuW0B</div><div><br></div><div><br></div><div><br></div><div>[root@PriyankaVM ~]# time guestfish -a /dev/null run</div><div>libguestfs: trace: set_verbose true</div><div>libguestfs: trace: set_verbose = 0</div><div>libguestfs: create: flags = 0, handle = 0x221f2b0</div><div>libguestfs: trace: set_pgroup true</div><div>libguestfs: trace: set_pgroup = 0</div><div>libguestfs: trace: add_drive "/dev/null"</div><div>libguestfs: trace: get_tmpdir</div><div>libguestfs: trace: get_tmpdir = "/tmp"</div><div>libguestfs: trace: add_drive = 0</div><div>libguestfs: trace: launch</div><div>libguestfs: launch: attach-method=appliance</div><div>libguestfs: launch: tmpdir=/tmp/libguestfsANZENV</div><div>libguestfs: launch: umask=0022</div><div>libguestfs: launch: euid=0</div><div>libguestfs: command: run: febootstrap-supermin-helper</div><div>libguestfs: command: run: \ --verbose</div><div>libguestfs: command: run: \ -f checksum</div><div>libguestfs: command: run: \ /usr/lib64/guestfs/supermin.d</div><div>libguestfs: command: run: \ x86_64</div><div>supermin helper [00000ms] whitelist = (not specified), host_cpu = x86_64, kernel = (null), initrd = (null), appliance = (null)</div><div>supermin helper [00000ms] inputs[0] = /usr/lib64/guestfs/supermin.d</div><div>checking modpath /lib/modules/2.6.32-431.11.2.el6.x86_64 is a directory</div><div>picked vmlinuz-2.6.32-431.11.2.el6.x86_64 because modpath /lib/modules/2.6.32-431.11.2.el6.x86_64 exists</div><div>supermin helper [00002ms] finished creating kernel</div><div>supermin helper [00002ms] visiting /usr/lib64/guestfs/supermin.d</div><div>supermin helper [00002ms] visiting /usr/lib64/guestfs/supermin.d/base.img</div><div>supermin helper [00002ms] visiting /usr/lib64/guestfs/supermin.d/daemon.img</div><div>supermin helper [00002ms] visiting /usr/lib64/guestfs/supermin.d/hostfiles</div><div>supermin helper [00107ms] visiting /usr/lib64/guestfs/supermin.d/init.img</div><div>supermin helper [00114ms] visiting /usr/lib64/guestfs/supermin.d/udev-rules.img</div><div>supermin helper [00114ms] adding kernel modules</div><div>supermin helper [00192ms] finished creating appliance</div><div>libguestfs: checksum of existing appliance: b81afcfba02c9dc60949034595a88ebf29731923a9ef273af22835a3f4798d2e</div><div>libguestfs: trace: get_cachedir</div><div>libguestfs: trace: get_cachedir = "/var/tmp"</div><div>libguestfs: [00198ms] begin testing qemu features</div><div>libguestfs: command: run: /usr/libexec/qemu-kvm</div><div>libguestfs: command: run: \ -nographic</div><div>libguestfs: command: run: \ -help</div><div>libguestfs: command: run: /usr/libexec/qemu-kvm</div><div>libguestfs: command: run: \ -nographic</div><div>libguestfs: command: run: \ -version</div><div>libguestfs: qemu version 0.12</div><div>libguestfs: command: run: /usr/libexec/qemu-kvm</div><div>libguestfs: command: run: \ -nographic</div><div>libguestfs: command: run: \ -machine accel=kvm:tcg</div><div>libguestfs: command: run: \ -device ?</div><div>libguestfs: error: /usr/libexec/qemu-kvm exited with error status 1, see debug messages above</div><div>libguestfs: trace: launch = -1 (error)</div><div>libguestfs: trace: close</div><div>libguestfs: closing guestfs handle 0x221f2b0 (state 0)</div><div>libguestfs: command: run: rm</div><div>libguestfs: command: run: \ -rf /tmp/libguestfsANZENV</div><div><br></div><div>real    0m0.341s</div><div>user    0m0.086s</div><div>sys     0m0.222s</div></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Sep 13, 2014 at 7:47 PM, Priyanka Ranjan <span dir="ltr"><<a href="mailto:priyanka3rdfeb@gmail.com" target="_blank">priyanka3rdfeb@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Thanks a lot Rechard for your inputs. </div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Sep 12, 2014 at 11:23 PM, Richard W.M. Jones <span dir="ltr"><<a href="mailto:rjones@redhat.com" target="_blank">rjones@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>On Fri, Sep 12, 2014 at 10:40:14PM +0530, Priyanka Ranjan wrote:<br>
> Hello Experts,<br>
><br>
> I need a help from you . I am using CentOS 6.4 and using guestfish<br>
> to modify an ESX image.<br>
><br>
> I am adding a disk, executing "run" command and mounting it.  the<br>
> "run" command is taking around 50 seconds . Is there any way to<br>
> minimize it.<br>
<br>
</span>So first of all, measure the performance.  Run the simple<br>
baseline tests here:<br>
<br>
<a href="http://libguestfs.org/guestfs-performance.1.html#baseline-measurements" target="_blank">http://libguestfs.org/guestfs-performance.1.html#baseline-measurements</a><br>
<br>
If, after several runs, this stays at ~ 50 seconds, then it's likely<br>
because you are running this inside a virtual machine, on Amazon EC2,<br>
or on a machine which has virtualization disabled (eg in the BIOS<br>
settings).  You can fix that by using baremetal (or maybe nested virt).<br>
<br>
You will find other tips in the guestfs-performance(1) man page that I<br>
linked to above.<br>
<span><br>
> If we can not minimize it then Can we create and keep the guestfish<br>
> virtual shell open so that we can just add a disk , mount and modify<br>
> the image in few seconds.<br>
<br>
</span>Yes, but unfortunately not on CentOS 6.  On RHEL / CentOS 7 we support<br>
hotplugging in both libguestfs and guestfish, and that lets you do<br>
exactly what you describe above.<br>
<br>
  <a href="http://libguestfs.org/guestfs.3.html#hotplugging" target="_blank">http://libguestfs.org/guestfs.3.html#hotplugging</a><br>
<br>
Rich.<br>
<span><font color="#888888"><br>
--<br>
Richard Jones, Virtualization Group, Red Hat <a href="http://people.redhat.com/~rjones" target="_blank">http://people.redhat.com/~rjones</a><br>
Read my programming and virtualization blog: <a href="http://rwmj.wordpress.com" target="_blank">http://rwmj.wordpress.com</a><br>
libguestfs lets you edit virtual machines.  Supports shell scripting,<br>
bindings from many languages.  <a href="http://libguestfs.org" target="_blank">http://libguestfs.org</a><br>
</font></span></blockquote></div><br></div>
</div></div></blockquote></div><br></div>