← Documents Documentation/ABI/testing/sysfs-block-rnbd GitHub 원문 ↗

Linux 6.18.37 · ABI / testing

RNBD block device sysfs ABI

RNBD device의 normal·force unmap, mapped connection state, RTRS session과 remote mapping path, access mode, sector resize, disconnected remap과 poll queue 수를 설명합니다.

Source pathDocumentation/ABI/testing/sysfs-block-rnbd
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

Normal과 force unmap

sysfs-block-rnbd:1-14

unmap_device는 normal일 때 in-use device를 EBUSY로 거부하고, force일 때 사용 중이어도 unmap하여 진행 중인 모든 I/O를 실패시킵니다.

Mapped block device state

sysfs-block-rnbd:16-24

state는 server에서 정상 mapping되어 I/O를 받으면 open, link failure 등으로 disconnect되면 closed이며 closed 상태의 I/O는 -EIO로 실패합니다.

RTRS session과 remote device path

sysfs-block-rnbd:26-40

session은 map_device의 server parameter로 전달한 RTRS session name이고 mapping_path는 device_path로 전달한 remote path입니다.

Access mode와 sector resize

sysfs-block-rnbd:42-52

access_mode는 ro·rw·migration 중 하나이며 resize에는 disk의 새 size를 sector 수로 씁니다.

Disconnected remap과 poll queues

sysfs-block-rnbd:54-64

remap_device는 session이 아직 destroy되지 않은 disconnected device를 다시 mapping하고 nr_poll_queues는 poll-mode queue 수를 제공합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 What: /sys/block/rnbd<N>/rnbd/unmap_device
2 Date: Feb 2020
3 KernelVersion: 5.7
4 Contact: Jack Wang <[email protected]> Danil Kipnis <[email protected]>
5 Description: To unmap a volume, "normal" or "force" has to be written to:
6 /sys/block/rnbd<N>/rnbd/unmap_device
7
8 When "normal" is used, the operation will fail with EBUSY if any process
9 is using the device. When "force" is used, the device is also unmapped
10 when device is in use. All I/Os that are in progress will fail.
11
12 Example::
13
14 # echo "normal" > /sys/block/rnbd0/rnbd/unmap_device
15
16 What: /sys/block/rnbd<N>/rnbd/state
17 Date: Feb 2020
18 KernelVersion: 5.7
19 Contact: Jack Wang <[email protected]> Danil Kipnis <[email protected]>
20 Description: The file contains the current state of the block device. The state file
21 returns "open" when the device is successfully mapped from the server
22 and accepting I/O requests. When the connection to the server gets
23 disconnected in case of an error (e.g. link failure), the state file
24 returns "closed" and all I/O requests submitted to it will fail with -EIO.
25
26 What: /sys/block/rnbd<N>/rnbd/session
27 Date: Feb 2020
28 KernelVersion: 5.7
29 Contact: Jack Wang <[email protected]> Danil Kipnis <[email protected]>
30 Description: RNBD uses RTRS session to transport the data between client and
31 server. The entry "session" contains the name of the session, that
32 was used to establish the RTRS session. It's the same name that
33 was passed as server parameter to the map_device entry.
34
35 What: /sys/block/rnbd<N>/rnbd/mapping_path
36 Date: Feb 2020
37 KernelVersion: 5.7
38 Contact: Jack Wang <[email protected]> Danil Kipnis <[email protected]>
39 Description: Contains the path that was passed as "device_path" to the map_device
40 operation.
41
42 What: /sys/block/rnbd<N>/rnbd/access_mode
43 Date: Feb 2020
44 KernelVersion: 5.7
45 Contact: Jack Wang <[email protected]> Danil Kipnis <[email protected]>
46 Description: Contains the device access mode: ro, rw or migration.
47
48 What: /sys/block/rnbd<N>/rnbd/resize
49 Date: Feb 2020
50 KernelVersion: 5.7
51 Contact: Jack Wang <[email protected]> Danil Kipnis <[email protected]>
52 Description: Write the number of sectors to change the size of the disk.
53
54 What: /sys/block/rnbd<N>/rnbd/remap_device
55 Date: Feb 2020
56 KernelVersion: 5.7
57 Contact: Jack Wang <[email protected]> Danil Kipnis <[email protected]>
58 Description: Remap the disconnected device if the session is not destroyed yet.
59
60 What: /sys/block/rnbd<N>/rnbd/nr_poll_queues
61 Date: Feb 2020
62 KernelVersion: 5.7
63 Contact: Jack Wang <[email protected]> Danil Kipnis <[email protected]>
64 Description: Contains the number of poll-mode queues
65

