如何物理识别 RAID 阵列中的单个驱动器?

Kee*_*ook 16 disk raid

我有一个带有 4 个 eSATA 磁盘的外部驱动器托架。我的系统有一个 4 端口 eSATA 卡,以及一对内部硬件 RAID1 驱动器。外部驱动器位于软件 RAID1 对中,如/dev/md0/dev/md1。两者都被配置为 LVM 物理卷来创建我的storagevgLVM 卷组。最近,单个驱动器脱机(我怀疑是电缆),但似乎没有一个好方法来物理识别我需要检查的驱动器,特别是因为启动之间的初始化顺序不同。如何找到需要注意的磁盘?

Oli*_*Oli 15

磁盘工具(位于系统 -> 管理)将为您提供所有磁盘的序列号。

这是我所看到的(请看连续剧的右上角)。您会注意到该驱动器位于 mdadm RAID 阵列中。磁盘工具可以穿透阵列进行原始磁盘访问。

磁盘工具

我的 PC 中有 6 个相同型号的磁盘,所以我画了一张小图,显示它们在机箱中的位置和序列号,这样我就可以在紧急情况下在序列号上快速找到它们。

反之亦然,如果一个磁盘坏了,我只需要找出哪些磁盘出现了,我就可以消除它们,直到我知道哪个序列号丢失了。

编辑:我正在尝试改进我的 bash-fu,所以我写了这个命令行版本,只是为了给你一个你机器中当前磁盘序列号的列表。fdisk可能会抛出一些错误,但这不会污染列表:

for disk in `sudo fdisk -l | grep -Eo '(/dev/[sh]d[a-z]):' | sed -E 's/://'`;
do
    sudo hdparm -i $disk | grep -Eo 'SerialNo=.*' | sed -E 's/SerialNo=//';
done
Run Code Online (Sandbox Code Playgroud)

(如果需要,您可以将其分解为一行 - 为了便于阅读,我已将其分解)

编辑 2: ls /dev/disk/by-id/稍微容易一些 ;)


Gil*_*il' 6

如果您无法将驱动器序列号或端口指示与磁盘的空间位置匹配,您可以运行cat /dev/sdz >/dev/nullsdz故障驱动器在哪里)并通过其 LED 定位驱动器(如果您不在嘈杂的服务器机房中,则通过耳朵) )。如果驱动器甚至不通电,那应该足以说明它是哪一个。下次一定要在磁盘上贴上可见的标签。