Capítulo 3. Dispositivo GNBD y uso de comando
El dispositivo de bloque de red global (GNBD) permite al nodo exportar su almacenaje local como GNBD en una red para que otros nodos en la red puedan compartir el almacenaje. Los nodos de cliente que importan el GNBD lo utilizan como cualquier otro dispositivo de bloque. La importación de un GNBD en múltiples clientes forma una configuración de almacenaje compartido a través del cual se puede utilizar GFS.
El controlador GNBD se implementa mediante los siguientes componentes.
gnbd_serv
— Implementa el servidor GNBD. Es un demonio usuario-espacio que permite al nodo exportar el almacenaje local a través de una red.gnbd.ko
— Implementa el controlador de dispositivo GNBD en clientes de GNBD (nodos que utilizan dispositivos GNBD).
Dos comandos de usuario están disponibles para configurar GNBD:
3.1. Cómo exportar un GNBD desde un servidor
El demonio
gnbd_serv
debe estar ejecutándose en un nodo antes de que pueda exportar almacenaje como un GNBD. Se puede iniciar el demonio gnbd_serv
ejecutando gnbd_serv
así:
#gnbd_serv
gnbd_serv: startup succeeded
Una vez identificado el almacenaje local, se utiliza el comando
gnbd_export
para exportarlo.
Nota
Al configurar servidores de GNBD con un dispositivo multirutas de mapeo, no debe utilizar la página de caché. Todos los GNBD que conforman el volumen lógico deben ejecutarse con la cache desactivada. Por defecto, el comando
gnbd_export
se exporta con la memoria cache apagada.
Nota
Un servidor no debe importar los GNBD para utilizarlos como el cliente lo haría. Si un servidor exporta los dispositivos sin ponerlos en memoria cache, los dispositivos subyacentes pueden también ser utilizados por
gfs
.
Uso
gnbd_export -d
pathname
-e
gnbdname
[-c
][-u
][-U
pathname
- Especifica un dispositivo de almacenamiento para exportar.
gnbdname
- Especifica un nombre arbitrario seleccionado para el GNBD. Se utiliza como el nombre de dispositivo en clientes GNBD. Este nombre debe ser único entre todos los GNBD exportados en una red.
-o
- Exporta el dispositivo como solo-lectura.
-c
- Habilita la memoria cache. Lee desde el GNBD exportado y aprovecha la cache de página de Linux.Por defecto, el comando
gnbd_export
no habilita cache.Nota
Al configurar servidores GNBD con dispositivos multirutas de mapeo, no especifique la opción-c
. Todos los GNBD que conforman un volumen lógico deben ejecutarse con cache desactivada.Nota
Si ha estado utilizando GFS 5.2 o anteriores y no desea cambiar la configuración de GNBD debe especificar la opción-c
. Antes de la versión GFS 5.2.1, Linux cache era activada por defecto paragnbd_export
. Si la opción-c
no se especifica, GNBD se ejecuta con una disminución de rendimiento notable. Además, si la opción-c
no se especifica, el GNBD exportado se ejecuta en modo de tiempo de espera, mediante el valor de tiempo de espera predeterminado (la opción-t
). Para mayor información sobre el comandognbd_export
y sus opciones, consulte la página de manualgnbd_export
. -u
uid
- Establece manualmente el identificador universal para un dispositivo exportado. Esta opción se utiliza con
-e
. El UID es utilizado por el dispositivo multirutas de mapeo para determinar qué dispositivos pertenecen a un mapa multirutas. Un dispositivo debe tener un UID para ser multienrutado. Sin embargo, para la mayoría de los dispositivos SCSI el comando predeterminado Get UID,/usr/sbin/gnbd_get_uid
, devolverá un valor apropiado.Nota
UID se refiere al dispositivo que está siendo exportado, no al propio GNBD. Los UID de dos dispositivos GNBD deben ser iguales, sólo si están exportando el mismo dispositivo subyacente. Esto significa que ambos servidores GNBD están conectados al mismo dispositivo físico.Nota
Esta opción debe únicamente utilizarse para exportar dispositivos de almacenamiento compartido, cuando la opción-U
command
no funciona. Esto no debería suceder casi nunca a los dispositivos SCSI. Si dos dispositivos de GNBD no están exportando el mismo dispositivo subyacente, pero se les ha dado el mismo UID, se presentará corrupción de datos. -U
Command
- Obtiene el comando UID. El comando
gnbd_export
se ejecutará para obtener un identificador universal para el dispositivo exportado. El UID se necesita para usar el dispositivo multirutas de mapeo con GNBD. El comando debe usar la ruta completa de cualquier ejecutable que se desee ejecutar. Un comando puede contener las secuencias de escape %M, %m ó %n. %M se expandirá al número mayor del dispositivo exportado, %m se expandirá al número menor del dispositivo exportado y %n se expandirá al nombresysfs
para el dispositivo. Si no se da ningún comando, GNBD usará el comando predeterminado/usr/sbin/gnbd_get_uid
. Este comando funcionará para la mayoría de los dispositivos SCSI.
Ejemplos
Este ejemplo es para un servidor de GNBD configurado con multirutas GNBD. Exporta el dispositivo
/dev/sdc2
como GNBD gamma
. Cache se desactiva por defecto.
gnbd_export -d /dev/sdc2 -e gamma -U
Este ejemplo es para un servidor de GNBD no configurado con multirutas GNBD. Éste exporta el dispositivo
/dev/sdb2
como GNBD delta
con cache activada.
gnbd_export -d /dev/sdb1 -e delta -c
Este ejemplo exporta el dispositivo
/dev/sdb2
como GNBD delta
con cache activada.
gnbd_export -d /dev/sdb2 -e delta -c