Troubleshooting

Methods of problem determination include examining logs, configuring the virtual server, and using debugfs.

Procedure

Actions that you can take to help with troubleshooting include the following:

  • Check that the Linux® distribution you are using supports IBM® Secure Execution.
    The guest console output reports errors due to a missing facility if the distribution is not current enough.
  • Configure the virtual machine to preserve debug data.
    Use the on_crash element in the domain configuration XML, for example:
    <on_crash>preserve</on_crash>
  • On the host, verify that the opt-in to IBM Secure Execution was successful.
    Examine the dmesg for output similar to this example:
    "[    0.828273] prot_virt: Reserving 322MB as ultravisor base storage"
    The message shows that the Ultravisor successfully reserved memory and started.
  • Examine the output of the QEMU process. The output is saved in /var/log/libvirt/qemu/<domain>.log. Problems might be mentioned here, for example, if a virtio device was configured without bounce buffers.
  • Check the libvirt log for messages. By default, libvirt log messages are stored in the system journal. You can specify a different location in the libvirt configuration file at /etc/libvirt/libvirtd.conf. For more information, see libvirt.org/logging.html.
    For how to set the logging level, see KVM Virtual Server Management, SC34-2752.
  • Use debugfs, if supported.
    1. Mount debugfs with
      mount -t debugfs none /sys/kernel/debug/
    2. Find information relevant to IBM Secure Execution under
      /sys/kernel/debug/s390dbf/kvm-uv/*
  • If possible, include the output from around the time of failure of the following files with your problem report:
    • /sys/kernel/debug/s390dbf/kvm-trace/sprintf
    • /sys/kernel/debug/s390dbf/kvm-uv/sprintf