Przejdź do zawartości

Wikipedysta:Shirrapal/brudnopis

Z Wikipedii, wolnej encyklopedii
To jest stara wersja tej strony, edytowana przez Shirrapal (dyskusja | edycje) o 19:13, 13 wrz 2023. Może się ona znacząco różnić od aktualnej wersji.

Szablon:Krótki opis

Hexdump of the Initialization / Handshake between a Network Block Device client and server

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]

References

Szablon:Reflist