Il comando formattazione Solaris ha esito negativo con Warning: error setting drive geometry. Avvertenza: errore durante la scrittura del VTOC. Etichetta guasta.
Summary: Impossibile formattare i dispositivi appena assegnati sotto il controllo di PowerPath. Quando il nome dello pseudo device viene fornito come argomento del comando format, il dispositivo non viene trovato... e quando il dispositivo viene selezionato in base ai suoi nomi nativi, il comando format fallisce con Warning: error setting drive geometry. Avvertenza: errore durante la scrittura del VTOC. Etichetta guasta. ...
Symptoms
Oppure sono stati aggiunti dispositivi alla configurazione e in seguito si è verificato un errore irreversibile, lasciando l'archivio di avvio non coerente.
ambiente: Software EMC Solaris 10 o Solaris 11
: PowerPath for Solaris (qualsiasi versione)
# format emcpower0a
Nessun disco trovato!
# formato
...
Specificare il disco (immettere il relativo numero): 165 selezione c1t500009792318B960d42
[formattato disco]
formatta> p
etichetta partizione
> Pronto per etichettare il disco, continuare? y
Avvertenza: errore durante l'impostazione della geometria dell'unità.
Avvertenza: errore durante la scrittura del VTOC.
Etichetta guasta.
partizione>
Cause
Tutte le voci in /dev/dsk e /dev/rdsk sono corrette... ma non puntano da nessuna parte:
294998 2 lrwxrwxrwx 1 root root 34 Jun 26 12:55 emcpower0 -> .. /.. /devices/pseudo/emcp@0:wd,blk
294997 2 lrwxrwxrwx 1 root root 33 Jun 26 12:55 emcpower0a -> .. /.. /devices/pseudo/emcp@0:a,blk
291378 2 lrwxrwxrwx 1 root root 33 Jun 26 12:55 emcpower0b -> .. /.. /devices/pseudo/emcp@0:b,blk
289256 2 lrwxrwxrwx 1 root root 33 Jun 26 12:55 emcpower0c -> .. /.. /devices/pseudo/emcp@0:c,blk
295005 2 lrwxrwxrwx 1 root root 33 Jun 26 12:55 emcpower0d -> .. /.. /devices/pseudo/emcp@0:d,blk
289257 2 lrwxrwxrwx 1 root root 33 Jun 26 12:55 emcpower0e -> .. /.. /devices/pseudo/emcp@0:e,blk
289258 2 lrwxrwxrwx 1 root root 33 Jun 26 12:55 emcpower0f -> .. /.. /devices/pseudo/emcp@0:f,blk
289259 2 lrwxrwxrwx 1 root root 33 Jun 26 12:55 emcpower0g -> .. /.. /devices/pseudo/emcp@0:g,blk
nessuna voce emcp@0 in /devices/pseudo.
Resolution
La voce in /devices/pseudo deve essere ricreata. Prima di tutto, controlla che il problema non sia causato dalla presenza del pacchetto HPOvPerfAgt. In caso contrario, utilizzare uno dei 4 metodi seguenti. Se il primo metodo ha esito negativo, il secondo metodo dovrebbe avere esito positivo. Nel peggiore dei casi, l'ultimo dovrebbe avere successo.
1) Provare a ricreare le voci EMCP in /devices/pseudo utilizzando il comando
"devfsadm -i emcp"# devfsadm -i emcp
# ls /devices/pseudo/emcp@0 (verificare che le voci ora esistano - si noti che emcp@0 è per emcpower0; per emcpowerXX, cercare emcp@XX)
# bootadm update-archive (per consolidare la modifica alla configurazione nelle informazioni di avvio)
2) Il comando precedente potrebbe non riuscire a creare le nuove voci in /devices. Il comando riportato di seguito si basa sul fatto che, quando viene eseguito correttamente un comando "emcpadm renamepseudo", tutte le voci in /devices vengono ricostruite. Si tratta di un effetto collaterale di questo comando che sarà molto utile per risolvere il problema qui.
Prelevare uno pseudo device inutilizzato (attualmente non montato e parte di un filesystem) che non ha alcun problema (che viene visualizzato nel formato e per il quale esistono voci in /devices). Supponiamo che questo buon pseudo-dispositivo sia emcpower7. Supponiamo che non ci sia emcpower1007 nella configurazione in modo che emcpower1007 sia un possibile nuovo nome. Eseguire :
# emcpadm renamepseudo -s 7 -t 1007
# emcpadm renamepseudo -s 1007 -t 7
# powermt save
# bootadm update-archive
È importante utilizzare uno pseudo device "buono".... e non lo pseudo device che non ha alcuna voce in /devices, altrimenti il comando fallirà (vedere il paragrafo 4 di seguito) e non correggerà le voci /devices.
Con i comandi precedenti, dopo il primo, il problema dovrebbe essere già stato risolto. La seconda ridenominazione serve solo a recuperare lo pseudonome originale. Gli ultimi due comandi servono a consolidare la modifica.
3) Provare ad annullare la gestione/gestire il dispositivo problematico (operazione che probabilmente avrà esito negativo)
# powermt unmanage dev=emcpower0a
ERRORE: Annullamento della gestione non riuscito
4) Provare a rinominare lo pseudo device problematico (questo probabilmente fallirà)
# emcpadm renamepseudo -s 0 -t 1000
<ERRORE: impossibile rinominare il dispositivo. emcpower0 non esiste>
5) riconfigurare completamente il device
problematico# powermt remove dev=0
# powermt save
>> rimuovere il dispositivo dallo Storage Group
# devfsadm -C (per rimuovere le voci in /dev/dsk e /dev/rdsk per i percorsi nativi)
# rm /dev/dsk/emcpower0*
# rm /dev/rdsk/emcpower0*
>> maschera nuovamente il dispositivo nel gruppo
di storage# devfsadm (per ricreare le voci per i percorsi nativi)
# powermt config (per riconfigurare Powerpath)
# powermt display dev=all (verificare che lo pseudo device sia stato riconfigurato)
# powermt save
# ls /devices/pseudo/emcp@0 (verificare che le voci ora esistano: emcp@0 è per emcpower0; per emcpowerXX, cercare emcp@XX)
# bootadm update-archive (per consolidare la modifica alla configurazione nelle informazioni di avvio)