数据库管理员在数据库的运维过程中或多或少要和操作系统乃至硬件打上交道,分析数据库故障时操作系统日志往往也是一个重要的线索来源。 以Linux操作系统为例,其主要的日志子系统(syslog subsystem)可大致分为三类:即1)用户连接日志 2)进程统计日志 3)系统和服务日志。 前2种在我们进行系统的安全审计及用户监控时可以派上用场,而因操作系统或硬件问题造成的数据库故障,我们往往需要关注系统和服务日志。在Linux上我们最常分析的是/var/log/messages日志文件,该日志文件包含了系统和服务的info信息(除mail,cron等服务外),这里我们要介绍的是/var/log/dmesg日志文件,该日志文件描述了系统开机时BIOS硬件加载成功与否的信息,以及网卡、光驱、软驱驱动和RAID、LVM、IPv6等的配置信息。此日志文件的信息记录存放在内核缓存中,主要用于硬件信息故障检测。用户既可以使用cat /var/log/dmesg命令来查看该日志信息,也直接可以使用dmesg命令来查看该日志信息。如:

[root@nas ~]# dmesg |egrep "sd|eth"
SCSI device sda: 625142448 512-byte hdwr sectors (320073 MB)
sda: Write Protect is off
sda: Mode Sense: 00 3a 00 00
SCSI device sda: drive cache: write back
SCSI device sda: 625142448 512-byte hdwr sectors (320073 MB)
sda: Write Protect is off
sda: Mode Sense: 00 3a 00 00
SCSI device sda: drive cache: write backsda: sda1 sda2 sda3 sda4
sd 0:0:0:0: Attached scsi disk sda
eth0: RTL8168d/8111d at 0xffffc20000032000, b8:ac:6f:dc:8b:43, XID 081000c0 IRQ 50
sd 0:0:0:0: Attached scsi generic sg0 type 0
SCSI device sdb: 976773168 512-byte hdwr sectors (500108 MB)
sdb: Write Protect is off
sdb: Mode Sense: 10 00 00 00
sdb: assuming drive cache: write through
SCSI device sdb: 976773168 512-byte hdwr sectors (500108 MB)
sdb: Write Protect is off
sdb: Mode Sense: 10 00 00 00
sdb: assuming drive cache: write throughsdb: sdb1 sdb2
sd 2:0:0:0: Attached scsi disk sdb
sd 2:0:0:0: Attached scsi generic sg2 type 0
EXT3 FS on sda1, internal journal
EXT3 FS on sda2, internal journal
Adding 5116692k swap on /dev/sda3.  Priority:-1 extents:1 across:5116692k
r8169: eth0: link up
r8169: eth0: link up
eth0: no IPv6 routers present/* 以上列出了系统识别的scsi硬盘及网卡的信息*/[root@nas ~]# cat /var/log/messages |grep -i fail
Jan 17 03:04:03 nas udevd-event[2943]: wait_for_sysfs: waiting for
'/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0/host3/target3:0:0/3:0:0:0/ioerr_cnt' failed
Jan 18 04:45:08 nas udevd-event[5138]: wait_for_sysfs: waiting for
'/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0/host8/target8:0:0/8:0:0:0/ioerr_cnt' failed
Jan 18 04:45:08 nas kernel: sdb : READ CAPACITY failed.
Jan 18 04:45:08 nas kernel: sdb : READ CAPACITY failed./* 以上列出了硬件检测失败记录 */[root@nas ~]# dmesg |grep -i err
ACPI: IRQ0 used by override.
ACPI: IRQ2 used by override.
ACPI: IRQ9 used by override.
Using local APIC timer interrupts.
ACPI: Using IOAPIC for interrupt routing
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0P1._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0P4._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0P6._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 6 7 10 *11 12 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs *5)
ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 6 7 *10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 6 7 10 11 12 14 *15)
ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 6 7 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 6 7 10 11 12 *14 15)
ACPI: PCI Interrupt Link [LNKG] (IRQs *3 4 6 7 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 6 *7 10 11 12 14 15)
ACPI: PCI Interrupt 0000:00:1c.0[A] -> GSI 17 (level, low) -> IRQ 169
ACPI: PCI Interrupt 0000:00:1c.2[C] -> GSI 18 (level, low) -> IRQ 177
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ACPI: PCI Interrupt 0000:00:1a.7[C] -> GSI 18 (level, low) -> IRQ 177
ACPI: PCI Interrupt 0000:00:1d.7[A] -> GSI 23 (level, low) -> IRQ 209
ACPI: PCI Interrupt 0000:00:1a.0[A] -> GSI 16 (level, low) -> IRQ 217
ACPI: PCI Interrupt 0000:00:1a.1[B] -> GSI 21 (level, low) -> IRQ 225
ACPI: PCI Interrupt 0000:00:1d.0[A] -> GSI 23 (level, low) -> IRQ 209
ACPI: PCI Interrupt 0000:00:1d.1[B] -> GSI 19 (level, low) -> IRQ 233
ACPI: PCI Interrupt 0000:00:1d.2[C] -> GSI 18 (level, low) -> IRQ 177
ACPI: PCI Interrupt 0000:00:1f.2[B] -> GSI 19 (level, low) -> IRQ 233
ACPI: PCI Interrupt 0000:00:1f.3[C] -> GSI 18 (level, low) -> IRQ 177
ACPI: PCI Interrupt 0000:02:00.0[A] -> GSI 18 (level, low) -> IRQ 177
ACPI: PCI Interrupt 0000:00:1b.0[A] -> GSI 22 (level, low) -> IRQ 58/* 以上列出了硬件检测错误记录 */