3. 한국어 전문 번역

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

RNBD volume normal·force unmap

1-14
항목전문 번역
What/sys/block/rnbd<N>/rnbd/unmap_device
Date2020년 2월
KernelVersion5.7
ContactJack Wang <[email protected]>, Danil Kipnis <[email protected]>
DescriptionVolume을 unmap하려면 /sys/block/rnbd<N>/rnbd/unmap_device에 "normal" 또는 "force"를 써야 합니다.
입력Device가 사용 중일 때진행 중인 I/O
normalOperation이 EBUSY로 실패함Device가 unmap되지 않음
force사용 중이어도 device를 unmap함진행 중인 모든 I/O가 실패함

원문 예시는 다음과 같습니다.

# echo "normal" > /sys/block/rnbd0/rnbd/unmap_device

RNBD block device connection state

16-24
항목전문 번역
What/sys/block/rnbd<N>/rnbd/state
Date2020년 2월
KernelVersion5.7
ContactJack Wang <[email protected]>, Danil Kipnis <[email protected]>
Description이 file은 block device의 current state를 담습니다. Device가 server에서 성공적으로 mapping되어 I/O request를 받고 있으면 state file은 "open"을 반환합니다. Error가 발생해 server connection이 disconnect되면(예: link failure) state file은 "closed"를 반환하고, 제출되는 모든 I/O request는 -EIO로 실패합니다.
StateConnectionI/O 결과
openServer에서 성공적으로 mappedI/O request를 accept함
closedError 또는 link failure로 disconnected모든 제출 I/O가 -EIO로 실패함

RTRS transport session과 mapping path

26-40
WhatDateKernelVersionContact전문 번역
/sys/block/rnbd<N>/rnbd/session2020년 2월5.7Jack Wang <[email protected]>, Danil Kipnis <[email protected]>RNBD는 client와 server 사이의 data transport에 RTRS session을 사용합니다. "session" entry에는 RTRS session을 establish할 때 사용한 session name이 들어 있습니다. 이 이름은 map_device entry에 server parameter로 전달한 이름과 같습니다.
/sys/block/rnbd<N>/rnbd/mapping_path2020년 2월5.7Jack Wang <[email protected]>, Danil Kipnis <[email protected]>map_device operation에 "device_path"로 전달한 path를 담습니다.
RNBD mapping과 RTRS transport
map_device server parameterRTRS session namernbd/session
map_device device_pathRemote volume pathrnbd/mapping_path
Local rnbd<N> block deviceRTRS transportRemote RNBD server volume

map_device parameter가 local RNBD sysfs identity와 remote transport endpoint에 어떻게 반영되는지 보여 준다.

Device access mode와 disk resize

42-52
WhatDateKernelVersionContact전문 번역
/sys/block/rnbd<N>/rnbd/access_mode2020년 2월5.7Jack Wang <[email protected]>, Danil Kipnis <[email protected]>Device access mode인 ro, rw 또는 migration을 담습니다.
/sys/block/rnbd<N>/rnbd/resize2020년 2월5.7Jack Wang <[email protected]>, Danil Kipnis <[email protected]>Disk size를 변경하려면 sector 수를 씁니다.
access_mode의미
roRead-only access
rwRead-write access
migrationMigration access mode

Disconnected device remap과 poll queues

54-64
WhatDateKernelVersionContact전문 번역
/sys/block/rnbd<N>/rnbd/remap_device2020년 2월5.7Jack Wang <[email protected]>, Danil Kipnis <[email protected]>Session이 아직 destroy되지 않았다면 disconnected device를 remap합니다.
/sys/block/rnbd<N>/rnbd/nr_poll_queues2020년 2월5.7Jack Wang <[email protected]>, Danil Kipnis <[email protected]>Poll-mode queue 수를 담습니다.
RNBD disconnect와 remap
open mapped deviceLink or transport failureclosed stateI/O fails with -EIO
closed deviceRTRS session still existsWrite remap_deviceMapping restored
closed deviceSession destroyedCannot remap existing session

Link failure 뒤 session lifetime에 따라 기존 device를 remap할 수 있는 조건을 나타낸다.