← Documents Documentation/admin-guide/blockdev/nbd.rst GitHub 원문 ↗

Linux 6.18.37 · Administration / Block devices

Network Block Device (TCP version)

TCP remote storage를 local block device로 쓰는 NBD 구조와 max_part·nbds_max module parameter를 설명합니다.

Source pathDocumentation/admin-guide/blockdev/nbd.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

Remote block I/O

nbd.rst:1-23

Client kernel module과 userspace server 사이 TCP block-I/O path입니다.

Module parameters

nbd.rst:24-31

Partition 수와 초기 block-device 수 기본값을 정의합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 ==================================
2 Network Block Device (TCP version)
3 ==================================
4
5 1) Overview
6 -----------
7
8 What is it: With this compiled in the kernel (or as a module), Linux
9 can use a remote server as one of its block devices. So every time
10 the client computer wants to read, e.g., /dev/nb0, it sends a
11 request over TCP to the server, which will reply with the data read.
12 This can be used for stations with low disk space (or even diskless)
13 to borrow disk space from another computer.
14 Unlike NFS, it is possible to put any filesystem on it, etc.
15
16 For more information, or to download the nbd-client and nbd-server
17 tools, go to https://github.com/NetworkBlockDevice/nbd.
18
19 The nbd kernel module need only be installed on the client
20 system, as the nbd-server is completely in userspace. In fact,
21 the nbd-server has been successfully ported to other operating
22 systems, including Windows.
23
24 A) NBD parameters
25 -----------------
26
27 max_part
28 Number of partitions per device (default: 0).
29
30 nbds_max
31 Number of block devices that should be initialized (default: 16).
32

3. 한국어 전문 번역

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

TCP Network Block Device 개요

1-23

NBD를 kernel에 built-in하거나 module로 설치하면 Linux가 remote server를 block device 하나로 사용할 수 있습니다. Client가 예를 들어 `/dev/nb0`를 읽을 때 TCP로 server에 request를 보내고 server가 읽은 data를 반환합니다.

Disk 공간이 적거나 diskless인 station이 다른 computer의 disk 공간을 빌리는 데 사용할 수 있습니다. NFS와 달리 그 위에 어떤 filesystem이든 둘 수 있습니다.

자세한 정보와 `nbd-client`, `nbd-server` tool은 `https://github.com/NetworkBlockDevice/nbd`에서 제공합니다. NBD kernel module은 client system에만 필요하고 server는 완전히 userspace에서 동작합니다. Nbd-server는 Windows를 포함한 다른 operating system에도 port됐습니다.

NBD read path
Client reads /dev/nb0NBD kernel module sends TCP requestUserspace nbd-server reads storageServer returns dataClient block I/O completes

Remote storage를 local block device처럼 읽는 TCP request path입니다.

NBD module parameter

24-31
NBD parameters
ParameterMeaningDefault
max_partDevice당 partition 수0
nbds_max초기화할 block device 수16

Device당 partition 수와 초기화할 NBD device 수입니다.