External-Hdd

在 SAS 機櫃中定位磁碟

  • February 15, 2020

我想閃爍我的 24 磁碟 SAS 機箱中的故障設備。

我發現sg_ses --index 7 --set=locate /dev/sg24應該辨識插槽 7。

但是我如何確定哪個插槽/索引/dev/sdh是?

這並不明顯,因為 Linux 沒有在插槽之後命名 /dev/sdX,而是在檢測到它的序列之後。想想如果插槽 1 在啟動時是空的,但稍後會被填滿,會發生什麼。

編輯:

控制器是SAS2008。

在 /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' 

要麼:

# echo 1 > /sys/class/enclosure/*/*/device/block/sdaa/../../enclosure*/locate

閃爍所有檢測到的設備:

parallel echo 1 \> ::: /sys/class/enclosure/*/*/device/block/sd*/../../enclosure*/locate

如果您的驅動器損壞嚴重,Linux 甚至無法檢測到(例如,它無法啟動),這將非常有用。

編輯:

我製作了一個小工具(稱為閃爍)來閃爍插槽。https://gitlab.com/ole.tange/tangetools/tree/master/blink

引用自:https://unix.stackexchange.com/questions/36915