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:
The message shows that the Ultravisor successfully reserved memory and started."[ 0.828273] prot_virt: Reserving 322MB as ultravisor base storage"
- 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.
- Mount debugfs with
mount -t debugfs none /sys/kernel/debug/
- Find information relevant to IBM Secure Execution under
/sys/kernel/debug/s390dbf/kvm-uv/*
- Mount debugfs with
- 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