Résoudre les problèmes liés à Azure Files dans LinuxTroubleshoot Azure Files problems in Linux

Cet article liste les problèmes courants liés à Azure Files quand vous vous connectez à partir de clients Linux.This article lists common problems that are related to Azure Files when you connect from Linux clients. Il fournit également les causes possibles et les solutions de ces problèmes.It also provides possible causes and resolutions for these problems.

En plus des étapes de dépannage présentées dans cet article, vous pouvez utiliser AzFileDiagnostics pour vérifier que le client Linux dispose des prérequis.In addition to the troubleshooting steps in this article, you can use AzFileDiagnostics to ensure that the Linux client has correct prerequisites. Azfilediagnostics automatise la détection de la plupart des problèmes mentionnés dans cet article.AzFileDiagnostics automates the detection of most of the symptoms mentioned in this article. Il vous aide à configurer votre environnement pour obtenir des performances optimales.It helps set up your environment to get optimal performance. Vous pouvez également trouver ces informations dans l’utilitaire de résolution des problèmes de partages Azure Files.You can also find this information in the Azure Files shares troubleshooter. L’utilitaire de résolution des problèmes indique les étapes pour vous aider en cas de problèmes de connexion, de mappage et de montage de partages Azure Files.The troubleshooter provides steps to help you with problems connecting, mapping, and mounting Azure Files shares.

Connexion ou montage impossible d’un partage de fichiers AzureCannot connect to or mount an Azure file share

CauseCause

Causes courantes de ce problème :Common causes for this problem are:

  • Vous utilisez un client de distribution Linux non compatible.You're using an incompatible Linux distribution client. Nous vous recommandons d’utiliser les distributions Linux suivantes pour vous connecter à un partage de fichiers Azure :We recommend that you use the following Linux distributions to connect to an Azure file share:
SMB 2.1SMB 2.1
(Montages sur des machines virtuelles au sein de la même région Azure)(Mounts on VMs within the same Azure region)
SMB 3.0SMB 3.0
(Montages en local et entre les régions)(Mounts from on-premises and cross-region)
Serveur UbuntuUbuntu Server 14.04+14.04+ 16.04+16.04+
RHELRHEL 7+7+ 7.5+7.5+
CentOSCentOS 7+7+ 7.5+7.5+
DebianDebian 8+8+
openSUSEopenSUSE 13.2+13.2+ 42.3+42.3+
SUSE Linux Enterprise ServerSUSE Linux Enterprise Server 1212 12 SP3+12 SP3+
  • Les utilitaires CIFS (cifs-utils) ne sont pas installés sur le client.CIFS utilities (cifs-utils) are not installed on the client.
  • La version de SMB/CIFS minimale, à savoir 2.1, n’est pas installée sur le client.The minimum SMB/CIFS version, 2.1, is not installed on the client.
  • Le chiffrement SMB 3.0 n’est pas pris en charge sur le client.SMB 3.0 encryption is not supported on the client. Le tableau précédent fournit une liste des distributions de Linux qui prennent en charge le montage à partir d’emplacements locaux et entre les régions grâce au chiffrement.The preceding table provides a list of Linux distributions that support mounting from on-premises and cross-region using encryption. Les autres distributions requièrent un noyau 4.11 et versions ultérieures.Other distributions require kernel 4.11 and later versions.
  • Vous tentez de vous connecter à un compte de stockage via le port TCP 445, qui n’est pas pris en charge.You're trying to connect to a storage account over TCP port 445, which is not supported.
  • Vous tentez de vous connecter à un partage de fichiers Azure à partir d’une machine virtuelle Azure qui ne se trouve pas dans la même région que le compte de stockage.You're trying to connect to an Azure file share from an Azure VM, and the VM is not in the same region as the storage account.
  • Si le paramètre Transfert sécurisé requis est activé sur le compte de stockage, Azure Files autorise uniquement les connexions utilisant SMB 3.0 avec chiffrement.If the Secure transfer required setting is enabled on the storage account, Azure Files will allow only connections that use SMB 3.0 with encryption.

