25.20. SCSI 명령 타이머 및 장치 상태 제어
Linux SCSI 계층은 각 명령에 타이머를 설정합니다. 이 타이머가 만료되면 SCSI 계층에서 호스트 버스 어댑터 (HBA)를 정지하고 모든 미해결 명령이 시간 초과되거나 완료될 때까지 기다립니다. 이후 SCSI 계층은 드라이버의 오류 처리기를 활성화합니다.
오류 처리기가 트리거되면 다음 작업을 순서대로 시도합니다(하나가 성공적으로 실행됨).
- 명령을 중지합니다.
- 장치를 재설정합니다.
- 버스를 재설정합니다.
- 호스트를 재설정합니다.
이러한 모든 작업이 실패하면 장치는 오프라인 상태로 설정됩니다. 이 경우 문제가 해결되고 사용자가 장치를 실행 하도록 설정할 때까지 해당 장치에 대한 모든 I/O가 실패합니다.
그러나 장치가 파이버 채널 프로토콜을 사용하고 rport 가 차단된 경우 프로세스가 다릅니다. 이러한 경우 드라이버는 오류 처리기를 활성화하기 전에 rport 가 다시 온라인 상태가 될 때까지 몇 초 동안 기다립니다. 이렇게 하면 임시 전송 문제로 인해 장치가 오프라인 상태가 되지 않습니다.
25.20.1. 장치 상태
장치 상태를 표시하려면 다음을 사용합니다.
$ cat /sys/block/device-name/device/state
장치를 실행 중 상태로 설정하려면 다음을 사용합니다.
# echo running > /sys/block/device-name/device/state
25.20.2. 명령 timer
명령 타이머를 제어하려면
/sys/block/device-name/device/timeout
파일을 수정합니다.
# echo value > /sys/block/device-name/device/timeout
명령에서 값을 구현하려는 시간 초과 값(초)으로 바꿉니다.