在Linux中使用日志文件对KVM虚拟化问题进行故障排除
时间:2020-01-09 10:43:53 来源:igfitidea点击:
主机系统上存储了各种日志文件,以帮助调试与KVM相关的问题。
在本教程中,我将介绍日志文件的位置以及用于跟踪KVM问题的工具。
文件如下:
$HOME/.virtinst/virt-install.log
virt-install工具日志文件。$HOME/.virt-manager/virt-manager.log
virt-manager工具日志文件。/var/log/libvirt/qemu /
每个正在运行的虚拟机的日志文件。如果centos是虚拟机名称,则日志文件是/var/log/libvirt/qemu/centos.log
。
您可以使用grep和其他Linux工具来查看以下文件:
# tail -f /var/log/libvirt/qemu/freebsd.log # grep something $HOME/.virtinst/virt-install.log $ sudo tail -f /var/log/libvirt/qemu/openbsd.log
输出示例:
2015-11-08 17:14:46.909+0000: starting up libvirt version: 1.3.1, package: 1ubuntu10.5 (Stefan Bader <[email protected]> Thu, 06 Oct 2015 13:07:20 +0200), qemu version: 2.5.0 (Debian 1:2.5+dfsg-5ubuntu10.5), hostname: server1.theitroad.local .... ..... .. =29,id=hostnet1,vhost=on,vhostfd=30 -device virtio-net-pci,netdev=hostnet1,id=net1,mac=52:54:00:8f:31:5f,bus=pci.0,addr=0x4 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -vnc 127.0.0.1:1 -device cirrus-vga,id=video0,bus=pci.0,addr=0x2 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x7 -msg timestamp=on char device redirected to /dev/pts/8 (label charserial0)
连接到控制台
使用virsh命令连接到来宾串行控制台,如下所示:
$ virsh list $ virsh console freebsd
这对于排除网络等问题很有用,而且还可以从主机本身解决更多问题。
但是,您需要为串行控制台配置来宾操作系统。
查看如何为FreeBSD和CentOS虚拟机设置串行控制台。
KVM配置文件
您可以编辑配置文件来定义VM或者其他设置的硬件属性。
它们位于/etc/libvirt/qemu /目录中。
这是示例FreeBSD来宾配置文件。
# less /etc/libvirt/qemu/freebsd.xml
或者
$ virsh dumpxml freebsd
使用virt-manager或者virt-install创建guest虚拟机时,guest虚拟机配置文件会在/etc/libvirt/qemu /目录中自动创建。
您可以使用此文件错误检查。
您可以使用文本编辑器或者virsh命令本身来编辑此文件:
virsh edit freebsd virsh edit centos
KVM工具
输入以下命令以安装kvm-tools软件包,其中包含一些针对KVM的诊断和调试工具,例如kvmtrace和kvm_stat,请执行:
# yum -y install kvm_tools
您需要挂载debugfs,执行:
# mount -t debugfs debugfs /sys/kernel/debug # kvm_stat
使用kvm_stat获取有关KVM的统计信息
您可以使用以下工具使用常规工具进行故障排除并获取其他信息:
- ps,pstree和top
- vmstat,iostat和lsof
- tcpdump,brctl,ip和ifconfig