SolutionSolution

Pour résoudre le problème, utilisez l’outil de résolution des erreurs de montage Azure Files sur Linux.To resolve the problem, use the troubleshooting tool for Azure Files mounting errors on Linux. Cet outil offre les possibilités suivantes :This tool:

  • Il vous permet de valider l’environnement d’exécution du client.Helps you to validate the client running environment.
  • Il détecte la configuration client incompatible qui provoquerait l’échec de l’accès d’Azure Files.Detects the incompatible client configuration that would cause access failure for Azure Files.
  • Il fournit des instructions pour la résolution automatique.Gives prescriptive guidance on self-fixing.
  • Il collecte les suivis des diagnostics.Collects the diagnostics traces.

« Erreur de montage (13) : Autorisation refusée » quand vous montez un partage de fichiers Azure"Mount error(13): Permission denied" when you mount an Azure file share

Cause 1 : Canal de communication non chiffréCause 1: Unencrypted communication channel

Pour des raisons de sécurité, les connexions aux partages de fichiers Azure sont bloquées si le canal de communication n’est pas chiffré et si la tentative de connexion n’est pas effectuée depuis le centre de données sur lequel résident les partages de fichiers Azure.For security reasons, connections to Azure file shares are blocked if the communication channel isn't encrypted and if the connection attempt isn't made from the same datacenter where the Azure file shares reside. Les connexions non chiffrées dans le même centre de données peuvent également être bloquées si le paramètre Transfert sécurisé requis est activé sur le compte de stockage.Unencrypted connections within the same datacenter can also be blocked if the Secure transfer required setting is enabled on the storage account. Un canal de communication chiffré est fourni uniquement si le système d’exploitation client de l’utilisateur prend en charge le chiffrement SMB.An encrypted communication channel is provided only if the user's client OS supports SMB encryption.

Pour en savoir plus, consultez Prérequis pour le montage d’un partage de fichiers Azure avec Linux et le package cifs-utils.To learn more, see Prerequisites for mounting an Azure file share with Linux and the cifs-utils package.

Solution pour la cause 1Solution for cause 1

  1. Connectez-vous à partir d’un client qui prend en charge le chiffrement SMB ou à partir d’une machine virtuelle se trouvant dans le même centre de données que le compte de stockage Azure utilisé pour le partage de fichiers Azure.Connect from a client that supports SMB encryption or connect from a virtual machine in the same datacenter as the Azure storage account that is used for the Azure file share.
  2. Vérifiez que le paramètre Transfert sécurisé obligatoire est désactivé sur le compte de stockage si le client ne prend pas en charge le chiffrement SMB.Verify the Secure transfer required setting is disabled on the storage account if the client does not support SMB encryption.

Cause 2 : Des règles de pare-feu ou de réseau virtuel sont activées sur le compte de stockageCause 2: Virtual network or firewall rules are enabled on the storage account

Si des règles de pare-feu et de réseau virtuel sont configurées sur le compte de stockage, le trafic réseau n’a pas d’accès, sauf si l’adresse IP du client ou un réseau virtuel est autorisé à accéder.If virtual network (VNET) and firewall rules are configured on the storage account, network traffic will be denied access unless the client IP address or virtual network is allowed access.

Solution pour la cause 2Solution for cause 2

Vérifiez que les règles de pare-feu et de réseau virtuel sont configurées correctement sur le compte de stockage.Verify virtual network and firewall rules are configured properly on the storage account. Pour vérifier si des règles de pare-feu ou de réseau virtuel sont à l’origine du problème, définissez temporairement le paramètre du compte de stockage sur Autoriser l’accès à partir de tous les réseaux.To test if virtual network or firewall rules is causing the issue, temporarily change the setting on the storage account to Allow access from all networks. Pour plus d’informations, consultez Configurer les pare-feu et les réseaux virtuels dans le Stockage Azure.To learn more, see Configure Azure Storage firewalls and virtual networks.

« [autorisation refusée] Quota de disque dépassé » lorsque vous essayez d’ouvrir un fichier"[permission denied] Disk quota exceeded" when you try to open a file

