Les bogues de systèmes de fichiers suivants s'appliquent à la version Solaris10.
Si une zone non globale est initialement configurée avec un système de fichiers ZFS à monter avec la sous-commande `add fs et avec la spécification mountpoint=legacy, la tentative d'installation de zone suivante échoue. Le message d'erreur suivant s'affiche :
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 |
Solution : après avoir installé la zone non globale, ajoutez l'accès à un système de fichiers ZFS.
ZFS est conçu pour être un système de fichiers compatible POSIX et il l'est dans la plupart des cas. Il existe cependant deux exceptions où ZFS ne satisfait pas les tests de compatibilité POSIX :
Mise à jour des statistiques de capacité du système de fichiers ZFS.
Modification des données existantes dans un système de fichiers saturé.
CR connexes :
6362314
6362156
6361650
6343113
6343039
Si vous exécutez la commande fdisk -E pour modifier un disque utilisé par un pool de stockage ZFS, le pool devient inutilisable et peut entraîner une erreur d'E/S ou une erreur système grave.
Solution :
N'utilisez pas la commande fdisk pour modifier un disque utilisé par un pool de stockage ZFS. Pour accéder à un disque utilisé par un pool de stockage, utilisez plutôt l'utilitaire format. Les disques utilisés par des systèmes de fichiers ne doivent généralement pas être modifiés.
Les problèmes suivants concernent les produits Veritas NetBackup et Brightstor ARCserve Backup.
Veritas NetBackup peut être utilisé pour sauvegarder des fichiers ZFS et cette configuration est prise en charge. Ce produit ne prend cependant pas actuellement en charge la sauvegarde ou la restauration des données ACL de type NFSv4 des fichiers ZFS. Les bits d'autorisations classiques et d'autres attributs de fichier sont correctement sauvegardés et restaurés.
Si un utilisateur tente de sauvegarder ou de restaurer des fichiers ZFS, les données ACL de type NFSv4 des fichiers ZFS sont perdues. Aucun message d'erreur indiquant que les données ACL des fichiers ZFS sont perdues n'est affiché.
La prise en charge des ACL ZFS/NFSv4 est en cours de développement et est prévue dans la prochaine version de Veritas NetBackup.
Solution 1 :
À partir de la version Solaris 10 8/07, les commandes tar et cpio gèrent les fichiers ZFS avec les ACL de style NFSv4.
Utilisez la commande tar avec l'option -p ou la commande cpio avec l'option -P pour écrire les fichiers ZFS dans un fichier. Utilisez alors Veritas NetBackup pour sauvegarder l'archive tar ou cpio.
Solution 2 :
Outre Veritas NetBackup, vous pouvez également utiliser les commandes send et receive de ZFS pour sauvegarder des fichiers ZFS. Ces commandes gèrent correctement tous les attributs des fichiers ZFS.
L'agent client BrightStor ARCserve Backup (BAB) pour UNIX (Solaris) permet de sauvegarder et de restaurer les fichiers ZFS.
Cependant, les ACL ZFS de type NFSv4 ne sont pas conservées. Les attributs et droits d'accès aux fichiers UNIX habituels sont conservés.
Solution : pour conserver les fichiers ZFS avec les ACL NFSv4, exécutez la commande tar avec l'option -p ou la commande cpio avec l'option -P pour intégrer les fichiers ZFS à un fichier. Ensuite, utilisez BAB pour sauvegarder l'archive tar ou cpio.
Lorsque vous ajoutez le package SUNWzfsg à partir d'une version Solaris 10 8/07 à un système qui exécute une version antérieure à Solaris 10 6/06 et sur lequel le patch embedded_su n'est pas installé, les assistants de l'application ZFS Administration ne fonctionnent pas parfaitement.
Si vous tentez d'exécuter l'application ZFS Administration sur un système sur lequel le patch embedded_su n'est pas installé, vous ne pourrez pas consulter la configuration de votre ZFS. Le message d'erreur suivant s'affiche :
/usr/lib/embedded_su: not found |
Solution :
Ajoutez le patch embedded_su (119574-02) au système exécutant une version antérieure à Solaris 10 6/06.
Si un hôte panique avec l'E/S d'un système de fichiers sur une cible qui est connectée à l'aide de l'initiateur Solaris iSCSI, l'E/S risque de ne pas pouvoir vider ou synchroniser sur le périphérique cible. Cette incapacité à vider ou à synchroniser peut entraîner une corruption du système de fichiers. Aucun message d'erreur n'est affiché.
Solution :
Utilisez un système de fichier journalisé comme UFS. Dans Solaris 10, la journalisation UFS est activée par défaut. Pour plus d'informations sur UFS, reportez-vous à What’s New in File Systems? du System Administration Guide: Devices and File Systems.
Après la mise à niveau d'un serveur NFSv4 de 6/05 à Solaris Express 7/05 ou version ultérieure (y compris toutes les versions Solaris 10), vos programmes peuvent rencontrer des erreurs EACCES. En outre, des répertoires sont anormalement vides.
Pour ces erreurs, démontez et remontez les systèmes de fichiers clients. Si le démontage échoue, il peut être nécessaire de démonter le système de fichiers concerné à l'aide de la commande umount -f. Vous pouvez également réinitialiser le client.
Les fonctions de la liste de contrôle d'accès NFSv4 (ACL, Access Control List) peuvent ne pas fonctionner correctement si des versions antérieures de Solaris10 sont installées sur les clients et les serveurs du réseau. Les fonctions ACL concernées et les utilitaires de ligne de commande qui ont recours à ces fonctions sont :
acl() ;
facl() ;
getfacl ;
setfacl.
Pour plus d'informations concernant ces fonctions et ces utilitaires, reportez-vous à leurs pages man respectives.
Des erreurs peuvent par exemple être observées sur un réseau avec la configuration suivante :
un client fonctionnant avec le logiciel Solaris10 bêta ;
un serveur fonctionnant avec le logiciel Solaris10.
Le tableau suivant indique les résultats des fonctions ACL dans des configurations client-serveur avec différentes versions de Solaris10.
Opération |
Système d'exploitation client S10 |
Système d'exploitation serveur S10 |
Résultat |
---|---|---|---|
obtenir ACL |
S10 bêta |
Système d'exploitation S10 |
ACL * fabriquée |
obtenir ACL |
Système d'exploitation S10 |
S10 bêta |
fonctionne correctement |
définir ACL |
S10 bêta |
Système d'exploitation S10 |
fonctionne correctement |
définir ACL |
Système d'exploitation S10 |
S10 bêta |
Erreur : EOPNOTSUP |
Solution : pour que la fonctionnalité ACL NFSv4 fonctionne correctement, effectuez une installation complète du SE Solaris 10 sur le serveur et le client.
Dans la version Solaris10 actuelle, l'implémentation de l'ACL NFSv4 est désormais conforme aux spécifications RFC 3530. Cependant, des erreurs se produisent pour les clients NFSv4 qui fonctionnent avec les versions Solaris10 bêta 2 ou bêta 1. Ces clients ne peuvent pas créer de fichiers sur les serveurs NFSv4 qui fonctionnent avec la version Solaris10 actuelle. Le message d'erreur suivant s'affiche :
NFS getacl failed for server_name: error 9 (RPC: Program/version mismatch) |
Solution : aucune.
La commande mkfs risque de ne pas réussir à créer un système de fichiers sur les disques présentant une certaine géométrie et une capacité supérieure à 8 Go. La capacité du groupe de cylindres dérivé est trop importante pour le fragment de 1 ko. La grande capacité du groupe de cylindres implique un volume de métadonnées qu'un bloc ne suffit pas à contenir.
Le message d'erreur suivant s'affiche :
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. |
Solution : utilisez plutôt la commande newfs. Vous pouvez également attribuer une plus grande taille de fragment, telle que 4096, lorsque vous utilisez la commande mkfs.
La création d'un système de fichiers UFS à l'aide de la commande newfs risque de ne pas aboutir dans les situations suivantes :
La tranche est de petite taille (moins de 4 Mo environ).
Le disque présente une capacité supérieure à 8 Go.
Cette erreur est due aux importants besoins du système de fichiers en termes de capacité de stockage des métadonnées. Le message d'avertissement suivant apparaît :
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: # |
Solution : en tant que superutilisateur, adoptez l'une des solutions suivantes :
Solution 1 : spécifiez le nombre de pistes lors de l'utilisation de la commande newfs. Procédez comme indiqué ci-dessous.
Utilisez la commande format pour connaître le nombre de pistes à attribuer. Exemple\~:
# 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): |
Dans cet exemple, le nombre de pistes est de 19.
Attribuez ce nombre au système de fichiers créé à l'aide de la commande newfs. Exemple\~:
# 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, # |
Solution 2 : spécifiez le nombre d'octets par inode (nbpi) dans la commande newfs pour réduire la densité en inodes du système de fichiers. Exemple\~:
# 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, # |
Le système ne peut pas générer le vidage de la mémoire sur une partition dont la taille est supérieure ou égale à 1 To. Si un périphérique de cette taille se trouve sur un système, la réinitialisation du système à la suite d'une panique peut entraîner ce qui suit :
le système n'enregistre pas le vidage de la mémoire ;
Le message suivant s'affiche :
0% done: 0 pages dumped, compression ratio 0.00, dump failed: error 6 |
Solution : configurez la taille du périphérique de vidage de votre système de sorte qu'elle soit inférieure à 1 To.
Si vous utilisez la commande smosservice pour ajouter des services du système d'exploitation à un système de fichiers UFS, un message indiquant que l'espace disque disponible est insuffisant s'affiche. Cette erreur est propre aux systèmes de fichiers UFS sur des disques portant l'étiquette EFI.
Solution : recourez à la solution suivante :
Appliquez l'étiquette de disque SMI VTOC.
Recréez le système de fichiers.
Réexécutez la commande smosservice.