Résoudre les problèmes de ClientOtherErrors dans Azure Files
Cet article répertorie les ClientsOtherErrors que vous pouvez rencontrer lors de l’utilisation de partages de fichiers Azure SMB. En général, ClientOtherErrors est principalement inoffensif et des erreurs attendues. Les demandes échouent, mais le système continue de se comporter comme prévu. Il est normal de voir une grande partie de ces erreurs enregistrées.
S’applique à
Type de partage de fichiers | SMB | NFS |
---|---|---|
Partages de fichiers standard (GPv2), LRS/ZRS | ||
Partages de fichiers standard (GPv2), GRS/GZRS | ||
Partages de fichiers Premium (FileStorage), LRS/ZRS |
Qu’est-ce que ClientOtherErrors ?
ClientOtherError signifie généralement les erreurs côté client attendues, telles que « introuvable » et « la ressource existe déjà ». Dans les fichiers journaux de stockage côté serveur, ces opérations sont enregistrées avec une transaction status de ClientOtherErrors.
Par exemple, le client Windows SMB qui interagit avec les systèmes de fichiers distants ne connaît pas toujours les fonctionnalités du système de fichiers distant. Il peut s’agir de Windows Server, de Azure Files ou d’une autre implémentation de serveur SMB. Par conséquent, le client SMB effectue des appels au serveur de fichiers distant avec certaines API. Si ces API échouent, elle revient à utiliser une autre API ou même à ignorer ces erreurs. En fonction du protocole de demande/réponse de SMB, un grand nombre de requêtes sont censées échouer, même si le système s’est comporté correctement. Cela peut être dû à des échecs d’autorisation, à des tentatives de création d’un fichier avec un nom qui existe déjà ou à des tentatives d’ouverture d’un fichier qui n’existe pas.
Journalisation et création de rapports
Pour résoudre les problèmes de ClientOtherErrors, vous pouvez créer un paramètre de diagnostic et utiliser Azure Monitor pour la création de rapports. Vous pouvez également analyser les journaux pour afficher les demandes ayant échoué, notamment ClientOtherErrors, ou utiliser des requêtes Kusto.
Vous pouvez également collecter une trace ProcMon à partir d’un client qui correspond à l’adresse IP indiquée dans les journaux. Ajoutez un filtre pour afficher uniquement le trafic vers Azure Files.
Common ClientOtherErrors
Le tableau suivant répertorie les ClientsOtherErrors courants, ainsi qu’une explication de chaque erreur.
Opération | État | Explication de l’erreur |
---|---|---|
QueryFullEaInformation | STATUS_NOT_IMPLEMENTED | Cet échec est retourné, car Azure Files n’implémente pas cette API. Azure Files ne prend pas en charge les attributs étendus actuellement. |
UnknownFileClass=48 | STATUS_NOT_SUPPORTED | Il s’agit de l’appel d’API FileNormalizedNameInformation . Il s’agit d’une nouvelle prise en charge de Windows Server et actuellement Azure Files ne prend pas en charge cette API. |
Fileopen | 492 STATUS_ACCESS_DENIED | L’appelant ne dispose pas des autorisations requises pour ouvrir le fichier. Dans le cas d’un accès Kerberos, l’ACL refuse l’accès à l’appelant. |
Fileopen | 257 STATUS_OBJECT_NAME_INVALID | Le chemin d’accès de la requête ouverte n’est pas valide (par exemple, le chemin est trop long ou trop profond). |
Fileopen | 12 STATUS_FILE_IS_ADIRECTORY | L’appelant ouvre un répertoire sans utiliser les paramètres appropriés CreateFile (par exemple, intention de sauvegarde). |
Fileopen | 8 STATUS_SHARING_VIOLATION | L’appelant ouvre un fichier déjà ouvert avec des restrictions (par exemple, exclusif ou d’autres peuvent uniquement lire). |
Fileopen | 6 STATUS_OBJECT_NAME_NOT_FOUND | L’appelant ouvre un fichier qui n’existe pas. |
FSCTL_QUERY_NETWORK_INTERFACE_INFO (IOCTL) | STATUS_INVALID_DEVICE_REQUEST | Il est utilisé uniquement pour Azure Files lorsque les clients ont activé la fonctionnalité multicanal. Dans d’autres cas, il n’est pas nécessaire et nous renvoyons une demande d’appareil non valide lorsqu’elle est interrogée à partir du client. |
QueryStreamInformation | STATUS_NOT_IMPLEMENTED | Certains systèmes de fichiers ont le concept de flux de données alternatifs ou d’autres flux comme le flux de points d’analyse. Azure Files n’a pas ce concept, nous ne prenons donc pas en charge l’API. |
Inattendu (IOCTL) | STATUS_INVALID_DEVICE_REQUEST | Il s’agit FSCTL_QUERY_FILE_REGIONS de , un concept de région spécifique à NTFS/refs et qui n’a pas de sens par rapport à Azure Files. Nous n’implémentons donc pas ce code FSCTL. |
ChangeNotify | STATUS_CANCELLED | Des applications comme Windows Shell Explorer s’abonner aux notifications de modification des fichiers. De cette façon, lorsque les propriétés changent sur un fichier, Windows Shell Explorer se met automatiquement à jour dans la vue. Le client peut choisir d’annuler cet abonnement (par exemple, si l’utilisateur a changé d’affichage dans Explorer et n’en a plus besoin). Dans ce cas, nous renvoyons STATUS_CANCELLED au client pour confirmer que l’abonnement a été annulé. |
FSCTL_DFS_GET_REFERRALS (IOCTL) | STATUS_FS_DRIVER_REQUIRED | Il s’agit d’une demande de référence DFS. Azure Files ne prend pas en charge DFS, et il s’agit de la status correcte à retourner lorsque le système ne prend pas en charge DFS. |
FileSupersede | STATUS_ACCESS_DENIED | Le remplacement de fichier est une opération dans laquelle un fichier existant est supprimé et un nouveau fichier est placé à sa place. Si l’appelant n’est pas autorisé à supprimer le fichier existant, l’appel échoue. |
FileCreate | 7 STATUS_OBJECT_NAME_INVALID | Cela se produit lorsqu’une demande de création d’un fichier a un nom demandé non valide (par exemple, en utilisant des caractères non pris en charge). |
FileCreate | 3 STATUS_OBJECT_NAME_COLLISION | Cela se produit lorsqu’une demande de création d’un fichier a un nom demandé qui correspond à un fichier existant. |
Lecture | STATUS_ACCESS_DENIED | Cela se produit lorsqu’une demande de lecture est effectuée sur un fichier avec un handle qui n’a pas l’accès de lecture accordé (par exemple, le fichier a été ouvert avec l’accès en écriture souhaité). |
TreeConnect | STATUS_ACCESS_DENIED | Dans le contexte de l’authentification Kerberos, l’appelant n’a pas d’autorisations au niveau du partage attribuées via RBAC ou la fonctionnalité « Autorisations de partage par défaut ». Si la fonctionnalité « Autorisations de partage par défaut » n’est pas définie, les appelants qui sont des identités d’ordinateur obtiennent systématiquement cet échec d’accès sur le partage. |
Voir aussi
Contactez-nous pour obtenir de l’aide
Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.