De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

DRBD es un sistema de almacenamiento replicado distribuido para la plataforma Linux . Se implementa como un controlador de kernel, varias aplicaciones de administración del espacio de usuario y algunos scripts de shell . DRBD se usa tradicionalmente en clústeres de computadoras de alta disponibilidad (HA) , pero a partir de la versión 9 de DRBD, también se puede usar para crear grupos de almacenamiento definidos por software más grandes con un enfoque en la integración en la nube. [2]

Un dispositivo DRBD es un dispositivo de bloque DRBD que se refiere a un dispositivo de bloque lógico en un esquema de volumen lógico.

El software DRBD es un software gratuito publicado bajo los términos de la licencia pública general GNU versión 2.

DRBD es parte de la iniciativa de pila de código abierto Lisog .

Modo de funcionamiento [ editar ]

DRBD coloca en capas dispositivos de bloques lógicos (denominados convencionalmente / dev / drbd X , donde X es el número menor del dispositivo) sobre los dispositivos de bloques locales existentes en los nodos del clúster participantes. Las escrituras en el nodo principal se transfieren al dispositivo de bloque de nivel inferior y se propagan simultáneamente a los nodos secundarios . A continuación, el nodo o los nodos secundarios transfieren datos a su correspondiente dispositivo de bloque de nivel inferior. Todas las E / S de lectura se realizan localmente a menos que se configure el equilibrio de lectura. [3]

Si el nodo primario falla, un proceso de administración de clúster promueve el nodo secundario a un estado primario. [4] Esta transición puede requerir una verificación posterior de la integridad del sistema de archivos apilado sobre DRBD, mediante una verificación del sistema de archivos o una reproducción del diario . Cuando el ex-nodo primario fallido regresa, el sistema puede (o no) elevarlo al nivel primario nuevamente, después de la resincronización de los datos del dispositivo. El algoritmo de sincronización de DRBD es eficiente en el sentido de que solo se deben resincronizar los bloques que se cambiaron durante la interrupción, en lugar del dispositivo en su totalidad.

DRBD a menudo se implementa junto con los administradores de recursos del clúster Pacemaker o Heartbeat , aunque se integra con otros marcos de administración del clúster. Se integra con soluciones de virtualización como Xen y se puede utilizar tanto debajo como encima de la pila LVM de Linux . [5]

DRBD permite configuraciones de equilibrio de carga , lo que permite que ambos nodos accedan a un DRBD particular en modo de lectura / escritura con semántica de almacenamiento compartido . [6] Una configuración primaria múltiple (múltiples nodos de lectura / escritura) requiere el uso de un administrador de bloqueo distribuido .

Comparación de almacenamiento de clúster compartido [ editar ]

Los sistemas de clúster de computadoras convencionales suelen utilizar algún tipo de almacenamiento compartido para los datos que utilizan los recursos del clúster. Este enfoque tiene una serie de desventajas, que DRBD puede ayudar a compensar:

  • Por lo general, se debe acceder a los recursos de almacenamiento compartido a través de una red de área de almacenamiento o en un servidor de almacenamiento conectado a la red , lo que crea una sobrecarga en las E / S de lectura . En DRBD, esa sobrecarga se reduce ya que todas las operaciones de lectura se llevan a cabo localmente. [ cita requerida ]
  • El almacenamiento compartido suele ser caro y consume más espacio (2U y más) y energía. DRBD permite una configuración HA con solo 2 máquinas.
  • El almacenamiento compartido no tiene necesariamente una alta disponibilidad. Por ejemplo, una sola red de área de almacenamiento a la que acceden varios hosts de virtualización se considera almacenamiento compartido, pero no se considera altamente disponible a nivel de almacenamiento; si esa única red de área de almacenamiento falla, ninguno de los hosts dentro del clúster puede acceder al almacenamiento compartido. DRBD permite un destino de almacenamiento compartido y de alta disponibilidad.

Una desventaja es el menor tiempo necesario para escribir directamente en un dispositivo de almacenamiento compartido que para enrutar la escritura a través del otro nodo.

Comparación con RAID-1 [ editar ]

DRBD tiene una similitud superficial con RAID-1 en el sentido de que implica una copia de datos en dos dispositivos de almacenamiento, de modo que si uno falla, se pueden utilizar los datos del otro. Sin embargo, funciona de forma muy diferente a RAID e incluso a RAID de red.

