NFS vs. NBD – Zdalny dostęp do danych w Linuksie: różnice, konfiguracja i zastosowanie

W środowiskach serwerowych i systemach wbudowanych bardzo często zachodzi potrzeba zdalnego udostępniania danych lub przestrzeni dyskowej. W świecie Linuksa istnieją dwa popularne podejścia: NFS (Network File System) oraz NBD (Network Block Device). Mimo podobnego celu – udostępniania danych przez sieć – działają one zupełnie inaczej.

W tym artykule pokażemy, czym różnią się NFS i NBD, kiedy warto ich używać, i jak je skonfigurować – zarówno po stronie serwera, jak i klienta.


Czym jest NFS?

NFS (Network File System) to protokół opracowany przez Sun Microsystems, który umożliwia zdalne montowanie systemu plików. Dzięki NFS użytkownik może korzystać z plików znajdujących się na innym komputerze tak, jakby były lokalne.

Instalacja i konfiguracja NFS

🔹 Serwer NFS

Edytujemy plik /etc/exports:

Następnie:

🔹 Klient NFS

Aby montować automatycznie przy starcie systemu, dodajemy do /etc/fstab:


Czym jest NBD?

NBD (Network Block Device) to inny sposób udostępniania danych – na poziomie bloków, a nie plików. Działa bardziej jak wirtualny zdalny dysk niż katalog sieciowy. Umożliwia klientowi dostęp do całej zdalnej partycji lub obrazu dysku tak, jakby był to lokalny dysk.

To idealne rozwiązanie m.in. do systemów rootfs przez sieć, backupów, klastrów czy rozproszonego RAID.


Konfiguracja NBD

🔹 Serwer (nbd-server)

Przykład konfiguracji /etc/nbd-server/config:

Uruchamiamy serwer:

🔹 Klient (nbd-client)

Odłączenie:


NFS vs. NBD – Kiedy używać?

CechaNFSNBD
Poziom działaniaPlikowyBlokowy (urządzenia)
Typ dostępuPliki i katalogiCałe partycje lub obrazy dysków
MontowanieJako system plikówJako urządzenie blokowe (/dev/nbdX)
Typowe zastosowaniaUdostępnianie katalogówRemote rootfs, RAID, backup
WydajnośćDobra przy wielu małych plikachLepsza przy dużych, ciągłych danych
Protokół i portNFS (port 2049)TCP (domyślnie port 10809)

Przewijanie do góry