我的服务器内有一个磁盘发生故障,我正在尝试找出它是哪一个。我没有列出我应该列出的所有序列号。我计划这样做,但与此同时,我可以从正在运行的系统中提取任何其他信息吗?
WARNING: Your hard drive is failing
Device: /dev/sdc [SAT], unable to open device
智能控制结果:
$smartctl --all /dev/sdc
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.10.0-514.2.2.el7.x86_64] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
Smartctl open device: /dev/sdc failed: No such device
由于该磁盘已不再在线,我还能在哪里查询其信息吗?
更新
grep dmesg 获取 sdc:
$dmesg | grep sdc
[ 12.074540] sd 0:0:2:0: [sdc] 5860533168 512-byte logical blocks: (3.00 TB/2.72 TiB)
[ 12.074542] sd 0:0:2:0: [sdc] 4096-byte physical blocks
[ 12.083407] sd 0:0:2:0: [sdc] Write Protect is off
[ 12.083410] sd 0:0:2:0: [sdc] Mode Sense: 7f 00 10 08
[ 12.084143] sd 0:0:2:0: [sdc] Write cache: enabled, read cache: enabled, supports DPO and FUA
[ 12.798801] sdc: sdc1 sdc9
[ 12.807266] sd 0:0:2:0: [sdc] Attached SCSI disk
[716178.562173] sd 0:0:2:0: [sdc] Synchronizing SCSI cache
[716178.562252] sd 0:0:2:0: [sdc] Synchronize Cache(10) failed: Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK
然后在 fdisk 中查找这些驱动器:
$fdisk -l 2>/dev/null | egrep -i '^disk /dev+.' | grep 3.00 | sort
Disk /dev/sda: 3000.6 GB, 3000592982016 bytes, 5860533168 sectors
Disk /dev/sdd: 3000.6 GB, 3000592982016 bytes, 5860533168 sectors
Disk /dev/sds: 3000.6 GB, 3000592982016 bytes, 5860533168 sectors
我这个系统里只有三块3TB的磁盘,而且都是在线的。然而,最后一个一直位于 /dev/sds 的 fdisk 列表的底部。如果磁盘掉线然后重新上线,是否会为其重新分配相同的 dev id 还是新的 dev id?这可能就是驱动。
答案1
如果您的驱动器有单独的 LED,您可以生成一些磁盘活动以使 LED 亮起:
dd if=/dev/sdb of=/dev/null
并在响应磁盘上尝试此操作,通过排除过程找到坏磁盘。