Spis treści
Network block device
Network block device (w skrócie NBD, dosł. z ang. sieciowe urządzenie blokowe) - sieciowy protokół komunikacyjny pozwalający na zdalny zapis i odczyt urządzenia blokowego (zwykle twardego dysku, partycji lub wolumenu logicznego) udostępnianego innym komputerom za pośrednictwem sieci komputerowej TCP/IP.
Angielski termin network block device jest także czasem używany bardziej ogólnie, np. w odniesieniu do podobnych technologii dla SAN (jak np. iSCSI).
Historia
[edytuj | edytuj kod]Protokół NBD 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ć.
Charakterystyka
[edytuj | edytuj kod]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 lub 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.
Implementacje
[edytuj | edytuj kod]Oprócz klienta i serwera dla systemu Linux, moduł klienta NBD jest dostępny także 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 uwierzytelnienia. 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]
Przypisy
[edytuj | edytuj kod]- ↑ The Network Block Device | Linux Journal.
- ↑ Documentation/usb/usbip_protocol.txt. kernel.org, 2016-03-21. [dostęp 2023-09-13].
- ↑ USB over IP tunnel. OpenWrt, 2016-06-17. [dostęp 2023-09-13].
Linki zewnętrzne
[edytuj | edytuj kod]- Network Block Device strona projektu NBD
- nbdkit serwer i stowarzyszony libnbd klient NBD
- qemu-nbd program pozwalający udostępnić przez NBD obraz dysku w formacie QEMU
- xNBD serwer NBD dla systemu Linux
- BNBD serwer NBD
- The Network Block Device artykuł o NBD w Linux Journal
- Windows Network Block Device (WNBD) klient NBD dla systemu MS-Windows, będący częścią projektu Ceph for Windows
- NDB server macOS serwer dla MacOs









