Network block device

Z Wikipedii, wolnej encyklopedii

W systemie operacyjnym Linux network block device (NBD) jest protokołem sieciowym pozwalającym na udostępnianie urządzenia blokowego (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ć.

Angielski termin network block device (z ang. sieciowe urządzenie blokowe) jest także czasem używany 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.

Moduł klienta NBD, oprócz Linuxa, jest dostępny dla systemów: FreeBSD, GNU Hurd, Plan 9 oraz MS-Windows.

Serwer, będąc programem działającym w przestrzeni użytkownika, może potencjalnie działać na dowolnej platformie systemowej zgodnej ze standardem POSIX.

Alternatywne protokoły[edytuj | edytuj kod]

  • iSCSI: standard i protokół zdalnego dostępu do urządzeń blokowych, wywodzący swój zestaw komend ze standardu SCSI. Bardziej złożony i skomplikowany od NBD, posiada np. mechanizmy autentykacji. Wspierany przez wiele firm, które oferują rozwiązania zarówno sprzętowe jak i programowe. Istnieją też implementacje open source.
  • NVMe-oF (ang. NVM Express over Fabrics) - mechanizm zdalnego dostępu do urządzeń NVM Express, w szczególności dysków SSD
  • Loop device: mechanism umożliwiający dostęp do dowolnego pliku tak jakby był on urządzeniem blokowym (umożliwia np. dostęp do zawartości obrazów dysków, płyt CD itp.)
  • DRBD: (ang. Distributed Replicated Block Device) rozproszony system składowania danych dla systemu Linux
  • ATA over Ethernet (AoE): bazujący na ATA mechanizm zdalnego udostępniania dysków przez sieć Ethernet
  • USB/IP: protokół zapewniający zdalny dostęp do urządzeń USB poprzez protokół IP.[2][3]

Linki zewnętrzne[edytuj | edytuj kod]

Przypisy[edytuj | edytuj kod]

  1. The Network Block Device | Linux Journal.
  2. Documentation/usb/usbip_protocol.txt. kernel.org], 2016-03-21. [dostęp 2023-09-13].
  3. USB over IP tunnel. OpenWrt, 2016-06-17. [dostęp 2023-09-13].