
En Linux , el protocolo de red NBD ( Network Block Device ) permite reenviar un dispositivo de bloques (normalmente un disco duro o una partición) de una máquina a otra. Por ejemplo, una máquina local puede acceder a un disco duro conectado a otro ordenador.
Descripción general
El protocolo se desarrolló originalmente para Linux 2.1.55 y se publicó en 1997. [ 1 ] En 2011, el protocolo se revisó, se documentó formalmente y ahora se desarrolla como un estándar abierto colaborativo . Existen varios clientes y servidores interoperables .
Existen implementaciones de NBD compatibles con Linux para FreeBSD y otros sistemas operativos. El término «dispositivo de bloques de red» también se utiliza a veces de forma genérica.
Técnicamente, un dispositivo de bloques de red se compone de tres elementos: el servidor, el cliente y la red que los conecta. En la máquina cliente, que utiliza el nodo del dispositivo exportado, un controlador del kernel implementa un dispositivo virtual. Cuando un programa intenta acceder al dispositivo, el controlador del kernel reenvía la solicitud (si el cliente no está completamente implementado en el kernel, se puede hacer mediante un programa en el espacio de usuario ) a la máquina servidora, donde residen físicamente los datos. En la máquina servidora, las solicitudes del cliente son gestionadas por un programa en el espacio de usuario.
Los servidores de dispositivos de bloques de red (NDD) suelen implementarse como programas en el espacio de usuario que se ejecutan en un ordenador de propósito general. Todas las funciones específicas de los NDD pueden residir en un proceso en el espacio de usuario, ya que este se comunica con el cliente mediante sockets convencionales y accede al almacenamiento a través de una interfaz de sistema de archivos convencional .
El módulo cliente del dispositivo de bloques de red está disponible en sistemas operativos tipo Unix , incluido Linux.
Protocolos alternativos
- iSCSI : El paquete "target-utils" de iSCSI en muchas distribuciones de Linux .
- NVMe-oF : un mecanismo equivalente que expone los dispositivos de bloques como espacios de nombres NVMe a través de 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 la red a dispositivos USB a través de IP. [ 2 ] [ 3 ]
Referencias
- ↑ "El dispositivo de bloques de red | Linux Journal" .
- ↑ "Documentation/usb/usbip_protocol.txt" . kernel.org . 21-03-2016 . Consultado el 09-04-2017 .
- ↑ "Túnel USB sobre IP" . OpenWrt . 17 de junio de 2016. Consultado el 9 de abril de 2017 .
Enlaces externos
- Dispositivo de bloque de red en GitHub
- nbdkit es un servidor NBD basado en complementos y libnbd es un cliente C de alto rendimiento.
- qemu-nbd Una herramienta nbd del proyecto qemu
- BNBD es una implementación alternativa del servidor NBD.
- xNBD era otro programa servidor NBD para Linux.
- El dispositivo de bloques de red , la revista Linux
- redes informáticas
- Tecnologías de almacenamiento informático
- Características del kernel de Linux