Network block device
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]
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