In Oracle Solaris 10 sono stati riscontrati i seguenti bug relativi ai file system.
La patch sendmail 142436–03 con le rispettive revisioni dalla 04 alla 08, imposta la proprietà config/local_only su true.
$ svcprop -p config/local_only smtp:sendmail true |
Con tale modifica, sendmail può accettare richieste provenienti esclusivamente dall'host locale.
Soluzione. In seguito all'aggiunta della patch 142436–03 o delle rispettive revisioni dalla 04 alla 08, per consentire l'accettazione di richieste da altri host in sendmail, apportare le seguenti modifiche:
Reimpostare la proprietà config/local_only su false.
# svccfg -s svc:/network/smtp:sendmail setprop config/local_only=false |
Aggiornare e riavviare il servizio sendmail.
# svcadm refresh smtp:sendmail # svcadm restart smtp:sendmail |
Quando si esegue il comando mdb con l'opzione -K, si esce con $q e infine si emette il comando sync, è possibile che si verifichi un blocco del sistema.
Lo stesso problema potrebbe verificarsi quando si emette il comando sync al prompt ok di OpenBoot.
È possibile che venga visualizzato il messaggio di errore seguente:
panic dump timeout ... dump aborted |
Soluzione. Aggiungere dump_plat_mincpu=0 al file /etc/system. In alternativa, utilizzare il comando reboot -d anziché mdb -K ... $q.
Il comando bootadm non è in grado di creare una voce del menu di GRUB formattata in modo corretto quando si avvia il sistema in modalità a 32 bit con i seguenti comandi:
reboot kernel/unix
reboot -- -r
Di conseguenza, il sistema si avvia nella modalità a 64 bit. Il file menu.lst errato può avere il seguente aspetto:
findroot rootfs0 kernel /platform/i86pc/kernel/unix module /platform/i86pc/boot_archive |
Nell'esempio precedente, la riga del kernel non contiene l'informazione di multiboot ed è quindi errata. Non viene visualizzato nessun messaggio di errore.
Soluzione. Modificare manualmente il file /boot/grub/menu.lst e aggiungervi le seguenti informazioni:
title Solaris 10 10/08 findroot rootfs0 kernel /platform/i86pc/multiboot kernel/unix module /platform/i86pc/boot_archive |
Dopo aver apportato queste modifiche, il sistema si avvia nella modalità a 32 bit.
Le modifiche apportate a menu.lst permangono anche dopo un reboot.
In alternativa, è possibile modificare il menu di GRUB all'avvio, aggiungendo l'argomento di avvio kernel/unix come indicato nell'esempio seguente:
grub edit> kernel /platform/i86pc/multiboot kernel/unix |
Le modifiche apportate in questo modo al menu di GRUB non sono preservate nei successivi reboot.
Per maggiori informazioni, vedere Modifying Boot Behavior on x86 Based Systems in System Administration Guide: Basic Administration.
Se si utilizza il comando zpool attach per aggiungere un disco a un pool root ZFS, l'informazione bootblock non viene copiata nel disco aggiunto. Questo problema non interessa i pool root ZFS in mirroring creati nel corso di un'installazione iniziale. Il sistema non si avvia dal disco alternativo del pool root in mirroring.
Soluzione. Scegliere una delle seguenti procedure:
Su un sistema SPARC, identificare il dispositivo del disco alternativo e installarvi le informazioni di avvio. Ad esempio:
# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c0t1d0s0 |
Su un sistema x86, identificare il dispositivo del disco alternativo e installarvi le informazioni di avvio. Ad esempio:
# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c0t1d0s0 |
Si possono verificare timeout ata durante l'avvio sui sistemi Intel multiprocessore. Questi timeout si verificano quando il dispositivo root 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 Oracle Solaris.
Soluzione 2. Installare il sistema operativo Oracle 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 nel sistema operativo Oracle Solaris in modo da attivare un solo processore. Procedere come segue dal menu di GRUB:
Digitare e per modificare la voce 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 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 10/09.
Al termine dell'installazione, effettuare il reboot del 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: No such file or directory: cannot mount </zones/path/root/usr/local> in non-global zone to install: the source block device or directory </path/local> cannot be accessed |
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
6742203
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 elencati i problemi dei prodotti Brightstor ARCserve Backup.
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 dalla versione Solaris 10 10/09 a un sistema che esegue una versione anteriore a Solaris 10 6/06 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: not found |
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 panic mentre è in corso un'attività di I/O verso una destinazione collegata con l'iniziatore software iSCSI di Oracle Solaris, è possibile che l'operazione di I/O non venga annullata o sincronizzata nel 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 Oracle Solaris 10, il logging UFS è abilitato per impostazione predefinita. Per maggiori informazioni su UFS, vedere la sezione What’s New in File Systems? in System Administration Guide: Devices and File Systems .
In seguito all'aggiornamento di un server NFSv4 con tutti gli aggiornamenti di Oracle Solaris 10, è possibile riscontrare errori EACCES nei programmi in uso. 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, effettuare il reboot del client.
Le funzioni dell'elenco di controllo di accesso (ACL) NFSv4 potrebbero non funzionare correttamente se i client e i server della rete sono installati con diverse versioni precedenti di Oracle 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 del Sistema operativo Oracle Solaris 10 sia sul server che sul client.
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.