我有一台带有软件 RAID 1 的服务器,两个热插拔 sata 磁盘。一个硬盘开始显示错误,我正在考虑删除和更换它,唯一的问题是我不知道两者中的哪一个对应于哪些设备。而且我无法关闭服务器来找出答案。
我有 /dev/sda 和 /dev/sdb,/dev/sda 是失败的。考虑过做一些事情
# mdadm --manage /dev/md0 --remove /dev/sda1
然后以某种方式使用调整软件停止/暂停驱动器并尝试听两者中的哪一个停止了,但这在嘈杂的服务器环境中不起作用。驱动面板没有 LED。
感谢您的任何想法!
你能看到磁盘上的 S/N 吗?使用 hdparm -i /dev/sda 获取 S/N 并识别磁盘。
sda 和 sdb 中的 A 和 B 应映射到驱动器的通道 1 和 2(或 0 和 1)。如果系统设置为贴上标签,您可以这样说。我不知道您的驱动器的布线结构如何;我已经在主板上用小字体对它们进行了编号,这样您就可以知道哪个端口连接到哪个驱动器。
如果有足够的空间让您感受驱动器,我想您也可以使用您的想法尝试感受驱动器的振动。再次取决于它们的安装方式。
一个简单的方法来检查哪个驱动器是哪个驱动器,如果你有正确的驱动器 LED,就是
dd if=/dev/sda of=/dev/null
看看哪一个的灯牢牢地粘在上面。
好吧,去年我写了一个脚本,将这些
ataX.YY
东西翻译成设备名称,在这里找到:Linux ATA 错误:翻译成设备名称?
但是,从那时起,我个人版本的这个脚本得到了重大改进(例如,现在甚至会显示 HDD 连接到的控制器),所以我只需一分钟的工作就可以将其缩减为您的特殊版本目的:
注意: float_eval() 辅助函数虽然不是绝对必要的,但可以避免数十亿或数万亿字节的错误计算(GB 和 TB,不要与 GiB/TiB 混淆)。特别是在 TB 范围内,当从(长)整数中的块大小计算时,此类计算可能会越来越偏离其准确值。主要原因(或原因)是在几年前硬盘容量达到 1 TB 标记之前,我们从未在硬盘容量中使用小数点,因此整数计算可能不再适用于所有情况。
此外,我对有人改进此脚本感兴趣,以便在有两个具有相同制造商 ID 的驱动器时显示序列号。不幸的是,到目前为止,我还没有成功找到这些信息
/sys/block/*
。