Dans Linux, vous recevez un message d’erreur semblable au suivant :In Linux, you receive an error message that resembles the following:

<filename> [autorisation refusée] Quota de disque dépassé<filename> [permission denied] Disk quota exceeded

CauseCause

Vous avez atteint la limite supérieure de handles ouverts simultanément autorisés pour un fichier ou un répertoire.You have reached the upper limit of concurrent open handles that are allowed for a file or directory.

Il existe un quota de 2 000 handles ouverts sur un seul fichier ou répertoire.There is a quota of 2,000 open handles on a single file or directory. Quand vous avez 2 000 handles ouverts, un message d’erreur s’affiche pour signaler que le quota est atteint.When you have 2,000 open handles, an error message is displayed that says the quota is reached.

SolutionSolution

Réduisez le nombre de handles ouverts simultanément en en fermant certains, puis réessayez l’opération.Reduce the number of concurrent open handles by closing some handles, and then retry the operation.

Pour afficher les descripteurs ouverts pour un partage de fichiers, un répertoire ou un fichier, utilisez l’applet de commande PowerShell Get-AzStorageFileHandle.To view open handles for a file share, directory or file, use the Get-AzStorageFileHandle PowerShell cmdlet.

Pour fermer les descripteurs ouverts pour un partage de fichiers, un répertoire ou un fichier, utilisez l’applet de commande PowerShell Close-AzStorageFileHandle.To close open handles for a file share, directory or file, use the Close-AzStorageFileHandle PowerShell cmdlet.

Notes

Les applets de commande AzStorageFileHandle et Close-AzStorageFileHandle sont incluses dans le module PowerShell Az version 2.4 ou ultérieure.The Get-AzStorageFileHandle and Close-AzStorageFileHandle cmdlets are included in Az PowerShell module version 2.4 or later. Pour installer le module PowerShell Az le plus récent, consultez Installer le module Azure PowerShell.To install the latest Az PowerShell module, see Install the Azure PowerShell module.

Ralentissement des copies de fichiers vers et à partir d’Azure Files dans LinuxSlow file copying to and from Azure Files in Linux

  • Si vous n’avez pas d’exigence de taille d’E/S minimum spécifique, nous vous recommandons d’utiliser une taille d’E/S de 1 Mio pour des performances optimales.If you don't have a specific minimum I/O size requirement, we recommend that you use 1 MiB as the I/O size for optimal performance.
  • Utilisez la méthode de copie appropriée :Use the right copy method:
    • Utilisez AZCopy pour les transferts entre deux partages de fichiers.Use AzCopy for any transfer between two file shares.
    • Utilisez cp ou dd avec parallel peut améliorer la vitesse de copie. Le nombre de threads dépend de votre charge de travail et cas d’usage.Using cp or dd with parallel could improve copy speed, the number of threads depends on your use case and workload. Les exemples suivants utilisent six :The following examples use six:
    • exemple cp (cp utilise la taille de bloc par défaut du système de fichiers comme taille de segment) : find * -type f | parallel --will-cite -j 6 cp {} /mntpremium/ &:.cp example (cp will use the default block size of the file system as the chunk size): find * -type f | parallel --will-cite -j 6 cp {} /mntpremium/ &.
    • exemple dd (cette commande définit explicitement la taille du bloc sur 1 Mio) : find * -type f | parallel --will-cite-j 6 dd if={} of=/mnt/share/{} bs=1Mdd example (this command explicitly sets chunk size to 1 MiB): find * -type f | parallel --will-cite-j 6 dd if={} of=/mnt/share/{} bs=1M
    • Outils tiers open source tels que :Open source third party tools such as:
      • GNU Parallel.GNU Parallel.
      • Fpart : trie les fichiers et les regroupe en partitions.Fpart - Sorts files and packs them into partitions.
      • Fpsync : utilise Fpart et un outil de copie pour générer plusieurs instances afin de migrer des données de src_dir vers dst_url.Fpsync - Uses Fpart and a copy tool to spawn multiple instances to migrate data from src_dir to dst_url.
      • Multi : cp et md5sum multithread basés sur GNU Core Utilities.Multi - Multi-threaded cp and md5sum based on GNU coreutils.
  • Définir la taille de fichier à l’avance, au lieu de faire de chaque écriture une écriture étendue, permet d’améliorer la vitesse de copie dans les scénarios où la taille du fichier est connue.Setting the file size in advance, instead of making every write an extending write, helps improve copy speed in scenarios where the file size is known. Si l’extension des écritures doit être évitée, vous pouvez définir une taille de fichier de destination avec la commande truncate - size <size><file>.If extending writes need to be avoided, you can set a destination file size with truncate - size <size><file> command. Après cela, la commande dd if=<source> of=<target> bs=1M conv=notrunc copie un fichier source sans avoir à mettre à jour la taille du fichier cible à plusieurs reprises.After that, dd if=<source> of=<target> bs=1M conv=notrunccommand will copy a source file without having to repeatedly update the size of the target file. Par exemple, vous pouvez définir la taille de fichier de destination pour chaque fichier que vous souhaitez copier (en supposant qu’un partage est monté sous /mnt/Share) :For example, you can set the destination file size for every file you want to copy (assume a share is mounted under /mnt/share):
    • $ for i in `` find * -type f``; do truncate --size ``stat -c%s $i`` /mnt/share/$i; done
    • puis copiez les fichiers sans étendre les écritures en parallèle : $find * -type f | parallel -j6 dd if={} of =/mnt/share/{} bs=1M conv=notruncand then - copy files without extending writes in parallel: $find * -type f | parallel -j6 dd if={} of =/mnt/share/{} bs=1M conv=notrunc

