Dispositivo de bloqueo de red - Enciclopedia

En Linux, el dispositivo de bloque de red (NBD) es un protocolo de red que se puede utilizar para enviar un dispositivo de bloque (generalmente un disco duro o una partición) de una máquina a otra. Por ejemplo, una máquina local puede acceder a una unidad de disco duro que está conectada a otro ordenador.

Resumen
El protocolo se desarrolló originalmente para Linux 2.1.55 y se lanzó en 1997. En 2011, el protocolo fue revisado, documentado formalmente y ahora se desarrolla como un estándar abierto colaborativo. Hay varios clientes y servidores interoperables.
Existen implementaciones compatibles con Linux para FreeBSD y otros sistemas operativos. El término 'dispositivo de bloque de red' se utiliza a veces de manera genérica.
Técnicamente, un dispositivo de bloque de red se realiza mediante tres componentes: la parte del servidor, la parte del cliente y la red entre ellos. En la máquina del cliente, que utiliza el nodo de dispositivo exportado, un controlador de kernel implementa un dispositivo virtual. Siempre que un programa intente acceder al dispositivo, el controlador de kernel reenvía la solicitud (si la parte del cliente no está completamente implementada en el kernel, se puede hacer con la ayuda de un programa del espacio de usuarios) al servidor de la máquina, en el que los datos se almacenan físicamente. En el servidor de la máquina, se manejan las solicitudes del cliente con un programa del espacio de usuarios.
Los servidores de dispositivo de bloque de red se implementan típicamente como un programa del espacio de usuarios ejecutándose en una computadora de propósito general. Todas las funciones específicas de los servidores de dispositivo de bloque de red pueden residir en un proceso del espacio de usuarios porque el proceso se comunica con el cliente a través de sockets convencionales y accede al almacenamiento a través de una interfaz de sistema de archivos convencional.
El módulo de cliente de dispositivo de bloque de red está disponible en sistemas operativos similares a Unix, incluyendo Linux.


Protocolos alternativos
iSCSI: El paquete "target-utils" iscsi en muchas distribuciones de Linux.
NVMe-oF: un mecanismo equivalente, que expone dispositivos de bloque como espacios de nombres NVMe sobre TCP, Fibre Channel, RDMA, etc., nativo de la mayoría de los sistemas operativos
Dispositivo de bucle: un mecanismo similar, pero utiliza un archivo local en lugar de uno remoto
DRBD: Distributed Replicated Block Device es un sistema de almacenamiento distribuido para la plataforma Linux
ATA sobre Ethernet: enviar comandos ATA a través de Ethernet
USB/IP: Un protocolo que proporciona acceso a dispositivos USB a través de IP.


Referencias


Enlaces externos
Dispositivo de bloque de red en GitHub
nbdkit es un servidor NBD basado en plugins y libnbd es un cliente C de alto rendimiento
qemu-nbd: una herramienta NBD del proyecto qemu
BNBD es una implementación alternativa de servidor NBD
xNBD fue otro programa de servidor NBD para Linux
El Dispositivo de Bloque de Red, la revista Linux