/var/log/dmesg硬件检测日志的格式较为简单,一般为"device name:message text"的形式。该日志中常见的设备名称有:SCSI,PCI,Memory,loop,Kernel,EXT3,DMA,CPU,Console,BIOS,ata2,ata1,ACPI,floppy,Time等。其中ACPI(Advanced Configuration and Power Interface)即高级电源管理服务,可以看到以上日志中该服务的PCI中断出现了某些问题,而sdb移动磁盘则出现了"READ CAPACITY failed."(结合之前的日志可能是因为USB外接硬盘未准备好)的失败,若该问题持续可能导致该移动硬盘无法挂载(mount)。

本文转自maclean_007 51CTO博客,原文链接:http://blog.51cto.com/maclean/1278714

在Linux上分析硬件检测日志相关推荐

  1. linux 查看主板sn_如何在 Linux 上查找硬件规格

    在 Linux 系统上有许多工具可用于查找硬件规格. -- Sk(作者) 在 Linux 系统上有许多工具可用于查找硬件规格.在这里,我列出了四种最常用的工具,可以获取 Linux 系统的几乎所有硬件 ...

  2. centos 获取硬件序列号_如何在 Linux 上查找硬件规格

    在 Linux 系统上有许多工具可用于查找硬件规格. -- Sk(作者) 在 Linux 系统上有许多工具可用于查找硬件规格.在这里,我列出了四种最常用的工具,可以获取 Linux 系统的几乎所有硬件 ...

  3. 安装和使用Hardinfo、Sysinfo、Lshw以在Linux上查找硬件规格

    本文介绍在Linux系统中安装Hardinfo.Sysinfo.Lshw的方法,使用它们以在Linux上查找硬件规格,经测试,在Ubuntu 18.04系统能完美运行,不过也适用于其他Linux发行版 ...

  4. linux如何发现内存卡,分享|如何在 Linux 上查找硬件规格

    在 Linux 系统上有许多工具可用于查找硬件规格.在这里,我列出了四种最常用的工具,可以获取 Linux 系统的几乎所有硬件(和软件)细节.好在是这些工具在某些 Linux 发行版上默认预装.我在 ...

  5. linux程序测试工具gprof,gprof-如何在Linux上分析多线程C ++应用程序?

    gprof-如何在Linux上分析多线程C ++应用程序? 我曾经使用gprof进行所有Linux分析. 但是,对于我的多线程应用程序,它的输出似乎不一致. 现在,我将其挖掘出来: [HTTP://S ...

  6. EdgeX(7)使用usb ttl 链接 RX TX 调试,输出乱码问题解决,没有想到最后居然是没有焊好。可以使用cuteCom或者putty 在linux上进行界面查询日志

    目录 前言 1,usb ttl 转串口 2,linux 上使用 cuteCom查看日志 3,也可以使用 linux 版本的putty 4,总结 前言 相关EdgeX Foundry 全部分类: htt ...

  7. 一个 Linux 上分析死锁的简单方法

    2019独角兽企业重金招聘Python工程师标准>>> 简介 死锁 (deallocks): 是指两个或两个以上的进程(线程)在执行过程中,因争夺资源而造成的一种互相等待的现象,若无 ...

  8. 华硕dhd24简单分析硬件检测思路

    当加载dhd24驱动后首先会正常初始化芯片以读取寄存器信息,当读取到后进行芯片型号和版本检测. 当匹配不到型号白名单或版本白名单的时候就终止dhd24继续执行,然后退出,接下来使用dhd在进行一遍检测 ...

  9. linux导出硬件信息,Linux 上生成硬件信息与配置报告: Sysreport

    当需要 Linux 主机详细完整的描述给另一个人的时候,这个工具非常适合.用 root 用户之行,但要注意最好不要抓取 currently installed packages 信息,这一步非常慢.( ...

最新文章

  1. Resnet对应于ImageNet的结构框架
  2. linux mysql 清空缓存吗_linux 缓存手动清除
  3. async/await工作机制探究--NodeJS
  4. 解码resources时里面是空的_深度解码超实用的OpenStack Heat
  5. 进入“高画质手游时代”?《天谕》手游首次采用的这项技术有多强大
  6. 手机升级android5.0,Android 7.0就要来了?你家手机升级到5.0了吗?
  7. 方法 手写promise_JS探索-手写Promise
  8. Comet 反Ajax: 基于jQuery与PHP实现Ajax长轮询(LongPoll)
  9. Python——使用“_”下划线作为参数的占位符
  10. 聚合丁苯橡胶(SSBR)行业调研报告 - 市场现状分析与发展前景预测
  11. 模型保存的方法-----仅保存架构
  12. 可展开的UITableViewCell
  13. 区块链 以太坊 三元组是什么 state root transaction root receipt root
  14. php手册 mac版,php中文手册for mac-php中文手册mac版下载v1.0.2 官方最新版__西西软件下载...
  15. 大数据测试理论与方法
  16. 大数据的十大应用领域
  17. 蓝牙音频编码简介 - SBC、AAC、AptX、LDAC、LHDC
  18. js通过base64编码显示图片
  19. html5输入框自动放大镜,html5输入框左边有一个放大镜图标,右边有按钮点击触发搜索...
  20. Python“Non-ASCII character 'xe5' in file”报错问题

热门文章

  1. 分享Silverlight/WPF/Windows Phone一周学习导读(3月14日-3月19日)
  2. 2498-R06 SFP与线缆的选择与配置
  3. 批处理中的****1nul 2nul
  4. 分布式锁的Redis实现
  5. POJ 3278 Catch That Cow
  6. unity3D小小白之雾效
  7. 面向对象中类和类的关系
  8. 基于HTML5 Canvas 实现弹出框
  9. poj 2109 Power of Cryptography
  10. 微信小程序实例开发教程之知乎新闻