Wikipedysta:Shirrapal/brudnopis
W systemie operacyjnym Linux network block device (NBD) jest protokołem sieciowym pozwalającym na udostępnianie urządzenia blokowego (czyli zwykle twardego dysku, partycji lub wolumenu logicznego) innym komputerom podłączonym przez sieć TCP/IP.
Protokół był początkowo rozwijany dla wersji 2.1.55 jądra systemu Linux i opublikowany w 1997 roku.[1] W 2011 roku protokół został zrewidowany, formalnie udokumentowany i obecnie jest rozwijany w kolaboracji jako otwarty standard. Istnieje kilka niezależnie rozwijanych programów klienckich i serwerowych, które mogą ze sobą współpracować.
Istnieją zgodne z systemem Linux implementacje dla FreeBSD a także innych systemów operacyjnych.
Angielski Termin network block device (z ang. sieciowe urządzenie blokowe) jest także czasem używane bardziej ogólnie, np. w odniesieniu do podobnych technologii dla SAN (jak np. iSCSI).
Technicznie, NBD jest zrealizowany przy pomocy trzech komponentów: serwera, klienta oraz łączącej ich sieci. Na maszynie klienckiej, która zdalnie korzysta z dysku serwera, sterownik jądra systemu kontroluje operacje na urządzeniu (takie jak odczyt / zapis bloku danych). Gdy jakiś program próbuje wykonać operację na urządzeniu, jądro systemu przesyła to żądanie do serwera, w którym fizycznie znajduje się wykorzystywane urządzenie. Po stronie serwera, żądania przesłane przez klienta są wykonywane przez program działający w przestrzeni użytkownika na udostępnionym urządzeniu blokowym.
The network block device client module is available on Unix-like operating systems, including Linux and Bitrig.[2] Since the server is a userspace program, it can potentially run on every Unix-like platform; for example, NBD's server part has been ported to Solaris.[3]
Alternative protocols
- iSCSI: The "target-utils" iscsi package on many Linux distributions.
- NVMe-oF: an equivalent mechanism, exposing block devices as NVMe namespaces over TCP, Fibre Channel, RDMA, &c., native to most operating systems
- Loop device: a similar mechanism, but uses a local file instead of a remote one
- DRBD: Distributed Replicated Block Device is a distributed storage system for the Linux platform
- ATA over Ethernet: send ATA commands over Ethernet
- USB/IP: A protocol that provides network access to USB devices via IP.[4][5]
External links
- Linux Szablon:SourceForge: protocol standard and canonical client and server
- nbdkit is a plugin-based NBD server and libnbd is a high-performance C client
- Szablon:Github using GEOM
- qemu-nbd A nbd tool from qemu project
- xNBD is another NBD server program for Linux
- BNBD is an alternative NBD server implementation
- The Network Block Device, the Linux Journal