En RAID, la redundancia existe en una capa transparente para la aplicación que utiliza el almacenamiento. Si bien hay dos dispositivos de almacenamiento, solo hay una instancia de la aplicación y la aplicación no reconoce varias copias. Cuando la aplicación lee, la capa RAID elige el dispositivo de almacenamiento para leer. Cuando falla un dispositivo de almacenamiento, la capa RAID elige leer el otro, sin que la instancia de la aplicación sepa del error.

Por el contrario, con DRBD hay dos instancias de la aplicación y cada una puede leer solo desde uno de los dos dispositivos de almacenamiento. Si un dispositivo de almacenamiento falla, la instancia de la aplicación vinculada a ese dispositivo ya no puede leer los datos. En consecuencia, en ese caso, la instancia de la aplicación se cierra y la otra instancia de la aplicación, vinculada a la copia superviviente de los datos, se hace cargo.

Por el contrario, en RAID, si la única instancia de la aplicación falla, la información en los dos dispositivos de almacenamiento es efectivamente inutilizable, pero en DRBD, la otra instancia de la aplicación puede tomar el control.

Aplicaciones [ editar ]

Al operar dentro de la capa de bloques del kernel de Linux, DRBD es esencialmente independiente de la carga de trabajo. Un DRBD se puede utilizar como base de:

  • Un sistema de archivos convencional (este es el ejemplo canónico),
  • un sistema de archivos de disco compartido como GFS2 u OCFS2 , [7] [8]
  • otro dispositivo de bloque lógico (como se usa en LVM , por ejemplo),
  • cualquier aplicación que requiera acceso directo a un dispositivo de bloque.

Los clústeres basados ​​en DRBD a menudo se emplean para agregar replicación síncrona y alta disponibilidad a servidores de archivos , bases de datos relacionales (como MySQL ) y muchas otras cargas de trabajo.

Inclusión en el kernel de Linux [ editar ]

Los autores de DRBD enviaron originalmente el software a la comunidad del kernel de Linux en julio de 2007, para su posible inclusión en la versión canónica kernel.org del kernel de Linux. [9] Después de una extensa revisión y varias discusiones, Linus Torvalds acordó tener DRBD como parte del kernel oficial de Linux. DRBD se fusionó el 8 de diciembre de 2009 durante la "ventana de fusión" para la versión 2.6.33 del kernel de Linux.

Ver también [ editar ]

  • Almacenamiento de alta disponibilidad
  • Clúster de alta disponibilidad
  • Duplicación de disco

Referencias [ editar ]

  1. ^ a b "Lanzamientos · LINBIT / drbd" . github.com . Consultado el 4 de abril de 2021 .
  2. ^ "DRBD para su nube" . www.drbd.org . Consultado el 5 de diciembre de 2016 .
  3. ^ "18.4. Lograr un mejor rendimiento de lectura mediante una mayor redundancia - Guía de usuarios de DRBD (9.0)" . www.drbd.org . Consultado el 5 de diciembre de 2016 .
  4. ^ "Capítulo 8. Integración de DRBD con clústeres de marcapasos - Guía de usuarios de DRBD (9.0)" . www.drbd.org . Consultado el 5 de diciembre de 2016 .
  5. ^ LINBIT. "La Guía del usuario de DRBD" . Consultado el 28 de noviembre de 2011 .
  6. Reisner, Philipp (11 de octubre de 2005). "DRBD v8 - Almacenamiento replicado con semántica de disco compartido" (PDF) . Actas de la 12ª Conferencia Internacional de Tecnología de Sistemas Linux . Hamburgo, Alemania.
  7. ^ http://www.drbd.org/users-guide/ch-ocfs2.html
  8. ^ "Copia archivada" . Archivado desde el original el 8 de marzo de 2013 . Consultado el 21 de marzo de 2013 .Mantenimiento de CS1: copia archivada como título ( enlace )
  9. Ellenberg, Lars (21 de julio de 2007). "DRBD quiere pasar a la línea principal" . linux-kernel (lista de correo) . Consultado el 3 de agosto de 2007 .

Enlaces externos [ editar ]

  • Página web oficial
  • LINBIT
  • Sitio web del proyecto Linux de alta disponibilidad