神秘设备 sdg 正在记录错误。我该如何找出这是什么?

神秘设备 sdg 正在记录错误。我该如何找出这是什么?

我的家庭文件/媒体服务器(debian 8.11)上有一个有趣的问题,我无法追踪。最近几天,我在 dmesg 中不断看到以下消息:

Buffer I/O error on device sdg, logical block 5

有时我会在日志中看到更多

[331645.357795] Buffer I/O error on device sdg, logical block 7
[331826.255867] sd 14:0:0:0: [sdg] Command timed out
[331826.255875] sd 14:0:0:0: [sdg]  
[331826.255879] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[331826.255883] sd 14:0:0:0: [sdg]  
[331826.255886] Sense Key : Not Ready [current] 
[331826.255892] sd 14:0:0:0: [sdg]  
[331826.255896] Add. Sense: Logical unit is in process of becoming 
ready
[331826.255899] sd 14:0:0:0: [sdg] CDB: 
[331826.255902] Read(10): 28 00 00 00 00 00 00 00 01 00
[331826.255915] end_request: I/O error, dev sdg, sector 0
[331826.257606] Buffer I/O error on device sdg, logical block 0
[331833.213945] sd 14:0:0:0: timing out command, waited 180s
[331833.215687] sd 14:0:0:0: [sdg] Command timed out
[331833.215692] sd 14:0:0:0: [sdg]  
[331833.215695] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[331833.215699] sd 14:0:0:0: [sdg]  
[331833.215701] Sense Key : Not Ready [current] 
[331833.215717] sd 14:0:0:0: [sdg]  
[331833.215731] Add. Sense: Logical unit is in process of becoming 
ready
[331833.215735] sd 14:0:0:0: [sdg] CDB: 
[331833.215737] Read(10): 28 00 00 00 00 01 00 00 07 00

问题是,我找不到 sdg 是什么设备?!?!

我假设它是某种块设备,但是我的服务器中只有 6 个物理驱动器(sda、sdb、sdc、sdd、sde、sdf)

  • sda = 操作系统安装驱动器。物理磁盘。
  • sdb & sdc - MDADM RAID 0 作为 /dev/md1。物理磁盘。
  • sdd & sde - MDADM RAID 0 作为 /dev/md0。物理磁盘。
  • sdf——用于夜间备份的外部 USB 驱动器。

我尝试运行fdisk -l /dev/sdg但命令就挂起了。

ls -all /dev/disk/by-id/ | grep sdg返回 0 个结果。

我插入了一个 USB 拇指驱动器并将其安装为 /dev/sdh,因此由于某种原因它跳过了 /dev/sdg。

smartctl -a /dev/sdg返回以下内容:

smartctl 6.4 2014-10-07 r4002 [x86_64-linux-3.16.0-4-amd64] (local 
build)
Copyright (C) 2002-14, Bruce Allen, Christian Franke, 
www.smartmontools.org

Read Device Identity failed: scsi error device will be ready soon

A mandatory SMART command failed: exiting. To continue, add one or 
more '-T permissive' options.

cat /proc/diskstats返回:

   8      96 sdg 596 867 1458 163968604 0 0 0 0 1 68509944 164194776

/etc/fstab 中没有任何内容引用 /dev/sdg。

除了运行 samba/ssh 在我的家庭网络共享文件之外,安装的唯一其他应用程序是 Plex 媒体服务器,但我认为这些应用程序都不会在我的系统上创建块设备。

当得知不是我的保存数据的任何磁盘出现错误时,我感到有点宽慰,但现在的问题是我如何弄清楚 sdg 是什么以及为什么它会抛出这些错误?

关于如何追踪这个 sdg 驱动器,您有什么想法吗?

答案1

理论上lsblk -O /dev/sdg应该能告诉你很多。但是有两个问题:

  1. 无论如何,故障设备可能报告的都很少。
  2. 通常, 的输出lsblk -O是模糊的,因为长行会在终端中换行,整个输出变得不可读。为了解决这个问题:

    • 使用具有方便的水平滚动功能的寻呼机,例如:

      lsblk -O /dev/sdg | less -S -# 8
      
    • 或者重定向到一个文件(lsblk -O /dev/sdg >/tmp/lsblk_sdg)并在任何可以正确显示非换行和滚动的编辑器中检查该文件;

    • 或一次查看几列,如lsblk -o VENDOR,MODEL,SERIAL(运行lsblk --help以了解所有可用列)。

或者,cd看看/sys/class/block/sdg/device你能找到什么(例如cat model)。同样,如果设备有故障,你可能无法检索到太多信息。

另外,dmesg在设备重启后首次被发现时,可以找到其中的条目(或日志中的条目)。它们可能会或可能不会告诉你一些事情。

相关内容