NetWorker: Risoluzione dei problemi di ordinamento delle unità della libreria a nastro
Résumé: Questo articolo descrive un problema noto delle librerie a nastro in un'ambiente SAN che causa la modifica dei nomi dei dispositivi da parte del sistema operativo, con conseguenti errori delle applicazioni. ...
Symptômes
In un sistema operativo Plug 'N Play, ai dispositivi vengono assegnati indirizzi di destinazione SCSI nell'ordine di rilevamento.
Poiché l'ordine di rilevamento della SAN varia e la perdita di connettività attiva la rimappatura Plug-and-Play, i numeri di destinazione cambiano e non possono rimanere fissi.
La tecnologia plug-and-play rinomina i dispositivi in base all'ordine di enumerazione, pertanto qualsiasi interruzione intenzionale o accidentale della connessione può causare la riassegnazione di nuovi nomi ai dispositivi.
Un problema di "ordinamento delle unità" descrive una condizione in cui il nome driver configurato da NetWorker per un dispositivo non corrisponde al nome effettivo. Nella maggior parte dei casi, ciò è dovuto alla modifica del nome del driver nel sistema operativo dopo la configurazione iniziale della libreria NetWorker. Si tratta in genere di un problema del sistema operativo Plug 'N Play, che interessa Windows e Linux.
Esistono molti errori e condizioni associati a questo problema, tra cui, a titolo esemplificativo ma non esaustivo:
- Errore: '
nsrd: media info: failed unloading drive `{driver handle}' to slot {slot number}, error '69'' - Errore: '
{hostname} the destination component full' - Errore: '
{driver handle} read open error, no such device or address' - Errore: '
opening: I/O error' - Errore: '
nsrd: Jukebox '{jukebox}' failed: expected volume '{volid}' got {volid}' - Errore: '
nsrd: Jukebox '{jukebox}' failed: expected volume '(volume_name)' got 'NULL'' - Errore: '
read open error, device not ready' - Errore: '
nsrjb: Jukebox error, All allocated drives are not usable, unrecoverable operation errors' - Errore: '
nsrd: Jukebox '{jukebox}' failed: expected volume '{volid}' got {volid}' - Errore: '
nsrd: Jukebox '{jukebox}' failed: expected volume '{volume}' got 'NULL'' - Errore: '
read open error, device not ready' - Errore: '
nsrjb: Jukebox error, All allocated drives are not usable, unrecoverable operation errors' - Errore: '
nsrd: media warning: {driver handle} reading: read open error: No media in drive.' - Errore: '
inventory: Bar code label `{barcode}' does not match media db bar code label, updating media db' - Errore: '
Illegal request, medium not present' - Errore: '
nsrd: media info: failed unloading drive `{driver handle}' to slot {slot number}'
Cause
NetWorker crea l'oggetto libreria durante la configurazione iniziale, collegando le unità nastro agli handle dei dispositivi generati dal sistema operativo di cui dispongono in quel momento. Si tratta di un'associazione statica che riflette la relazione al momento della configurazione. Ad esempio, una libreria può avere due dispositivi:
Unità fisica 1 = \\.\Tape0 (o forse /dev/nst0 in Linux)
Unità fisica 2 = \\.\Tape1 (oppure /dev/nst1)
Nei sistemi Plug-and-Play come Windows o Linux, la scomparsa di qualsiasi dispositivo, inclusi i riavvii o le modifiche alla connettività, può costringere il sistema operativo a rinominare i dispositivi. Soprattutto in una SAN, dove il rilevamento dei dispositivi potrebbe essere disordinato, i dispositivi potrebbero essere denominati in modo diverso al riavvio successivo, ad esempio, in contrasto con quanto sopra:
Unità fisica 1 = \\.\Tape1 or /dev/nst1
Unità fisica 2 = \\.\Tape0 or /dev/nst0
I comandi per questi dispositivi potrebbero continuare a funzionare, supponendo che ci sia un dispositivo che utilizza il nome desiderato. NetWorker perde traccia dei nomi dei dispositivi perché le associazioni driver-handle della libreria non corrispondono più agli elementi fisici dopo che il sistema operativo ha rinominato i dispositivi. Ad esempio, NetWorker può caricare una cartuccia a nastro in un unità, ma utilizzare un nome di dispositivo obsoleto ed errato, emettendo comandi sull'unità sbagliata dopo la ridenominazione del sistema operativo. Ciò può causare un'ampia gamma di errori, supponendo che venga trovato un volume imprevisto (o che non ne venga trovato affatto). Le possibili cause delle condizioni di ordinamento delle unità sono diverse:
- Configurazione manuale errata della libreria tramite
jbconfigoppurejbeditComandi - Riavvio dell host, della scheda di storage, dell hardware di connettività dello storage o delle periferiche a nastro
- Perdita temporanea della connettività a un dispositivo
- Disabilitazione e riabilitazione del dispositivo nel sistema operativo
- Aggiornamenti del sistema operativo
- Aggiornamenti dei driver del dispositivo o della scheda di storage
Résolution
Denominazione persistente:
Questa è considerata una best practice e può essere consigliata dal supporto anche se non si verificano problemi per proteggersi in modo proattivo. Utilizzare le informazioni contenute negli articoli seguenti:
- Implementing Tape Device Name application resilience for Windows
- Implementazione della resilienza delle applicazioni con nome periferica a nastro per Linux
Informations supplémentaires
Riconfigurazione
manualeSe non è possibile abilitare immediatamente la resilienza delle applicazioni e riconfigurare la libreria, è possibile prendere in considerazione diverse alternative manuali:
- Riconfigurazione NMC: È possibile aggiornare la configurazione di NetWorker utilizzando l'opzione Reconfigure dell'istanza Library per rimuovere le definizioni di dispositivo per tutti i dispositivi interessati, quindi eliminando le istanze di periferiche a nastro rimanenti dal container Devices , prima di eseguire nuovamente la scansione e riconfigurarle con i nuovi nomi corretti.
jbconfig: Questi comandi fanno ancora parte della suite NetWorker, ma non sono più utilizzati e richiedono una conoscenza più avanzata di NetWorker, nonché delle librerie a nastro e delle tecnologie di trasporto dello storage.- Per iniziare da zero, utilizza
jbconfigPer il controllo della creazione manuale delle librerie: Come configurare manualmente una libreria a nastro NetWorker utilizzando il comando jbconfig
- Per iniziare da zero, utilizza
- Ridenominazione forzata: Potrebbe essere possibile disabilitare o eliminare i dispositivi e leggerli/riabilitarli nell'ordine corrispondente alla configurazione corrente in NetWorker. Ad esempio, in un semplice scenario di Windows per quelli sopra riportati, si potrebbero disabilitare entrambi i dispositivi, riabilitando prima l'istanza configurata come Tape0 in NetWorker, per forzare il sistema operativo a denominare nuovamente il dispositivo Tape0. La metodologia Linux sarebbe simile, ma utilizzando il file /proc/scsi/scsi per eliminare direttamente e ripetere la scansione dei dispositivi.