/var/log下常见文件及常见排障
一、/var/log/secure
包含验证和授权方面信息。例如,sshd会将所有信息记录(其中包括失败登录)在这里。
二、/var/log/messages
包括整体系统信息,其中也包含系统启动期间的日志。此外,mail,cron,daemon,kern和auth等内容也记录在var/log/messages日志中。发生的错误都记载在这里面。对于未使用独立日志文件的应用程序或服务,一般都可以从该日志文件中获得相关的事件记录信息
实际案例: CAS 一台虚拟机故障重启,查看/var/log/messages日志明确报错内存故障kill了kvm进程
更换物理内存解决。
三、/var/log/dmesg
包含内核缓冲信息(kernel ring buffer)。在系统启动时,会在屏幕上显示许多与硬件有关的信息。可以用dmesg查看它们。
实际案例:
HPE SN1100Q 16Gb 2P FC HBA 2.00.01
QLogic Fibre Channel HBA Driver: 10.01.00.22.07.9-k.
服务器配置两张相同的HBA卡,启动后其中一张卡初始化失败,系统下不可用;下电插拔HBA卡可能会恢复,但是之后仍可能复现;
查看dmesg日志
-----------dmesg-----------
[ 12.350668] qla2xxx [0000:a5:00.0]-00d2:4: Init Firmware **** FAILED ****.
[ 12.350669] qla2xxx [0000:a5:00.0]-00d6:4: Failed to initialize adapter - Adapter flags 2.
[ 14.831855] qla2xxx [0000:a5:00.1]-00d2:5: Init Firmware **** FAILED ****.
[ 14.831862] qla2xxx [0000:a5:00.1]-00d6:5: Failed to initialize adapter - Adapter flags 2.
此问题为对应HBA卡从1.77.12版本升级到2.00.01版本引起的问题(升级过程中意外的更改了FC NVRAM的设置),导致在校验FC NVRAM/Multi-Boot/UUT FW阶段失败,需要升级版本到2.01.03版本
四、/var/log/boot.log
包含系统启动时的日志,包括自启动的服务。可以查看启动过程中是否有服务启动失败。
五、/var/log/kern.log
包含内核产生的日志,有助于在定制内核时解决问题。
实际案例:
CAS版本E0209H11,上面一台提供web服务的虚拟机不能提供服务,登录CVM平台后查看主机状态正常,打开虚拟机控制台方式查看该虚拟机发现虚拟机已经卡死。手动将虚拟机关机重启后恢复正常。
主机和虚拟机日志分析
查看虚拟机所在CVK主机的kern日志(/var/log/kern.log),发现有以下报错:
Mar 9 01:38:35 GXZWY-7F9-HW-CVK02 kernel: [8241980.026942] EPT: Misconfiguration.
Mar 9 01:38:35 GXZWY-7F9-HW-CVK02 kernel: [8241980.026952] EPT: GPA: 0x199000
Mar 9 01:38:35 GXZWY-7F9-HW-CVK02 kernel: [8241980.026955] ept_misconfig_inspect_spte: spte 0x2dfb613107 level 4
Mar 9 01:38:35 GXZWY-7F9-HW-CVK02 kernel: [8241980.026958] ept_misconfig_inspect_spte: spte 0x2dfb612107 level 3
Mar 9 01:38:35 GXZWY-7F9-HW-CVK02 kernel: [8241980.026960] ept_misconfig_inspect_spte: spte 0x2dfb611107 level 2
Mar 9 01:38:35 GXZWY-7F9-HW-CVK02 kernel: [8241980.026963] ept_misconfig_inspect_spte: spte 0x19cc399d77 level 1
报错内容显示KVM模块在处理虚拟机的内存访问出现异常,对于虚拟机操作系统来说是内核挂死无法自动恢复。
查看虚拟机日志(/var/log/libvirt/qemu)也有KVM相关告警。
KVM: unknown exit, hardware reason 31
RAX=fffff8a017e90160 RBX=0000000000000001 RCX=fffff8800096a0a0 RDX=fffff8a017e73e20
RSI=0000000000000000 RDI=fffff8a017e7e3b0 RBP=0000000000000000 RSP=fffff88007441400
R8 =fffff8a017e61d90 R9 =fffff8a017e73dd0 R10=0000000000000001 R11=fffff8a017e73de0
R12=fffff88000969000 R13=0000000000000000 R14=0000000000000002 R15=0000000000000001
RIP=fffff800017ffaab RFL=00010202 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
经过确认,从CAS E0201版本开始, KVM代码中引入了fast-mmoi机制,针对mmio handler中的某些检查,其中的数据时无效的,进行检查得到的结果也是不正确的,就会出现该报错。对于虚拟机操作系统来说是内核挂死无法自动恢复。只能通过关闭电源重新启动恢复。在E0218H05版本调整了mmio-handler中的相关逻辑,解决此问题。在版本说明书“重要版本介绍”章节说明中提到的“E0218H05版本KVM模块刷新”就解决了这个问题。更新KVM版本解决。
六、/var/log/maillog 或 /var/log/mail.log
包含来自系统运行电子邮件服务器的日志信息。例如,sendmail日志信息就全部送到这个文件中
七、/var/log/btmp
记录所有失败登录信息。使用last命令可以查看btmp文件。例如,”last -f /var/log/btmp | more“,也可以用lastb命令查看。