« Erreur de montage (115) : L’opération est en cours » quand vous montez Azure Files à l’aide de SMB 3.0"Mount error(115): Operation now in progress" when you mount Azure Files by using SMB 3.0

CauseCause

Certaines distributions Linux ne prennent pas encore en charge les fonctionnalités de chiffrement dans SMB 3.0.Some Linux distributions don't yet support encryption features in SMB 3.0. Il est possible que les utilisateurs reçoivent un message d’erreur « 115 » s’ils essaient de monter Azure Files en utilisant SMB 3.0 en raison d’une fonctionnalité manquante.Users might receive a "115" error message if they try to mount Azure Files by using SMB 3.0 because of a missing feature. SMB 3.0 avec le chiffrement complet est pris en charge uniquement lorsque vous utilisez Ubuntu 16.04 ou version ultérieure.SMB 3.0 with full encryption is supported only when you're using Ubuntu 16.04 or later.

SolutionSolution

La fonctionnalité de chiffrement pour SMB 3.0 pour Linux a été introduite dans le noyau 4.11.The encryption feature for SMB 3.0 for Linux was introduced in the 4.11 kernel. Cette fonctionnalité permet le montage du partage d’un fichier Azure en local ou à partir d’une autre région Azure.This feature enables mounting of an Azure file share from on-premises or from a different Azure region. Certaines distributions Linux peuvent avoir des modifications rétroportées du noyau 4.11 vers des versions antérieures du noyau Linux qu’elles maintiennent.Some Linux distributions may have backported changes from the 4.11 kernel to older versions of the Linux kernel which they maintain. Pour vous aider à déterminer si votre version de Linux prend en charge SMB 3.0 avec chiffrement, consultez Utiliser Azure Files avec Linux.To assist in determining if your version of Linux supports SMB 3.0 with encryption, consult with Use Azure Files with Linux.

Si votre client SMB Linux ne prend pas en charge le chiffrement, montez Azure Files à l’aide de SMB 2.1 à partir d’une machine virtuelle Azure Linux se trouvant dans le même centre de données que le partage de fichiers.If your Linux SMB client doesn't support encryption, mount Azure Files by using SMB 2.1 from an Azure Linux VM that's in the same datacenter as the file share. Vérifiez que le paramètre Transfert sécurisé requis est désactivé sur le compte de stockage.Verify that the Secure transfer required setting is disabled on the storage account.

