在 SAS 机柜中定位磁盘

Ole*_*nge 5 scsi external-hdd

我想使我的 24 磁盘 SAS 机柜中的故障设备闪烁。

我发现sg_ses --index 7 --set=locate /dev/sg24哪个应该识别插槽 7。

但是我如何确定哪个插槽/索引/dev/sdh是?

这并不明显,因为 Linux 没有在插槽之后命名 /dev/sdX,而是在检测到的序列之后。想想如果插槽 1 在启动时是空的,但稍后会被填满,会发生什么。

编辑:

控制器是SAS2008。

Ole*_*nge 15

在 /sys 循环一段时间后,我找到了这个解决方案:

# echo /sys/class/enclosure/*/*/device/block/sdaa
/sys/class/enclosure/2:0:35:0/Slot 15/device/block/sdaa
# echo 1 > '/sys/class/enclosure/2:0:35:0/Slot 15/locate' 
Run Code Online (Sandbox Code Playgroud)

或者:

# echo 1 > /sys/class/enclosure/*/*/device/block/sdaa/../../enclosure*/locate
Run Code Online (Sandbox Code Playgroud)

使所有检测到的设备闪烁:

parallel echo 1 \> ::: /sys/class/enclosure/*/*/device/block/sd*/../../enclosure*/locate
Run Code Online (Sandbox Code Playgroud)

如果您的驱动器损坏得什至未被 Linux 检测到(例如,它无法启动),这将非常有用。

编辑:

我制作了一个小工具(称为闪烁)来闪烁插槽。https://gitlab.com/ole.tange/tangetools/tree/master/blink