NetWorker: Solución de problemas de pedidos de unidades de biblioteca de cintas
Resumen: En este artículo, se describe un problema conocido relacionado con las bibliotecas de cintas en un entorno SAN, que hace que el sistema operativo cambie los nombres de los dispositivos, lo que provoca fallas en las aplicaciones. ...
Síntomas
En un sistema operativo Plug 'n Play, a los dispositivos se les asignan direcciones de destino SCSI en el orden de descubrimiento.
Debido a que el orden de descubrimiento de SAN varía y la pérdida de conectividad desencadena la reasignación de Plug-and-Play, los números de destino cambian y no pueden permanecer fijos.
Plug-and-Play cambia el nombre de los dispositivos según el orden de enumeración, por lo que cualquier interrupción intencional o accidental de la conexión puede hacer que se reasignen nuevos nombres a los dispositivos.
Un problema de "orden de unidades" describe una condición en la que el nombre de controlador configurado de NetWorker para un dispositivo no coincide con el nombre real. Por lo general, esto se debe a que el nombre del controlador cambia en el sistema operativo después de la configuración inicial de NetWorker Library. Por lo general, se trata de un problema del sistema operativo Plug 'n Play que afecta a Windows y Linux.
Hay muchos errores y condiciones asociados con este problema, incluidos, entre otros, los siguientes:
- Error: '
nsrd: media info: failed unloading drive `{driver handle}' to slot {slot number}, error '69'' - Error: '
{hostname} the destination component full' - Error: '
{driver handle} read open error, no such device or address' - Error: '
opening: I/O error' - Error: '
nsrd: Jukebox '{jukebox}' failed: expected volume '{volid}' got {volid}' - Error: '
nsrd: Jukebox '{jukebox}' failed: expected volume '(volume_name)' got 'NULL'' - Error: '
read open error, device not ready' - Error: '
nsrjb: Jukebox error, All allocated drives are not usable, unrecoverable operation errors' - Error: '
nsrd: Jukebox '{jukebox}' failed: expected volume '{volid}' got {volid}' - Error: '
nsrd: Jukebox '{jukebox}' failed: expected volume '{volume}' got 'NULL'' - Error: '
read open error, device not ready' - Error: '
nsrjb: Jukebox error, All allocated drives are not usable, unrecoverable operation errors' - Error: '
nsrd: media warning: {driver handle} reading: read open error: No media in drive.' - Error: '
inventory: Bar code label `{barcode}' does not match media db bar code label, updating media db' - Error: '
Illegal request, medium not present' - Error: '
nsrd: media info: failed unloading drive `{driver handle}' to slot {slot number}'
Causa
NetWorker crea el objeto de biblioteca durante la configuración inicial, vinculando las unidades de cinta a los identificadores de dispositivo generados por el sistema operativo que tienen en ese momento. Es una asociación estática que refleja la relación en el momento de la configuración. Por ejemplo, una librería puede tener dos dispositivos:
Unidad física 1 = \\.\Tape0 (o tal vez /dev/nst0 en Linux)
Unidad física 2 = \\.\Tape1 (o /dev/nst1En
los sistemas Plug-and-Play como Windows o Linux, cualquier desaparición de dispositivos, incluidos los reinicios o los cambios de conectividad, puede hacer que el sistema operativo cambie el nombre de los dispositivos. Especialmente en una SAN, donde la detección de dispositivos puede estar desordenada, los dispositivos pueden tener un nombre diferente en el próximo reinicio, por ejemplo, en contraste con lo anterior:
Unidad física 1 = \\.\Tape1 or /dev/nst1
Unidad física 2 = \\.\Tape0 or /dev/nst0
Es posible que los comandos a estos dispositivos sigan funcionando, suponiendo que hay algún dispositivo que utilice el nombre deseado. NetWorker pierde el seguimiento de los nombres de dispositivos porque las asociaciones de identificador de controlador de la librería ya no coinciden con los elementos físicos después de que el sistema operativo cambia el nombre de los dispositivos. Por ejemplo, NetWorker puede cargar un cartucho de cinta en una unidad, pero usar un nombre de dispositivo obsoleto e incorrecto, lo que emite comandos a la unidad incorrecta después del cambio de nombre del SO. Esto puede dar lugar a una amplia variedad de errores, suponiendo que se encuentre un volumen inesperado (o ninguno). Hay muchas causas posibles de las condiciones de pedido de unidad:
- Configuración incorrecta manual de la biblioteca mediante
jbconfigojbeditComandos - Reinicio del host, el adaptador de almacenamiento, el hardware de conectividad de almacenamiento o los dispositivos de cinta
- Pérdida temporal de conectividad con un dispositivo
- Desactivación y reactivación del dispositivo en el sistema operativo
- Actualizaciones del sistema operativo
- Actualizaciones de controladores de dispositivos o adaptadores de almacenamiento
Resolución
Nomenclatura persistente:
Esto se considera una práctica recomendada y el soporte puede recomendarlo incluso si no tiene problemas para protegerlo proactivamente. Utilice la información de los siguientes artículos:
- Implementación de la resiliencia de las aplicaciones de nombre de dispositivo de cinta para Windows
- Implementación de la resiliencia de las aplicaciones de nombre de dispositivo de cinta para Linux
Información adicional
Reconfiguración
manualSi no puede habilitar inmediatamente la resiliencia de las aplicaciones y volver a configurar la biblioteca, hay varias alternativas manuales que se pueden considerar:
- Reconfiguración de NMC: Puede actualizar la configuración de NetWorker mediante la opción Reconfigurar de la instancia de librería para eliminar las definiciones de dispositivo para todos los dispositivos afectados y, a continuación, eliminar las instancias de dispositivo de cinta sobrantes del contenedor de dispositivos antes de volver a escanear y reconfigurar con los nuevos nombres corregidos.
jbconfigel comando: Estos comandos aún forman parte del conjunto de NetWorker, pero ya no se utilizan y requieren conocimientos más avanzados de NetWorker, así como de las tecnologías de transporte de almacenamiento y biblioteca de cintas.- Para empezar desde cero, utilice
jbconfigPara el control de creación manual de bibliotecas: Cómo configurar manualmente una biblioteca de cintas de NetWorker mediante el comando jbconfig
- Para empezar desde cero, utilice
- Cambio de nombre forzado: Es posible deshabilitar o eliminar dispositivos y volver a agregarlos o volver a habilitarlos en el orden correspondiente a su configuración actual en NetWorker. Por ejemplo, en un escenario simple de Windows para lo anterior, se podrían deshabilitar ambos dispositivos y volver a habilitar primero la instancia configurada como Tape0 en NetWorker para forzar al sistema operativo a asignar a ese dispositivo el nombre Tape0 una vez más. La metodología de Linux sería similar, pero con el uso del archivo /proc/scsi/scsi para eliminar y reexaminar los dispositivos directamente.