Note su Solaris 10 6/06

File system

In Solaris 10 sono stati riscontrati i seguenti problemi relativi ai file system.

Problemi di conformità di ZFS e UNIX/POSIX

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:

  1. Aggiornamento delle statistiche di capacità del file system ZFS.

  2. Modifica dei dati esistenti in presenza di un file system pieno al 100%.

CR collegati:

L'aggiunta della patch ZFS a un sistema Solaris 10 6/06 provoca messaggi di avvertimento impropri (6429860)

In seguito all'aggiunta delle patch di ZFS a un sistema Solaris 10 6/06, il comando patchadd produce messaggi di avviso impropri, in quanto i pacchetti di ZFS vengono aggiunti al sistema per la prima volta. Viene visualizzato il seguente messaggio di errore:


Le seguenti patch richieste contengono pacchetti non installati sul sistema:
	Il pacchetto SUNWzfskr della directory SUNWzfskr della 
patch 122641-03 non è installato sul sistema.

	Le modifiche per il pacchetto SUNWzfskr non verranno applicate al sistema.

Soluzione:

Ignorare i messaggi impropri del comando patchadd.

ufsrestore non utilizza acl_set() per impostare gli ACL (6421216)

Il comando ufsrestore genera errori se nel file system ZFS viene ripristinato un archivio UFS con ACL basati sulla bozza POSIX. I file vengono ripristinati correttamente ma le informazioni dell'ACL vengono ignorate.

Durante l'operazione ufsrestore, viene generato il seguente messaggio di errore:


setacl non riuscito: argomento non valido

Soluzione:

Utilizzare uno dei seguenti comandi per trasferire i file UFS dotati di ACL su un file system ZFS:

Gli ACL basati sulla bozza POSIX vengono convertiti negli equivalenti ACL NFSv4.

fdisk -E può eliminare i dischi usati da ZFS senza messaggi di avviso (6412771)

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.

x86: Il BIOS si blocca dopo l'utilizzo di ZFS sui sistemi Sun Ultra 20 o Sun Fire X2100 (6363449)

È possibile che la workstation Sun UltraTM 20 o il server Sun FireTM X2100 si blocchino al riavvio se i dischi collegati al sistema contengono un pool di memorizzazione ZFS.

Il problema si può verificare con le seguenti versioni del BIOS:

Soluzione:

  1. Disconnettere i dischi utilizzati da ZFS prima di riavviare il sistema, fino a quando non viene installata una versione del BIOS che supporti ZFS.

  2. Dal CD supplementare, versione 1.4, installare la versione minima supportata del BIOS per il supporto di ZFS.

    Le versioni supportate del BIOS sono le seguenti:

    • BIOS versione 2.2.3 per le workstation Sun Ultra 20.

    • BIOS versione 1.1.1 per i server Sun Fire X2100.

    È possibile scaricare l'immagine del CD supplementare versione 1.4 dai seguenti indirizzi:

Problemi con ZFS e prodotti di backup di terze parti

Qui di seguito sono riportati i problemi relativi ai prodotti Veritas NetBackup e Sun StorEdgeTM Enterprise Backup Software (EMC e Legato NetWorker®).

Veritas NetBackup non effettua il backup e non preserva i file con ACL ZFS/NFSv4 (6352899)

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 06/06, 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.

Legato Networker non supporta gli ACL ZFS/NFSv4 (6349974)

Attualmente, il software Sun StorEdge Enterprise Backup non può essere utilizzato per il backup o il ripristino dei file ZFS.

Se si tenta di eseguire il backup o il ripristino dei file ZFS, viene visualizzato il seguente messaggio di errore:


save: Unable to read ACL information for '/path': Operation not applicable

Il supporto per gli ACL ZFS/NFSv4 dovrebbe essere disponibile nella prossima versione (Sun StorEdge EBS 7.3 Service Update 1).

Soluzione:

  1. Attivare il file system ZFS con NFSv4 su un altro sistema.

  2. Eseguire il backup o il ripristino dei file ZFS dalla directory attivata via NFSv4.

La GUI di ZFS dovrebbe controllare /usr/lib/embedded_su all'inizio di tutte le procedure guidate (6326334)

