← Documents Documentation/ABI/stable/sysfs-transport-srp GitHub 원문 ↗

Linux 6.18.37 · ABI / stable

SCSI RDMA Protocol remote-port stable sysfs ABI

SRP remote port의 연결 해제, transport error 이후 I/O 실패·device 제거 timeout, reconnect delay, port identifier, role과 transport state를 설명합니다.

Source pathDocumentation/ABI/stable/sysfs-transport-srp
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

Target 연결 해제와 LUN 제거

sysfs-transport-srp:1-6

SRP initiator가 target에서 disconnect하고 그 target으로부터 import한 모든 LUN을 제거하도록 지시합니다.

Transport error와 reconnect timer

sysfs-transport-srp:8-24, 33-39

I/O를 실패시킬 시점, target port를 제거할 시점, 실패한 reconnect를 재시도할 시점을 각각 독립적으로 제어합니다.

Port identity, role과 state

sysfs-transport-srp:26-31, 41-58

16-byte SRP port identifier와 remote-port role을 제공하고 transport layer의 operational·error recovery 상태를 표시합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 What: /sys/class/srp_remote_ports/port-<h>:<n>/delete
2 Date: June 1, 2012
3 KernelVersion: 3.7
5 Description: Instructs an SRP initiator to disconnect from a target and to
6 remove all LUNs imported from that target.
7
8 What: /sys/class/srp_remote_ports/port-<h>:<n>/dev_loss_tmo
9 Date: February 1, 2014
10 KernelVersion: 3.13
12 Description: Number of seconds the SCSI layer will wait after a transport
13 layer error has been observed before removing a target port.
14 Zero means immediate removal. Setting this attribute to "off"
15 will disable the dev_loss timer.
16
17 What: /sys/class/srp_remote_ports/port-<h>:<n>/fast_io_fail_tmo
18 Date: February 1, 2014
19 KernelVersion: 3.13
21 Description: Number of seconds the SCSI layer will wait after a transport
22 layer error has been observed before failing I/O. Zero means
23 failing I/O immediately. Setting this attribute to "off" will
24 disable the fast_io_fail timer.
25
26 What: /sys/class/srp_remote_ports/port-<h>:<n>/port_id
27 Date: June 27, 2007
28 KernelVersion: 2.6.24
30 Description: 16-byte local SRP port identifier in hexadecimal format. An
31 example: 4c:49:4e:55:58:20:56:49:4f:00:00:00:00:00:00:00.
32
33 What: /sys/class/srp_remote_ports/port-<h>:<n>/reconnect_delay
34 Date: February 1, 2014
35 KernelVersion: 3.13
37 Description: Number of seconds the SCSI layer will wait after a reconnect
38 attempt failed before retrying. Setting this attribute to
39 "off" will disable time-based reconnecting.
40
41 What: /sys/class/srp_remote_ports/port-<h>:<n>/roles
42 Date: June 27, 2007
43 KernelVersion: 2.6.24
45 Description: Role of the remote port. Either "SRP Initiator" or "SRP Target".
46
47 What: /sys/class/srp_remote_ports/port-<h>:<n>/state
48 Date: February 1, 2014
49 KernelVersion: 3.13
51 Description: State of the transport layer used for communication with the
52 remote port. "running" if the transport layer is operational;
53 "blocked" if a transport layer error has been encountered but
54 the fast_io_fail_tmo timer has not yet fired; "fail-fast"
55 after the fast_io_fail_tmo timer has fired and before the
56 "dev_loss_tmo" timer has fired; "lost" after the
57 "dev_loss_tmo" timer has fired and before the port is finally
58 removed.
59

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

SRP target 연결 해제

1-6
항목내용
What/sys/class/srp_remote_ports/port-<h>:<n>/delete
Date2012년 6월 1일
KernelVersion3.7
Contact[email protected], [email protected]
DescriptionSRP initiator가 target에서 disconnect하고 해당 target으로부터 import한 모든 LUN을 제거하도록 지시한다.

Transport error 이후 I/O 실패와 port 제거 시간

8-24
경로 suffix도입내용
dev_loss_tmo2014-02-01 / Linux 3.13Transport layer error를 관찰한 뒤 SCSI layer가 target port를 제거하기 전까지 기다릴 초 수이다. 0은 즉시 제거를 뜻하며, `off`를 쓰면 dev_loss timer를 비활성화한다.
fast_io_fail_tmo2014-02-01 / Linux 3.13Transport layer error를 관찰한 뒤 SCSI layer가 I/O를 실패 처리하기 전까지 기다릴 초 수이다. 0은 I/O를 즉시 실패 처리함을 뜻하며, `off`를 쓰면 fast_io_fail timer를 비활성화한다.

두 attribute의 공통 경로 prefix는 `/sys/class/srp_remote_ports/port-<h>:<n>/`이고, contact는 `[email protected]`와 `[email protected]`이다.

16-byte local SRP port identifier

26-31
항목내용
What/sys/class/srp_remote_ports/port-<h>:<n>/port_id
Date2007년 6월 27일
KernelVersion2.6.24
Contact[email protected]
Description16-byte local SRP port identifier를 hexadecimal 형식으로 나타낸다.
Example4c:49:4e:55:58:20:56:49:4f:00:00:00:00:00:00:00

Reconnect 재시도 간격

33-39
항목내용
What/sys/class/srp_remote_ports/port-<h>:<n>/reconnect_delay
Date2014년 2월 1일
KernelVersion3.13
Contact[email protected], [email protected]
DescriptionReconnect 시도가 실패한 뒤 SCSI layer가 다시 시도하기 전까지 기다릴 초 수이다. 이 attribute를 `off`로 설정하면 시간 기반 reconnect를 비활성화한다.

Remote port role

41-45
항목내용
What/sys/class/srp_remote_ports/port-<h>:<n>/roles
Date2007년 6월 27일
KernelVersion2.6.24
Contact[email protected]
DescriptionRemote port의 role이다. 값은 `SRP Initiator` 또는 `SRP Target` 중 하나이다.

Transport layer의 현재 상태

47-58
항목내용
What/sys/class/srp_remote_ports/port-<h>:<n>/state
Date2014년 2월 1일
KernelVersion3.13
Contact[email protected], [email protected]
DescriptionRemote port와 통신하는 데 사용하는 transport layer의 상태이다.
의미
runningTransport layer가 정상 동작 중이다.
blockedTransport layer error가 발생했지만 fast_io_fail_tmo timer가 아직 만료되지 않았다.
fail-fastfast_io_fail_tmo timer가 만료된 뒤이며 dev_loss_tmo timer는 아직 만료되지 않았다.
lostdev_loss_tmo timer가 만료된 뒤부터 port가 최종 제거되기 전까지의 상태이다.
Transport error 이후 SRP remote port의 상태 변화
running: transport layer 정상 동작error 관찰 → blockedfast_io_fail_tmo 만료 → I/O 실패 처리, fail-fastdev_loss_tmo 만료 → lostRemote port 최종 제거

두 timeout은 서로 다른 경계를 만든다. 먼저 I/O가 빠르게 실패하고, 이후 target port가 lost 상태를 거쳐 제거된다.