In Solaris 10 sono stati riscontrati i seguenti problemi relativi ai file system.
Le versioni del firmware Dell SAS 6 HBA (LSI 1068) a partire dalla 0.20.46.00-IR introducono un'incompatibilità che può impedire ai comandi lsiutil e raidctl(1M) di configurare correttamente i dischi virtuali. Dopo che si è verificato l'errore, i dischi fisici passano allo stato offline e non sono più accessibili. Sono interessati i comandi raidctl(1M), incluso in Solaris 10 5/08, e lsiutil dalla versione 5.07.04 del pacchetto ITImpt.
Viene visualizzato il seguente messaggio di errore:
# /usr/sbin/raidctl -C "0.3.0 0.4.0" -s 64k 0 Creating RAID volume will destroy all data on spare space of member disks, proceed (yes/no)? Operation failed |
Soluzione. Configurare i dischi virtuali usando il programma di configurazione SAS. Per accedere al programma di configurazione SAS, digitare Control-C al momento appropriato durante la sequenza di avvio del BIOS.
Si possono verificare timeout ata durante l'avvio sui sistemi Intel multiprocessore. Questi timeout si verificano quando il dispositivo radice si trova su un disco con il controller HBA associato al precedente driver ata. I timeout conducono a un blocco momentaneo, permanente o a un errore irreversibile durante la procedura di avvio con messaggi simili al seguente:
scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0): timeout: reset bus, target=0 lun=0 scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0): timeout: early timeout, target=0 lun=0 gda: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0/cmdk@0,0 (Disk0): Error for command 'read sector' Error Level: Informational gda: [ID 107833 kern.notice] Sense Key: aborted command gda: [ID 107833 kern.notice] Vendor 'Gen-ATA ' error code: 0x3 gda: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0/cmdk@0,0 (Disk0): Error for command 'read sector' Error Level: Informational gda: [ID 107833 kern.notice] Sense Key: aborted command gda: [ID 107833 kern.notice] Vendor 'Gen-ATA ' error code: 0x3 scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0): timeout: abort request, target=0 lun=0 scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0): timeout: abort device, target=0 lun=0 scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0): timeout: reset target, target=0 lun=0 scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0): timeout: reset bus, target=0 lun=0 scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0): timeout: early timeout, target=0 lun=0 gda: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0/cmdk@0,0 (Disk0): Error for command 'read sector' Error Level: Informational gda: [ID 107833 kern.notice] Sense Key: aborted command gda: [ID 107833 kern.notice] Vendor 'Gen-ATA ' error code: 0x3 gda: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0/cmdk@0,0 (Disk0): |
Soluzione. Scegliere una delle seguenti procedure:
Per evitare un degrado delle prestazioni, utilizzare temporaneamente la soluzione 3 o la soluzione 4 fino a quando non sia possibile adottare la soluzione 5.
Soluzione 1. Abilitare AHCI nel BIOS se disponibile sul sistema. L'abilitazione di questa impostazione richiede una reinstallazione del sistema operativo Solaris.
Soluzione 2. Installare Solaris su un disco il cui controller non utilizza il driver ata.
Soluzione 3: Disabilitare le funzioni MP nella configurazione del BIOS in modo da attivare un solo processore.
Soluzione 4. Disabilitare le funzioni MP in Solaris in modo da attivare un solo processore. Procedere come segue dal menu di GRUB:
Digitare e per modificare la voce di Solaris selezionata.
Andare alla riga che inizia con kernel.
Digitare e per passare alla modalità di modifica di GRUB.
Aggiungere -kd a questa riga.
Premere Invio per accettare la modifica.
Digitare b per avviare la voce di Solaris selezionata.
Al prompt kbmd, digitare il comando seguente:
use_mp/W 0 :c |
Se si sta avviando il sistema, passare al punto 10, diversamente installare Solaris 10 5/08.
Al termine dell'installazione, riavviare il sistema. Ripetere i punti da 1 a 7.
Per rendere permanente questa modifica per tutte le procedure di avvio, procedere come segue:
Al termine dell'avvio diventare superutente.
Aprire il file /etc/system.
Aggiungere la riga seguente:
set use_mp = 0 |
Soluzione 5. Disabilitare l'aggiornamento del microcodice. Digitare il comando seguente:
# mv /platform/i86pc/ucode /platform/i86pc/ucode.disabled |
L'aggiornamento del microcodice può essere eseguito manualmente dopo l'avvio:
# ucodeadm -u /platform/i86pc/ucode.disabled/intel-ucode.txt |
Se una zona non globale viene configurata inizialmente con un file system ZFS da attivare con il sottocomando add fs, specificando l'opzione mountpoint=legacy, l'installazione della zona non riesce. Viene visualizzato il seguente messaggio di errore.
ERROR: File o directory non trovati: impossibile attivare </zones/path/root/usr/local> in una zona non globale per l'installazione: impossibile accedere al dispositivo del blocco di origine o alla directory </path/local> |
Soluzione. Aggiungere l'accesso al file system ZFS dopo l'installazione della zona non globale.
ZFS è progettato come file system conforme allo standard POSIX ed è effettivamente conforme nella maggior parte delle situazioni. Sono tuttavia presenti due condizioni limite in cui ZFS non soddisfa i test di conformità POSIX:
Aggiornamento delle statistiche di capacità del file system ZFS.
Modifica dei dati esistenti in presenza di un file system pieno al 100%.
CR collegati:
6362314
6362156
6361650
6343113
6343039
Se si utilizza il comando fdisk -E per modificare un disco utilizzato da un pool di memorizzazione ZFS, il pool diventa inutilizzabile e possono prodursi errori di I/O o errori irreversibili.
Soluzione.
Non utilizzare il comando fdisk per modificare un disco utilizzato da un pool di memorizzazione ZFS. Per accedere a un disco utilizzato da un pool di memorizzazione ZFS, utilizzare il comando format. In generale, i dischi che contengono file system in uso non dovrebbero essere modificati.
Qui di seguito sono descritti i problemi relativi ai prodotti Veritas NetBackup e Brightstor ARCserve Backup.
Veritas NetBackup può essere utilizzato ed è supportato per il backup dei file ZFS. Tuttavia, il prodotto attualmente non supporta il backup o il ripristino degli ACL NFSv4 dai file ZFS. Viene effettuato il backup e il ripristino corretto delle impostazioni delle autorizzazioni tradizionali e degli altri attributi dei file.
Se un utente cerca di eseguire il backup o il ripristino dei file ZFS, le informazioni relative agli ACL NFSv4 vengono rimosse dai file ZFS senza alcuna indicazione per l'utente. Nessun messaggio di errore segnala che le informazioni degli ACL sono state rimosse dai file ZFS.
Il supporto per gli ACL ZFS/NFSv4 è in corso di sviluppo e dovrebbe essere disponibile nella prossima versione di Veritas NetBackup release.
Soluzione 1.
In Solaris 10 8/07, i comandi tar e cpio sono in grado di gestire correttamente i file ZFS con ACL NFSv4.
Utilizzare il comando tar con l'opzione -p oppure il comando cpio con l'opzione -P per scrivere i file ZFS in un file. Quindi, usare Veritas NetBackup per il backup dell'archivio tar o cpio.
Soluzione 2.
In alternativa all'utilizzo di Veritas NetBackup, usare i comandi ZFS send e receive per eseguire il backup dei file ZFS. Questi comandi sono in grado di gestire correttamente gli attributi dei file ZFS.
L'agente client di BrightStor ARCserve Backup (BAB) per UNIX (Solaris) può essere utilizzato per eseguire il backup e il ripristino dei file ZFS.
Tuttavia, gli ACL NFSv4 di ZFS non vengono preservati durante il backup. Le normali autorizzazioni e gli attributi di UNIX vengono preservati.
Soluzione. Per preservare i file ZFS con gli ACL NFSv4, utilizzare il comando tar con l'opzione -p oppure il comando cpio con l'opzione -P per scrivere i file ZFS in un file. Quindi, usare BrightStor ARCserve Backup per il backup dell'archivio tar o cpio.
Se si aggiunge il pacchetto SUNWzfsg di Solaris 10 8/07 o Solaris 10 5/08 a un sistema che esegue una versione anteriore di Solaris 10 e non dispone della patch per embedded_su, le procedure guidate dell'Amministrazione di ZFS non sono completamente funzionali.
Se si cerca di eseguire l'applicazione Amministrazione di ZFS su un sistema sprovvisto della patch embedded_su, è possibile solo visualizzare la configurazione di ZFS. Viene visualizzato il seguente messaggio di errore:
/usr/lib/embedded_su: non trovato |
Soluzione.
Aggiungere la patch embedded_su (119574-02) al sistema che esegue la versione anteriore a Solaris 10 6/06.
Se si verifica un errore irreversibile mentre è in corso un'attività di I/O verso una destinazione collegata con l'iniziatore software iSCSI di Solaris, è possibile che l'operazione di I/O non venga annullata o sincronizzata sul dispositivo di destinazione. Questa condizione può provocare un danneggiamento del file system. Non viene visualizzato nessun messaggio di errore.
Soluzione.
Utilizzare un journaling file system come UFS. A partire da Solaris 10, il logging UFS è abilitato nell'impostazione predefinita. Per maggiori informazioni su UFS, vedere la sezione What’s New in File Systems? in System Administration Guide: Devices and File Systems.
Quando si aggiorna un server NFSv4 dalla versione 6/05 a Solaris Express 7/05 o a una versione successiva (inclusi tutti gli aggiornamenti di Solaris 10), i programmi possono generare errori EACCES. Inoltre, alcune directory appaiono erroneamente vuote.
Per prevenire questi errori, disattivare e riattivare i file system del client. Se la disattivazione non dovesse riuscire, provare a forzarla con il comando umount -f. In alternativa, riavviare il client.
Le funzioni dell'elenco di controllo di accesso (ACL) NFSv4 non funzionano correttamente se i client e i server della rete sono installati con versioni precedenti e diverse di Solaris 10. Il problema riguarda le funzioni degli ACL e i programmi della riga di comando sotto elencati:
acl()
facl()
getfacl
setfacl
Per maggiori informazioni su queste funzioni e programmi, vedere le rispettive pagine man.
Ad esempio, si possono verificare errori in una rete che presenta la seguente configurazione:
Un client che esegue Solaris 10 in versione Beta
Un server che esegue Solaris 10
La tabella seguente illustra i risultati delle funzioni degli ACL in configurazioni client-server che utilizzano versioni diverse di Solaris 10.
Operazione |
Sistema operativo S10 del client |
Sistema operativo S10 del server |
Risultato |
---|---|---|---|
get ACL |
S10 Beta |
S10 |
ACL modificato * |
get ACL |
S10 |
S10 Beta |
funzionamento corretto |
set ACL |
S10 Beta |
S10 |
funzionamento corretto |
set ACL |
S10 |
S10 Beta |
Errore: EOPNOTSUP |
Soluzione. Perché le funzionalità degli ACL NFSv4 operino correttamente, eseguire un'installazione completa di Solaris 10 sia sul server che sul client.
Nell'attuale versione di Solaris 10, l'implementazione Solaris degli elenchi di controllo di accesso (ACL) NFSv4 è ora conforme alle specifiche RFC 3530. Tuttavia, si verificano errori con i client NFSv4 che utilizzano le versioni Beta 2 o Beta 1 di Solaris 10. Questi client non possono creare file sui server NFSv4 che utilizzano l'attuale versione di Solaris 10. Viene visualizzato il seguente messaggio di errore:
NFS getacl failed for nome_server: error 9 (RPC: Program/version mismatch) |
Soluzione. Nessuna.
Il comando mkfs può non essere in grado di creare un file system sui dischi che possiedono una determinata geometria e le cui dimensioni superano gli 8 Gbyte. La dimensione del gruppo di cilindri derivato è troppo grande per il frammento da 1 Kbyte. Questa dimensione del gruppo di cilindri comporta l'impossibilità di inserire in un blocco i metadati in eccesso.
Viene visualizzato il seguente messaggio di errore:
Con 15625 settori per cilindro, il numero minimo di cilindri per gruppo è 16. Ciò richiede che la dimensione del frammento venga modificata da 1024 a 4096. Rieseguire mkfs con parametri differenti. |
Soluzione. Usare il comando newfs. In alternativa, impostare una dimensione superiore per il frammento, ad esempio 4096, quando si utilizza il comando mkfs.
Il sistema non riesce a generare un crash dump nelle partizioni di dimensioni pari o superiori a 1 Tbyte. Se il sistema utilizza un dispositivo di questo tipo, in seguito a un errore irreversibile e al successivo riavvio del sistema si può verificare quanto segue:
Il sistema non salva il crash dump.
Viene visualizzato il messaggio seguente:
0% done: 0 pages dumped, compression ratio 0.00, dump failed: error 6 |
Soluzione. Configurare la dimensione del dispositivo di dump del sistema su un valore inferiore a 1 Tbyte.
Se si utilizza il comando smosservice per aggiungere servizi del sistema operativo a un file system UFS, compare un messaggio indicante che lo spazio disponibile sul disco è insufficiente. Questo errore riguarda in modo specifico i file system UFS sui dischi con etichetta EFI.
Soluzione. Usare la seguente procedura.
Applicare l'etichetta del disco VTOC SMI.
Ricreare il file system.
Rieseguire il comando smosservice.