AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 64239
Accepted
privatehuff
privatehuff
Asked: 2009-09-11 09:53:29 +0800 CST2009-09-11 09:53:29 +0800 CST 2009-09-11 09:53:29 +0800 CST

物理识别故障硬盘

  • 772

因此,假设您的服务器有 6 个健康的硬盘驱动器。驱动器出现故障(不会安装/检测,因错误退出 RAID)或出现故障(SMART 变得更糟等)。您需要更换坏驱动器。当您打开机箱时,您会看到......六个相同的硬盘驱动器。

你怎么知道哪一个不再健康/安装/功能?

系统将是 linux,很可能是 ubuntu 服务器,最多使用简单的软件 RAID。硬盘驱动器将是 SATA 并直接连接到主板。(没有突袭控制器)

在选择正确的驱动器之前,我不想随机断开驱动器。驱动器对我来说都一样;我想有一些常见的方法可以识别我不知道的驱动器。有没有人有任何指示/提示/最佳实践?谢谢!

编辑:我曾希望以一种随意的方式将其“概括”,但它只是以“不完整”和“可怕”的形式出现。我的错!

linux
  • 13 13 个回答
  • 74386 Views

13 个回答

  • Voted
  1. Best Answer
    Tom Ritter
    2009-09-11T13:10:45+08:002009-09-11T13:10:45+08:00

    就像您解释的那样,我在(塔式)服务器上遇到了这个确切的问题,这很容易:

    smartctl 将输出驱动器的序列号

    供应商有时会发布他们自己的特定工具,例如 hdparm,它们也能做到这一点。

    所以输出坏驱动的序列号,然后用牙医的镜子和手电筒找到驱动。

    在机架上,您通常会像其他人所说的那样拥有指示灯,但我敢打赌同样适用。

    • 32
  2. UCS75
    2016-08-30T08:47:52+08:002016-08-30T08:47:52+08:00

    在驱动器上贴标签(取决于托盘的设计)可能不可行。到驱动器死机时,贴纸可能会变干并脱落。

    ledctl(来自ledmon包)确实是解决这个问题的方法。

    ledctl locate=/dev/disk/by-id/[drive-id]
    

    或者

    ledctl locate=/dev/sda
    

    将点亮您机箱上指定驱动器的驱动器故障指示灯。我提供了两个示例来说明如何识别驱动器并不重要。您可以使用序列号、名称等...您可以使用的任何信息。在 /dev/ 和 /dev/disk/ 路径下以多种方式引用驱动器。

    要关闭灯,只需再次执行它,将 locate 更改为 locate_off ,如下所示:

    ledctl locate_off=/dev/sda
    
    • 24
  3. Bart Silverstrim
    2009-09-11T12:33:10+08:002009-09-11T12:33:10+08:00

    通常,您必须希望以某种方式标记连接,然后根据故障设备的身份进行工作。例如...有人必须发表评论来纠正我...如果您有两个 IDE 通道,每个通道上最多有 2 个驱动器,您可以有 sda、sdb、sdc 和 sdd。如果 sdd 失败,它将是第二个 IDE 通道电缆上的第二个驱动器。

    如果它是 SATA 并且像我在后面房间的系统一样,端口会为每个 sata 驱动器标记。同样,驱动器字母从驱动器上升到任何位置,从 SATA 连接器的端口 0 开始并向上移动。

    如果有任何制造差异,dmesg |grep sd 或 dmesg|grep hd 应该会产生一些线索。

    如果您有可用的序列号,我认为 hdparm 命令可能会在软件中将其提供给您,以便您可以通过这种方式对其进行跟踪。如果是这种情况,您可能希望在某处标记驱动器,这样当您发现有问题时就不必担心。

    ...我知道我更喜欢硬件 RAID 而不是软件 RAID 的另一个原因...闪烁的灯光。真的很喜欢闪烁的灯光。

    编辑: smartctl,而不是 hdparm,给出了序列号。我的错。

    • 6
  4. Steve Bonds
    2016-08-09T08:01:39+08:002016-08-09T08:01:39+08:00

    如果您没有定位灯并且无法轻松找到驱动器外部的序列号,有时这种俗气的技术会有所帮助:在该特定驱动器上创建大量活动,然后查找活动 LED 常亮的驱动器. 最好对序列号进行更详细的检查,但这有助于缩小搜索范围。

    例如:

    # while true; do dd if=/dev/disk/by-id/scsi-drive-that-is-dying of=/dev/null; sleep 1; done

    (while 循环在技术上不是必需的,但它会在您前往数据中心时让事情继续进行。“sleep 1”有助于避免在“dd”由于说.. . 驱动器被断开。)

    • 5
  5. crh
    2014-09-26T05:33:23+08:002014-09-26T05:33:23+08:00

    一些驱动器公开了一个定位“文件” /sys,您可以在其中回显 1 用于打开定位指示灯或 0 用于关闭。

    $ for light in $( find /sys -name "locate" ) ; do echo 1 > $light ; sleep 10 ; echo 0 > $light; done
    
    • 4
  6. Sarath kumar S
    2015-10-17T22:01:52+08:002015-10-17T22:01:52+08:00

    对于简短的回答——“lsscsi”对于详细的回答——“lshw -c disk”将向您显示连接的 HDD 和 SATA 端口。

    • 4
  7. BillN
    2009-09-11T10:03:29+08:002009-09-11T10:03:29+08:00

    六个内部 HDDS?如果它们是外部热插拔驱动器,则热插拔托架可能会显示错误指示灯,以帮助您识别损坏的驱动器。许多 Raid 管理程序还可以选择让特定驱动器上的灯闪烁,以确定哪个是哪个驱动器。如果它们都是内部的,没有灯,那么您可以通过 RAID 软件告诉您哪些 ID 是好的,并查看 SCSI ID 等以找出答案。如果它们设置为自动,那么您的 RAID 控制器文档应该告诉您 ID 在 SCSI 链中的分配顺序。祝你好运。在事情仍在运行时立即进行备份!

    • 2
  8. mrdenny
    2009-09-11T11:23:15+08:002009-09-11T11:23:15+08:00

    至少,告诉您故障驱动器的 RAID 软件/控制器应该告诉您哪个驱动器发生故障(ID 号)。0 通常是左上角的那个,向下移动,然后向右移动(如果在两列或更多列中)。端口可能已标记。

    • 2
  9. toppledwagon
    2009-09-11T13:12:56+08:002009-09-11T13:12:56+08:00

    当所有其他方法都失败时,您可以识别未失败的驱动器并向后工作。

    find / -type f -exec cat {} \; >> /dev/null
    

    无论哪个驱动器的活动灯不亮,都可能是坏的(希望它只是一个。)请注意,如果您配置了热备件,它们也不会亮起。

    • 1
  10. ConcernedOfTunbridgeWells
    2009-09-12T04:37:39+08:002009-09-12T04:37:39+08:00

    scsirastools有一组工具,可让您对 SCSI 磁盘进行各种诊断测试。您还可以使用 sgmon 在软件控制下关闭磁盘。这至少可以让您识别您可以通过诊断找到它的物理磁盘。

    如果您有一个硬件 RAID 控制器,控制器的 BIOS 或管理软件应该有一个工具,可以让您识别坏磁盘。

    • 1

相关问题

  • 多操作系统环境的首选电子邮件客户端

  • 你最喜欢的 Linux 发行版是什么?[关闭]

  • 更改 PHP 的默认配置设置?

  • 保护新的 Ubuntu 服务器 [关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve