24개 디스크 SAS 캐비닛에서 오류가 발생한 장치를 플래시하고 싶습니다.
sg_ses --index 7 --set=locate /dev/sg24
슬롯 7을 인식해야 한다는 것을 알았습니다 .
하지만 어떤 슬롯/인덱스를 어떻게 알 수 있나요 /dev/sdh
?
Linux는 슬롯 뒤에 /dev/sdX 이름을 지정하지 않고 감지된 시퀀스 뒤에 이름을 지정하기 때문에 이는 명확하지 않습니다. 슬롯 1이 시작 시 비어 있었지만 나중에 채워지면 어떤 일이 일어날지 상상해 보십시오.
편집하다:
컨트롤러는 SAS2008입니다.
답변1
잠시 동안 /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
답변2
lsblk
이 추악한 스크립트는 출력 에 셸 및 슬롯 정보를 추가합니다 .
lsblk -d -o VENDOR,MODEL,SERIAL,HCTL,NAME | sed -e "`ls -1d /sys/class/enclosure/*/*/device/block/*|sed "s+.*enclosure/\(.*\)/device/block/\(.*\)+s-\2\\$-\2 \1-+"`"
(열 목록을 변경할 수 있지만 마지막 열은 이어야 합니다 NAME
.)
답변3
/sys/class/block/sdh
무엇이 연결되어 있는지 확인하세요 . 이렇게 하면 호스트, 대상 및 LUN을 볼 수 있습니다. 일반적으로 이것은 장치의 하드웨어 주소를 찾는 데 충분합니다.
답변4
훌륭한 도구가 있습니다(다음에서 사용 가능).https://github.com/amarao/sdled) 케이스 LED를 관리합니다.
다음과 같이 사용할 수 있습니다(테스트되지는 않았지만).
encled /dev/sgh fault
추가 정보 파일에서:
오류 - LED 표시기를 "오류"로 설정합니다. 이로 인해 장치가 오작동하는 것은 아니며 단지 셸을 "실패" 상태로 설정하는 것뿐입니다.