Erreur « Aucun accès » lorsque vous tentez d’accéder à un partage de fichiers Azure ou d’en supprimer unError "No access" when you try to access or delete an Azure File Share

Quand vous tentez d’accéder à un partage de fichiers Azure ou d’en supprimer un dans le portail, vous recevrez peut-être l’erreur suivante :When you try to access or delete an Azure file share in the portal, you may receive the following error:

Aucun accèsNo access
Code d’erreur : 403Error code: 403

Cause 1 : Des règles de pare-feu ou de réseau virtuel sont activées sur le compte de stockageCause 1: Virtual network or firewall rules are enabled on the storage account

Solution pour la cause 1Solution for cause 1

Vérifiez que les règles de pare-feu et de réseau virtuel sont configurées correctement sur le compte de stockage.Verify virtual network and firewall rules are configured properly on the storage account. Pour vérifier si des règles de pare-feu ou de réseau virtuel sont à l’origine du problème, définissez temporairement le paramètre du compte de stockage sur Autoriser l’accès à partir de tous les réseaux.To test if virtual network or firewall rules is causing the issue, temporarily change the setting on the storage account to Allow access from all networks. Pour plus d’informations, consultez Configurer les pare-feu et les réseaux virtuels dans le Stockage Azure.To learn more, see Configure Azure Storage firewalls and virtual networks.

Cause 2 : Votre compte d’utilisateur n’a pas accès au compte de stockageCause 2: Your user account does not have access to the storage account

Solution pour la cause 2Solution for cause 2

Accédez au compte de stockage où se trouve le partage de fichiers Azure, cliquez sur Contrôle d’accès (IAM) et vérifiez que votre compte d’utilisateur a accès au compte de stockage.Browse to the storage account where the Azure file share is located, click Access control (IAM) and verify your user account has access to the storage account. Pour en savoir plus, consultez Guide pratique pour sécuriser votre compte de stockage avec le contrôle d’accès en fonction du rôle (RBAC).To learn more, see How to secure your storage account with Role-Based Access Control (RBAC).

Impossible de supprimer un fichier ou répertoire d’un partage de fichiers AzureUnable to delete a file or directory in an Azure file share

CauseCause

Ce problème se produit généralement quand le fichier ou le répertoire a un descripteur ouvert.This issue typically occurs if the file or directory has an open handle.

SolutionSolution

Si les clients SMB ont fermé tous les descripteurs ouverts et que le problème persiste, effectuez les étapes suivantes :If the SMB clients have closed all open handles and the issue continues to occur, perform the following:

Notes

Les applets de commande AzStorageFileHandle et Close-AzStorageFileHandle sont incluses dans le module PowerShell Az version 2.4 ou ultérieure.The Get-AzStorageFileHandle and Close-AzStorageFileHandle cmdlets are included in Az PowerShell module version 2.4 or later. Pour installer le module PowerShell Az le plus récent, consultez Installer le module Azure PowerShell.To install the latest Az PowerShell module, see Install the Azure PowerShell module.

Ralentissement des performances dans un partage de fichiers Azure monté sur une machine virtuelleSlow performance on an Azure file share mounted on a Linux VM

Cause 1 : Mise en cacheCause 1: Caching

L’une des causes possibles du ralentissement des performances est la désactivation de la mise en cache.One possible cause of slow performance is disabled caching. La mise en cache peut être utile que si vous accédez plusieurs fois à un fichier. Sinon, il peut s’agir d’une surcharge.Caching can be useful if you are accessing a file repeatedly, otherwise, it can be an overhead. Vérifiez si vous utilisez le cache avant de le désactiver.Check if you are using the cache before disabling it.

Solution pour la cause 1Solution for cause 1

Pour vérifier si la mise en cache est désactivée, recherchez l’entrée cache= .To check whether caching is disabled, look for the cache= entry.