Se si aggiunge il pacchetto SUNWzfsg di Solaris 10 6/06 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.

du rileva una dimensione errata nelle configurazioni RAID-Z (6288488)

Nel caso dei dispositivi virtuali RAID-Z, i seguenti comandi riportano in modo errato le informazioni relative allo “spazio utilizzato” e allo “spazio disponibile”:

Le informazioni relative allo spazio includono anche lo spazio utilizzato per memorizzare i dati di parità.

Impossibile sincronizzare i file system in caso di errore irreversibile (6250422)

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 the Solaris 10 Release? del System Administration Guide: Devices and File Systems.

È necessario prevedere una correzione per evitare il riavvio delle attività scrub o resilver (2136811)

Se si crea uno snapshot ZFS mentre è in corso un'operazione scrub o resilver, l'operazione scrub o resilver riparte dall'inizio. Se gli snapshot vengono eseguiti frequentemente, è possibile che l'operazione scrub o resilver non venga mai completata.

Soluzione:

Non eseguire snapshot mentre è in corso un'operazione scrub o resilver.

L'aggiornamento da alcune versioni di Solaris Express o di Solaris 10 richiede la riattivazione dei file system

Quando si aggiorna un server NFSv4 dalla versione 6/05 a Solaris Express 7/04 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 NFSv4 non operano correttamente

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:

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:

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.

Problemi di accesso tra client Solaris NFSv4 e server NFSv4

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 riuscire a creare i file system su dischi molto grandi (6352813)

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.

La creazione dei file system può non riuscire sulle slice di piccole dimensioni (6346510)

La creazione di un file system UFS con il comando newfs può non riuscire quando si verificano le seguenti condizioni:

L'errore è prodotto dalla dimensione dei metadati richiesti per il file system. Viene visualizzato il seguente messaggio di avviso:


Attenzione: blocchi inode/gruppo cilindri (295)>= blocchi dati (294)
     nell'ultimo gruppo di cilindri. 4712 settori non sono stati allocati.
/dev/rdsk/c0t0d0s6:     0 settori in 0 cilindri di 48 tracce, 128 settori
         0.0MB in 0 gruppi cilindri (13 c/g, 39.00MB/g, 18624 i/g)
backup dei superblocchi (per fsck -F ufs -o b=#) in:
#

Soluzione: come superutente, eseguire una delle seguenti soluzioni:

Errori di scrittura non rilevati nel client NFSv4 con il file system pieno (6346204)

Un client NFSv4 il cui file system è quasi pieno gestisce in modo errato i codici di errore restituiti dal server. Il client riceve dal server il codice di errore corretto (NFS4ERR_NOSPC). Tuttavia, non trasferisce il codice di errore (ENOSPC) all'applicazione. L'applicazione non riceve le notifiche di errore tramite le normali funzioni del sistema, come write(), close() o fsync(). Di conseguenza, i tentativi ripetuti dell'applicazione di scrivere o modificare i dati possono produrre una perdita o un danneggiamento di questi ultimi.

Nel file /var/adm/messages viene registrato il seguente messaggio di errore:


nfs: [ID 174370 kern.notice] NFS write error on host nomehost







:
No space left on device.
nfs: [ID 942943 kern.notice] File: userid=uid, groupid=
gid
nfs: [ID 983240 kern.notice] User: userid=uid, groupid=
gid
nfs: [ID 702911 kern.notice] (file handle: 86007000 2000000 a000000 6000000
32362e48 a000000 2000000 5c8fa257)

Soluzione: non operare sui client i cui file system sono quasi pieni.

Il crash dump del sistema non riesce sui dispositivi che superano la dimensione di 1 TByte (6214480)

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:

Soluzione: configurare la dimensione del dispositivo di dump del sistema su un valore inferiore a 1 Tbyte.

L'uso del comando smosservice per l'aggiunta di servizi del sistema operativo genera un messaggio di spazio insufficiente sul disco (5073840)

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.

  1. Applicare l'etichetta del disco VTOC SMI.

  2. Ricreare il file system.

  3. Rieseguire il comando smosservice.