Los siguientes errores del sistema de archivos hacen referencia a la versión de Solaris 10.
ZFS se ha diseñado para que sea un sistema de archivos compatible con POSIX y, en la mayoría de los casos, no hay ninguna problema de compatibilidad. Sin embargo, existen dos situaciones excepcionales en las que ZFS no supera las pruebas de compatibilidad de POSIX:
La actualización de las estadísticas de capacidad del sistema de archivos ZFS.
La modificación de los datos existentes con un sistema de archivos lleno al 100 por cien.
CR relacionados:
6362314
6362156
6361650
6343113
6343039
Al agregar las revisiones de ZFS al sistema Solaris 10 6/06, se reciben mensajes de advertencia falsos del comando patchadd debido a que los paquetes de ZFS se están agregando por primera vez al sistema. Aparece el mensaje de error siguiente.
The following requested patches have packages not installed on the system: Package SUNWzfskr from directory SUNWzfskr in patch 122641-03 is not installed on the system. Changes for package SUNWzfskr will not be applied to the system. |
Solución:
Omita los mensajes falsos del comando patchadd.
La utilidad ufsrestore genera errores si un archivo de almacenamiento UFS con ACL de borrador de POSIX se restablece en un sistema de archivos ZFS. Los archivos se restablecen correctamente, pero se omite la información de la ACL.
Durante la operación ufsrestore, se genera el siguiente mensaje de error:
setacl failed: Invalid argument |
Solución:
Utilice cualquiera de los comandos compatibles con ACL para transferir archivos UFS con ACL a un sistema de archivos ZFS:
cp
mv
tar
cpio
rcp
Las ACL de borrador de POSIX se convierten en las ACL de NFSv4 equivalentes.
Si utiliza el comando fdisk -E para modificar un disco utilizado por un conjunto de almacenamiento ZFS, es posible que el conjunto quede inutilizable, y se produzca un error de E/S o se genere un aviso grave del sistema.
Solución:
No utilice el comando fdisk para modificar un disco utilizado por un conjunto de almacenamiento ZFS. Si debe acceder a un disco utilizado por un conjunto de almacenamiento ZFS, use la utilidad format. Por lo general, los discos que los sistemas de archivos están utilizando no deben modificarse.
Es posible que la estación de trabajo Sun UltraTM 20 o el servidor Sun FireTM X2100 se bloquee durante el reinicio si los discos conectados a estos sistemas contienen un conjunto de almacenamiento ZFS.
Las versiones de la BIOS en las que puede aparece este problema son:
Las estaciones de trabajo Sun Ultra 20 con una versión de la BIOS inferior a 2.2.3
Los servidores Sun Fire X2100 con una versión de la BIOS inferior a 1.1.1
Solución:
Desconecte los discos utilizados por ZFS antes de reiniciar el sistema hasta que se pueda instalar el nivel mínimo de la BIOS compatible con ZFS en estos sistemas.
Instale la versión mínima de la BIOS compatible con ZFS desde el CD auxiliar 1.4.
Las versiones de la BIOS compatibles son:
La versión 2.2.3 de la BIOS para las estaciones de trabajo Sun Ultra 20
La versión 1.1.1 de la BIOS para los servidores Sun Fire X2100
También puede descargar la imagen del CD auxiliar de la versión 1.4 desde las siguientes ubicaciones:
A continuación, se muestran los problemas relacionados con los productos Veritas NetBackup y Sun StorEdgeTM Enterprise Backup Software (EMC y Legato NetWorker®).
El producto Veritas NetBackup puede utilizarse para realizar una copia de los archivos de ZFS, por lo que admite esta configuración. Sin embargo, este producto no admite actualmente las copias de seguridad ni el restablecimiento de la información de ACL de NFSv4 de los archivos ZFS. Se puede realizar correctamente una copia de seguridad de los bits de permisos tradicionales y otros atributos de archivos, además de restablecerlos.
Si un usuario intenta realizar una copia de seguridad de los archivos de ZFS o restablecerlos, se omite de forma silenciosa la información de ACL de NFSv4. No aparece ningún mensaje de error indicando que se ha omitido la información de ACL de los archivos de ZFS.
La compatibilidad con las ACL de ZFS/NFSv4 se encuentra en proceso de desarrollo, y se prevé que esté disponible en la próxima versión de Veritas NetBackup.
Solución 1:
A partir de la versión 10 06/06 de Solaris, los comandos tar y cpio administran correctamente los archivos de ZFS con ACL de NFSv4.
Utilice el comando tar con la opción -p o el comando cpiocon la opción -P para escribir los archivos de ZFS en un archivo. A continuación, utilice Veritas NetBackup para realizar una copia de seguridad del archivo de almacenamiento tar o cpio.
Solución 2:
Como alternativa al uso de Veritas NetBackup, utiliza los comandos send y receive de ZFS para realizar una copia de seguridad de los archivos de ZFS. Estos comandos administran correctamente todos los atributos de los archivos de ZFS.
Actualmente, el producto Sun StorEdge Enterprise Backup Software no se puede utilizar para realizar una copia de seguridad de los archivos de ZFS ni para restablecerlos.
Si un usuario intenta realizar una copia de seguridad de los archivos de ZFS o restablecerlos, aparecerá el siguiente mensaje de error:
save: Unable to read ACL information for '/path': Operation not applicable |
Se prevé que la compatibilidad con las ACL de ZFS/NFSv4 esté disponible en la próxima versión de Sun StorEdge EBS 7.3 Service Update 1.
Solución:
Monte el sistema de archivos ZFS mediante NFSv4 en otro sistema.
Realice una copia de seguridad de los archivos de ZFS o restablézcalos desde el directorio montado mediante NFSv4.
Si se agrega un paquete SUNWzfsg de la versión Solaris 10 6/06 a un sistema que se ejecuta en una versión anterior de Solaris, que no incluya la revisión embedded_su, los asistentes de aplicaciones de administración de ZFS no se encuentran completamente operativos.
Si intenta ejecutar una aplicación de administración de ZFS sin la revisiónembedded_su, sólo podrá desplazarse a su configuración de ZFS. Aparece el mensaje de error siguiente.
/usr/lib/embedded_su: not found |
Solución:
Agregue la revisión embedded_su (119574-02) al sistema que se ejecuta con una versión de Solaris anterior a la versión 10 6/06.
En un dispositivo virtual RAID-Z, los siguientes comandos proporcionan una cantidad excesiva para la información de tamaño "espacio utilizado" y "espacio disponible":
du
df
zfs list
La información de espacio proporcionada incluye el espacio utilizado para almacenar los datos de paridad.
Si un host genera un aviso grave mientras se produce una E/S del sistema de archivos en el destino conectado mediante el iniciador de software iSCSI de Solaris, es posible que la E/S no pueda sincronizarse o vaciarse en el dispositivo de destino. Esta imposibilidad de efectuar la sincronización o el vaciado puede dañar el sistema de archivos. No se muestra ningún mensaje de error.
Solución:
Utilice el sistema de archivos de registro en el diario como, por ejemplo UFS. A partir de Solaris 10, el registro de UFS está habilitado de forma predeterminada. Para obtener más información acerca de UFS, consulte What’s New in File Systems in the Solaris 10 Release? de System Administration Guide: Devices and File Systems.
Si se crea una captura de ZFS mientras se está realizando una operación scrub o resilver de datos, la operación scrub o resilver se reiniciará desde el principio. Si se realizan capturas con frecuencia, es posible que nunca se complete la operación scrub o resilver.
Workaround:
No realice capturas mientras se está realizando la operación scrub o resilver .
Una vez actualizado un servidor NFSv4 de la versión 6/05 a Solaris Express 7/05 o posterior (incluidas todas las actualizaciones de Solaris 10), es posible que se produzcan errores EACCES en los programas. Aún más, es posible que los directorios aparezcan vacíos erróneamente.
Para evitar estos errores, desmonte y vuelva a montar los sistemas de archivos del cliente. En caso de que se produzca un error en el desmontaje, deberá forzar esta operación utilizando umount -f. Una opción alternativa es reiniciar el cliente.
Las funciones de la lista de control de acceso NFSv4 (ACL) pueden no funcionar correctamente si los clientes y servidores de la red tienen instaladas versiones de Solaris 10 anteriores y distintas. Las funciones ACL afectadas y las utilidades de líneas de comandos que utilizan estas funciones son:
acl()
facl()
getfacl
setfacl
Para obtener más información acerca de estas funciones y utilidades, consulte sus respectivas páginas de comando.
Por ejemplo, pueden producirse errores en una red que incluya la siguiente configuración:
Un cliente que está ejecutando el software Solaris 10 Beta
Un servidor que está ejecutando el software Solaris 10
La siguiente tabla muestra los resultados de las funciones ACL en configuraciones cliente-servidor con distintas versiones de Solaris 10.
Operación |
SO S10 cliente |
SO S10 servidor |
Resultado |
---|---|---|---|
get ACL |
S10 Beta |
SO S10 |
ACL fabricada * |
get ACL |
SO S10 |
S10 Beta |
funciona bien |
set ACL |
S10 Beta |
SO S10 |
funciona bien |
set ACL |
SO S10 |
S10 Beta |
Error: EOPNOTSUP |
Solución: para que la función ACL de NFSv4 funcione correctamente, realice una instalación completa del Sistema operativo Solaris 10 en el servidor y en el cliente.
En la versión actual de Solaris 10, la implementación en Solaris de listas de control de acceso NFSv4 (ACL) es compatible con las especificaciones RFC 3530. Sin embargo, se producen errores para los clientes NFSv4 que utilizan las versiones Solaris 10 Beta 2 o Beta 1. Estos clientes no pueden crear archivos en los servidores NFSv4 que están utilizando la versión de Solaris 10 actual. Aparece el mensaje de error siguiente.
NFS getacl failed for server_name: error 9 (RPC: Program/version mismatch) |
Solución: Ninguna.
Es posible que el comando mkfs no pueda crear un sistema de archivos en discos que tengan una geometría específica y un tamaño superior a los 8 Gbytes. El tamaño del grupo de cilindros derivado es demasiado grande para el fragmento de 1 Kbyte. Dicho tamaño implica que los metadatos sobrantes no pueden acomodarse en un bloque.
Aparece el mensaje de error siguiente.
With 15625 sectors per cylinder, minimum cylinders per group is 16. This requires the fragment size to be changed from 1024 to 4096. Please re-run mkfs with corrected parameters. |
Solución: en su lugar, utilice el comando newfs. O, si lo desea, asigne un tamaño mayor para el fragmento, por ejemplo, 4096, cuando utilice el comando mkfs.
Durante la creación de un sistema de archivos UFS mediante el comando newfs puede producirse un error en las siguientes circunstancias:
El tamaño del segmento es pequeño, inferior a aproximadamente 4 Mbytes.
El tamaño del disco supera los 8 Gbytes.
El error se debe a que los requisitos de tamaño para los metadatos del sistema de archivos son demasiado grandes. Se muestra el siguiente mensaje de advertencia:
Warning: inode blocks/cyl group (295) >= data blocks (294) in last cylinder group. This implies 4712 sector(s) cannot be allocated. /dev/rdsk/c0t0d0s6: 0 sectors in 0 cylinders of 48 tracks, 128 sectors 0.0MB in 0 cyl groups (13 c/g, 39.00MB/g, 18624 i/g) super-block backups (for fsck -F ufs -o b=#) at: # |
Solución: como superusuario, aplique una de las siguientes soluciones:
Solución 1: especifique el número de pistas cuando utilice el comando newfs. Siga estos pasos:
Use el comando format para averiguar el número de pistas que se deben asignar. Por ejemplo:
# format Searching for disks...done AVAILABLE DISK SELECTIONS: 0. c0t0d0 <SUN18G cyl 7506 alt 2 hd 19 sec 248> /pci@1f,4000/scsi@3/sd@0,0 Specify disk (enter its number): |
En el ejemplo, el número de pistas es 19.
Asigne este número al sistema de archivos que se crea mediante el comando newfs. Por ejemplo:
# newfs -v -t 19 /dev/dsk/c0t0d0s6 newfs: construct a new file system /dev/rdsk/c0t0d0s6: (y/n)? y mkfs -F ufs /dev/rdsk/c0t0d0s6 4712 -1 19 8192 1024 16 10 167 2048 t 0 -1 8 128 n mkfs: bad value for nsect: -1 must be between 1 and 32768 mkfs: nsect reset to default 32 Warning: 152 sector(s) in last cylinder unallocated /dev/rdsk/c0t0d0s6: 4712 sectors in 8 cylinders of 19 tracks, 32 sectors 2.3MB in 1 cyl groups (16 c/g, 4.75MB/g, 2304 i/g) super-block backups (for fsck -F ufs -o b=#) at: 32, # |
Solución 2: especifique el número de bytes por inode (nbpi) en el comando newfs para reducir la densidad de inode del sistema de archivos. Por ejemplo:
# newfs -i 4096 /dev/dsk/c0t0d0s6 newfs: construct a new file system /dev/rdsk/c0t0d0s6: (y/n)? y Warning: 1432 sector(s) in last cylinder unallocated /dev/rdsk/c0t0d0s6: 4712 sectors in 1 cylinders of 48 tracks, 128 sectors 2.3MB in 1 cyl groups (16 c/g, 48.00MB/g, 11648 i/g) super-block backups (for fsck -F ufs -o b=#) at: 32, # |
Un cliente NFSv4 cuyo sistema de archivos esté casi completo procesa incorrectamente los códigos de errores devueltos por el servidor. El cliente recibe el código de error (NFS4ERR_NOSPC) correcto del servidor. Sin embargo, no transmite el código de error (ENOSPC) adecuado a la aplicación. De este modo, la aplicación no recibe las notificaciones de error a través de las funciones normales del sistema, como write(), close() o fsync(). Por tanto, los continuos intentos de escribir o modificar datos que realiza la aplicación pueden provocar que los datos se pierdan o resulten dañados.
El siguiente mensaje de error se registra en /var/adm/messages:
nfs: [ID 174370 kern.notice] NFS write error on host hostname : 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) |
Solución: no realice tareas en sistemas cliente cuyos sistemas de archivos estén prácticamente completos.
El sistema no puede generar un volcado en una partición que es igual o superior a un 1 Tbyte. Si dicho dispositivo se encuentra en un sistema, es posible que se produzca la siguiente situación después de que el sistema se inicie tras una situación de pánico del sistema:
El sistema no guarda el volcado.
Aparece el mensaje siguiente:
0% done: 0 pages dumped, compression ratio 0.00, dump failed: error 6 |
Solución: configure el tamaño del dispositivo de volcado del sistema en menos de 1 Tbyte.
Si utiliza el comando smosservice para añadir servicios del SO a un sistema de archivos UFS, se mostrará un mensaje que indica que no hay suficiente espacio en disco disponible. Este error es específico a los sistemas de archivos UFS en discos con etiqueta EFI.
Solución: ejecute esta solución:
Aplique la etiqueta de disco SMI VTOC.
Vuelva a crear el sistema de archivos.
Vuelva a ejecutar el comando smosservice.