cache=none indique que la mise en cache est désactivée.Cache=none indicates that caching is disabled. Remontez le partage avec la commande de montage par défaut ou en ajoutant explicitement l’option cache=strict à la commande de montage pour vérifier l’activation de la mise en cache par défaut ou du mode de mise en cache « strict ».Remount the share by using the default mount command or by explicitly adding the cache=strict option to the mount command to ensure that default caching or "strict" caching mode is enabled.

Dans certains scénarios, l’option de montage serverino peut entraîner la commande ls à exécuter stat dans chaque entrée de répertoire.In some scenarios, the serverino mount option can cause the ls command to run stat against every directory entry. Ce comportement provoque une dégradation des performances lorsque vous répertoriez le contenu d’un répertoire volumineux.This behavior results in performance degradation when you're listing a large directory. Vous pouvez vérifier les options de montage dans l’entrée /etc/fstab :You can check the mount options in your /etc/fstab entry:

//azureuser.file.core.windows.net/cifs /cifs cifs vers=2.1,serverino,username=xxx,password=xxx,dir_mode=0777,file_mode=0777

Vous pouvez également vérifier si les options correctes sont utilisées en exécutant la commande sudo mount | grep cifs et en vérifiant sa sortie.You can also check whether the correct options are being used by running the sudo mount | grep cifs command and checking its output. Voici un exemple de sortie :The following is example output:

//azureuser.file.core.windows.net/cifs on /cifs type cifs (rw,relatime,vers=2.1,sec=ntlmssp,cache=strict,username=xxx,domain=X,uid=0,noforceuid,gid=0,noforcegid,addr=192.168.10.1,file_mode=0777, dir_mode=0777,persistenthandles,nounix,serverino,mapposix,rsize=1048576,wsize=1048576,actimeo=1)

Si l’option cache=strict ou serverino n’est pas présente, démontez et remontez Azure Files en exécutant la commande de montage à partir de la documentation.If the cache=strict or serverino option is not present, unmount and mount Azure Files again by running the mount command from the documentation. Revérifiez ensuite que les options sont correctes pour l’entrée /etc/fstab.Then, recheck that the /etc/fstab entry has the correct options.

Cause 2 : LimitationCause 2: Throttling

Vous rencontrez peut-être des limitations et vos requêtes sont envoyées dans une file d’attente.It is possible you are experiencing throttling and your requests are being sent to a queue. Vous pouvez cela vérifier en tirant parti des mesures de stockage Azure dans Azure Monitor.You can verify this by leveraging Azure Storage metrics in Azure Monitor.

Solution pour la cause 2Solution for cause 2

Vérifiez que votre application est incluse dans les objectifs de mise à l’échelle Azure Files.Ensure your app is within the Azure Files scale targets.

Les horodatages ont été perdus lors de la copie des fichiers de Windows vers LinuxTime stamps were lost in copying files from Windows to Linux

Sur les plateformes Linux/Unix, la commande cp -p échoue si les fichiers 1 et 2 sont détenus par différents utilisateurs.On Linux/Unix platforms, the cp -p command fails if different users own file 1 and file 2.

CauseCause

L’indicateur Force f de COPYFILE provoque l’exécution de la commande cp -p -f sur Unix.The force flag f in COPYFILE results in executing cp -p -f on Unix. Cette commande échoue également dans la conservation de l’horodatage du fichier que vous ne possédez pas.This command also fails to preserve the time stamp of the file that you don't own.

Solution de contournementWorkaround

Utilisez le nom de l’utilisateur du compte de stockage pour copier les fichiers :Use the storage account user for copying the files:

  • Useadd : [storage account name]
  • Passwd [storage account name]
  • Su [storage account name]
  • Cp -p filename.txt /share

ls : impossible d’accéder à « <chemin> » : Erreur d’entrée/sortiels: cannot access '<path>': Input/output error

Quand vous tentez de répertorier les fichiers d’un partage de fichiers Azure à l’aide de la commande ls, cette commande se bloque lors de l’affichage de la liste des fichiers.When you try to list files in an Azure file share by using the ls command, the command hangs when listing files. Vous obtenez l’erreur suivante :You get the following error:

ls : impossible d’accéder à « <chemin> » : Erreur d’entrée/sortiels: cannot access'<path>': Input/output error

SolutionSolution

Mettez à niveau le noyau Linux vers les versions suivantes qui incluent un correctif pour ce problème :Upgrade the Linux kernel to the following versions that have a fix for this problem:

  • 4.4.87+4.4.87+
  • 4.9.48+4.9.48+
  • 4.12.11+4.12.11+
  • Toutes les versions à partir de 4.13All versions that are greater than or equal to 4.13

CauseCause

Par défaut, le montage des partages de fichiers Azure sur Linux à l’aide de CIFS n’active pas la prise en charge des liens symboliques (symlinks).By default, mounting Azure file shares on Linux by using CIFS doesn’t enable support for symbolic links (symlinks). Une erreur comme celle-ci s’affiche :You see an error like this:

ln -s linked -n t
ln: failed to create symbolic link 't': Operation not supported

SolutionSolution

Le client Linux CIFS ne prend pas en charge la création de liens symboliques de type Windows via le protocole SMB 2 ou 3.The Linux CIFS client doesn’t support creation of Windows-style symbolic links over the SMB 2 or 3 protocol. Le client Linux prend actuellement en charge un autre style de liens symboliques appelés liens symboliques Mishall+French pour créer et suivre les opérations.Currently, the Linux client supports another style of symbolic links called Minshall+French symlinks for both create and follow operations. Les clients ayant besoin de liens symboliques peuvent utiliser l’option de montage « mfsymlinks ».Customers who need symbolic links can use the "mfsymlinks" mount option. Nous recommandons « mfsymlinks », car il s’agit également du format utilisé par les ordinateurs Mac.We recommend "mfsymlinks" because it's also the format that Macs use.

Pour utiliser les liens symboliques, ajoutez le code suivant à la fin de votre commande de montage CIFS :To use symlinks, add the following to the end of your CIFS mount command:

,mfsymlinks

La commande ressemble alors à ceci :So the command looks something like:

sudo mount -t cifs //<storage-account-name>.file.core.windows.net/<share-name> <mount-point> -o vers=<smb-version>,username=<storage-account-name>,password=<storage-account-key>,dir_mode=0777,file_mode=0777,serverino,mfsymlinks

Vous pouvez ensuite créer des liens symboliques comme suggéré sur le wiki.You can then create symlinks as suggested on the wiki.

Erreur ConditionHeadersNotSupported sur une application web utilisant Azure Files à partir du navigateurError ConditionHeadersNotSupported from a Web Application using Azure Files from Browser

L’erreur ConditionHeadersNotSupported se produit quand vous accédez à du contenu hébergé dans Azure Files à partir d’une application utilisant des en-têtes conditionnels (par exemple, un navigateur web) et que l’accès échoue.The ConditionHeadersNotSupported error occurs when accessing content hosted in Azure Files through an application that makes use of conditional headers, such as a web browser, access fails. Le message d’erreur indique que les en-têtes conditionnels ne sont pas pris en charge.The error states that condition headers are not supported.

Erreur relative aux en-têtes conditionnels avec Azure Files

Cause :Cause

Les en-têtes conditionnels ne sont pas encore pris en charge.Conditional headers are not yet supported. Les applications qui utilisent ces en-têtes doivent demander le fichier complet pour chaque accès au fichier.Applications implementing them will need to request the full file every time the file is accessed.

Solution de contournementWorkaround

Quand un nouveau fichier est chargé, la propriété cache-control est définie sur « no-cache » par défaut.When a new file is uploaded, the cache-control property by default is “no-cache”. Pour forcer l’application à demander le fichier à chaque fois, la valeur « no-cache » de la propriété cache-control du fichier doit être remplacée par « no-cache, no-store, must-revalidate ».To force the application to request the file every time, the file's cache-control property needs to be updated from “no-cache” to “no-cache, no-store, must-revalidate”. Vous pouvez le faire en utilisant Explorateur Stockage Azure.This can be achieved using Azure Storage Explorer.

Modification du cache de contenu de l’Explorateur Stockage pour les en-têtes conditionnels Azure Files

« Erreur de montage (112) : L’hôte est hors service » en raison de l’expiration du délai de reconnexion"Mount error(112): Host is down" because of a reconnection time-out

L’erreur de montage 112 se produit sur le client Linux s’il est resté inactif pendant une période prolongée.A "112" mount error occurs on the Linux client when the client has been idle for a long time. Après une durée d’inactivité prolongée, le client se déconnecte, et la connexion arrive à expiration.After an extended idle time, the client disconnects and the connection times out.

CauseCause

La connexion peut être inactive pour les raisons suivantes :The connection can be idle for the following reasons:

  • Des échecs de communication réseau qui empêchent le rétablissement d’une connexion TCP avec le serveur quand l’option de montage « conditionnel » par défaut est utiliséeNetwork communication failures that prevent re-establishing a TCP connection to the server when the default "soft" mount option is used
  • Les correctifs de reconnexion récents qui ne sont pas présents dans les anciens noyaux.Recent reconnection fixes that are not present in older kernels

SolutionSolution

Ce problème de reconnexion dans le noyau Linux est maintenant résolu dans le cadre des modifications suivantes :This reconnection problem in the Linux kernel is now fixed as part of the following changes:

Toutefois, il se peut que ces modifications n’aient pas encore été appliquées à l’ensemble des distributions Linux.However, these changes might not be ported yet to all the Linux distributions. Si vous utilisez une distribution Linux populaire, vous pouvez vérifier la page Utiliser Azure Files avec Linux pour voir quelle version de votre distribution a les modifications de noyau nécessaires.If you're using a popular Linux distribution, you can check on the Use Azure Files with Linux to see which version of your distribution has the necessary kernel changes.

Solution de contournementWorkaround

Vous pouvez contourner ce problème en spécifiant un montage inconditionnel.You can work around this problem by specifying a hard mount. Un montage inconditionnel force le client à attendre jusqu'à ce qu’une connexion soit établie ou jusqu'à ce qu’elle soit explicitement interrompue.A hard mount forces the client to wait until a connection is established or until it's explicitly interrupted. Vous pouvez l’utiliser pour empêcher des erreurs dues à des délais d’attente réseau.You can use it to prevent errors because of network time-outs. Toutefois, cette solution de contournement peut provoquer des attentes indéfinies.However, this workaround might cause indefinite waits. Préparez-vous à arrêter les connexions si nécessaire.Be prepared to stop connections as necessary.

Si vous ne pouvez pas effectuer de mise à niveau vers les dernières versions du noyau, vous pouvez contourner ce problème en conservant un fichier dans le partage de fichiers Azure dans lequel vous écrivez toutes les 30 secondes au plus.If you can't upgrade to the latest kernel versions, you can work around this problem by keeping a file in the Azure file share that you write to every 30 seconds or less. Il doit s’agir d’une opération d’écriture, telle que la réécriture de la date de création ou de modification du fichier.This must be a write operation, such as rewriting the created or modified date on the file. Sinon, vous pouvez obtenir les résultats mis en cache, et votre opération peut ne pas déclencher la reconnexion.Otherwise, you might get cached results, and your operation might not trigger the reconnection.

« CIFS VFS: error -22 on ioctl to get interface list » lorsque vous montez un partage de fichiers Azure à l’aide de SMB 3.0"CIFS VFS: error -22 on ioctl to get interface list" when you mount an Azure file share by using SMB 3.0

CauseCause

Cette erreur est consignée, car Azure Files ne prend actuellement pas en charge SMB Multichannel.This error is logged because Azure Files does not currently support SMB multichannel.

SolutionSolution

Cette erreur peut être ignorée.This error can be ignored.

Vous avez besoin d’aide ?Need help? Contactez le support technique.Contact support.

Si vous avez encore besoin d’aide, contactez le support technique pour résoudre rapidement votre problème.If you still need help, contact support to get your problem resolved quickly.