Solucionar problemas de arquivos do Azure no LinuxTroubleshoot Azure Files problems in Linux

Este artigo lista os problemas comuns relacionados aos arquivos do Azure quando você se conecta de clientes Linux.This article lists common problems that are related to Azure Files when you connect from Linux clients. Ele também fornece possíveis causas e resoluções para esses problemas.It also provides possible causes and resolutions for these problems.

Além das etapas de solução de problemas neste artigo, você pode usar o AzFileDiagnostics para garantir que o cliente Linux tenha os pré-requisitos corretos.In addition to the troubleshooting steps in this article, you can use AzFileDiagnostics to ensure that the Linux client has correct prerequisites. O AzFileDiagnostics automatiza a detecção da maioria dos sintomas mencionados neste artigo.AzFileDiagnostics automates the detection of most of the symptoms mentioned in this article. Ele ajuda a configurar seu ambiente para obter um desempenho ideal.It helps set up your environment to get optimal performance. Você também pode encontrar essas informações na solução de problemas de compartilhamentos do Azure files.You can also find this information in the Azure Files shares troubleshooter. O solucionador de problemas fornece etapas para ajudá-lo com problemas de conexão, mapeamento e montagem de compartilhamentos de arquivos do Azure.The troubleshooter provides steps to help you with problems connecting, mapping, and mounting Azure Files shares.

Não é possível conectar ou montar um compartilhamento de arquivos do AzureCannot connect to or mount an Azure file share

CausaCause

As causas comuns para esse problema são:Common causes for this problem are:

  • Você está usando um cliente de distribuição do Linux incompatível.You're using an incompatible Linux distribution client. Recomendamos que você use as seguintes distribuições do Linux para se conectar a um compartilhamento de arquivos do Azure:We recommend that you use the following Linux distributions to connect to an Azure file share:
SMB 2.1SMB 2.1
(Monta em VMs na mesma região do Azure)(Mounts on VMs within the same Azure region)
SMB 3.0SMB 3.0
(Montagens do local e entre regiões)(Mounts from on-premises and cross-region)
Ubuntu ServerUbuntu 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+
Servidor Linux Empresarial SUSESUSE Linux Enterprise Server 1212 12 SP3 +12 SP3+
  • Os utilitários CIFS (CIFS-utils) não estão instalados no cliente.CIFS utilities (cifs-utils) are not installed on the client.
  • A versão mínima do SMB/CIFS, 2,1, não está instalada no cliente.The minimum SMB/CIFS version, 2.1, is not installed on the client.
  • Não há suporte para a criptografia SMB 3,0 no cliente.SMB 3.0 encryption is not supported on the client. A tabela anterior fornece uma lista de distribuições do Linux que dão suporte à montagem do local e entre regiões usando criptografia.The preceding table provides a list of Linux distributions that support mounting from on-premises and cross-region using encryption. Outras distribuições requerem o kernel 4.11 e versões posteriores.Other distributions require kernel 4.11 and later versions.
  • Você está tentando se conectar a uma conta de armazenamento pela porta TCP 445, que não tem suporte.You're trying to connect to a storage account over TCP port 445, which is not supported.
  • Você está tentando se conectar a um compartilhamento de arquivos do Azure de uma VM do Azure e a VM não está na mesma região que a conta de armazenamento.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.
  • Se a configuração transferência segura necessária estiver habilitada na conta de armazenamento, os arquivos do Azure permitirão apenas conexões que usam SMB 3,0 com criptografia.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.

SoluçãoSolution

Para resolver o problema, use a ferramenta de solução de problemas para erros de montagem de arquivos do Azure no Linux.To resolve the problem, use the troubleshooting tool for Azure Files mounting errors on Linux. Esta ferramenta:This tool:

  • Ajuda a validar o ambiente de execução do cliente.Helps you to validate the client running environment.
  • Detecta a configuração de cliente incompatível que causaria falha de acesso para arquivos do Azure.Detects the incompatible client configuration that would cause access failure for Azure Files.
  • Fornece orientação prescritiva sobre correção automática.Gives prescriptive guidance on self-fixing.
  • Coleta os rastreamentos de diagnóstico.Collects the diagnostics traces.

"Erro de montagem (13): permissão negada" ao montar um compartilhamento de arquivos do Azure"Mount error(13): Permission denied" when you mount an Azure file share

Causa 1: canal de comunicação não criptografadoCause 1: Unencrypted communication channel

Por motivos de segurança, as ligações para as partilhas de ficheiros do Azure serão bloqueadas se o canal de comunicação não estiver encriptado e se a tentativa de ligação não for feita a partir do mesmo datacenter onde residem as partilhas de ficheiros do 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. As ligações não encriptadas dentro do mesmo datacenter poderão também ser bloqueadas se a definição Transferência segura necessária estiver ativada na conta de armazenamento.Unencrypted connections within the same datacenter can also be blocked if the Secure transfer required setting is enabled on the storage account. Será fornecido um canal de comunicação encriptado apenas se o SO do cliente do utilizador suportar a encriptação SMB.An encrypted communication channel is provided only if the user's client OS supports SMB encryption.

Para obter mais informações, veja Pré-requisitos para montar uma partilha de ficheiros do Azure com o Linux e o pacote cifs-utils.To learn more, see Prerequisites for mounting an Azure file share with Linux and the cifs-utils package.

Solução para o motivo 1Solution for cause 1

  1. Conecte-se de um cliente que dá suporte à criptografia SMB ou conecte-se de uma máquina virtual no mesmo datacenter que a conta de armazenamento do Azure que é usada para o compartilhamento de arquivos do 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. Verifique se a configuração transferência segura necessária está desabilitada na conta de armazenamento se o cliente não oferecer suporte à criptografia SMB.Verify the Secure transfer required setting is disabled on the storage account if the client does not support SMB encryption.

Causa 2: as regras de firewall ou de rede virtual estão habilitadas na conta de armazenamentoCause 2: Virtual network or firewall rules are enabled on the storage account

Caso estejam configuradas regras de firewall ou de rede virtual (VNET) na conta de armazenamento, será negado o acesso ao tráfego de rede, a menos que o endereço IP do cliente ou a rede virtual tenha permissão de acesso.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.

Solução para o motivo 2Solution for cause 2

Verifique se as regras de firewall ou de rede virtual estão configuradas corretamente na conta de armazenamento.Verify virtual network and firewall rules are configured properly on the storage account. Para testar se as regras de firewall ou de rede virtual estão a causar o problema, altere temporariamente a definição da conta de armazenamento para Permitir o acesso de todas as redes.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. Para saber mais, veja Configurar firewalls e redes virtuais do Armazenamento do Microsoft Azure.To learn more, see Configure Azure Storage firewalls and virtual networks.

"[permissão negada] cota de disco excedida" quando você tenta abrir um arquivo"[permission denied] Disk quota exceeded" when you try to open a file

No Linux, você recebe uma mensagem de erro semelhante à seguinte:In Linux, you receive an error message that resembles the following:

<nome de arquivo > [permissão negada] cota de disco excedida<filename> [permission denied] Disk quota exceeded

CausaCause

Você atingiu o limite máximo de identificadores abertos simultâneos que são permitidos para um arquivo.You have reached the upper limit of concurrent open handles that are allowed for a file.

Há uma cota de 2.000 identificadores abertos em um único arquivo.There is a quota of 2,000 open handles on a single file. Quando você tem 2.000 identificadores abertos, uma mensagem de erro é exibida dizendo que a cota é atingida.When you have 2,000 open handles, an error message is displayed that says the quota is reached.

SoluçãoSolution

Reduza o número de identificadores abertos simultâneos fechando alguns identificadores e, em seguida, repita a operação.Reduce the number of concurrent open handles by closing some handles, and then retry the operation.

Para exibir identificadores abertos para um compartilhamento de arquivos, diretório ou arquivo, use o cmdlet Get-AzStorageFileHandle do PowerShell.To view open handles for a file share, directory or file, use the Get-AzStorageFileHandle PowerShell cmdlet.

Para fechar identificadores abertos para um compartilhamento de arquivos, diretório ou arquivo, use o cmdlet Close-AzStorageFileHandle do PowerShell.To close open handles for a file share, directory or file, use the Close-AzStorageFileHandle PowerShell cmdlet.

Nota

Os cmdlets Get-AzStorageFileHandle e close-AzStorageFileHandle estão incluídos no módulo AZ PowerShell versão 2,4 ou posterior.The Get-AzStorageFileHandle and Close-AzStorageFileHandle cmdlets are included in Az PowerShell module version 2.4 or later. Para instalar o módulo AZ PowerShell mais recente, consulte instalar o Azure PowerShell Module.To install the latest Az PowerShell module, see Install the Azure PowerShell module.

Cópia de arquivo lenta de e para arquivos do Azure no LinuxSlow file copying to and from Azure Files in Linux

  • Se você não tiver um requisito de tamanho mínimo de e/s específico, recomendamos o uso de 1 MiB como o tamanho de e/s para um desempenho ideal.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.
  • Use o método de cópia correto:Use the right copy method:
    • Use AzCopy para qualquer transferência entre dois compartilhamentos de arquivos.Use AzCopy for any transfer between two file shares.
    • Usar CP ou DD com Parallel pode melhorar a velocidade de cópia, o número de threads depende do seu caso de uso e da carga de trabalho.Using cp or dd with parallel could improve copy speed, the number of threads depends on your use case and workload. Os exemplos a seguir usam seis:The following examples use six:
    • exemplo de CP (CP usará o tamanho de bloco padrão do sistema de arquivos como o tamanho da parte): 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/ &.
    • exemplo de DD (este comando define explicitamente o tamanho da parte como 1 MiB): 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
    • Ferramentas de terceiros de código aberto, como:Open source third party tools such as:
      • GNU Parallel.GNU Parallel.
      • Fpart -classifica os arquivos e os compacta em partições.Fpart - Sorts files and packs them into partitions.
      • Fpsync -usa fpart e uma ferramenta de cópia para gerar várias instâncias para migrar dados de src_dir para dst_url.Fpsync - Uses Fpart and a copy tool to spawn multiple instances to migrate data from src_dir to dst_url.
      • Vários multithreaded CP e md5sum com base no GNU coreutils.Multi - Multi-threaded cp and md5sum based on GNU coreutils.
  • Definir o tamanho do arquivo com antecedência, em vez de fazer cada gravação de uma gravação de extensão, ajuda a melhorar a velocidade de cópia em cenários em que o tamanho do arquivo é conhecido.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. Se for necessário evitar gravações estendidas, você poderá definir um tamanho de arquivo de destino com truncate - size <size><file> comando.If extending writes need to be avoided, you can set a destination file size with truncate - size <size><file> command. Depois disso, dd if=<source> of=<target> bs=1M conv=notrunccomando copiará um arquivo de origem sem precisar atualizar repetidamente o tamanho do arquivo de destino.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. Por exemplo, você pode definir o tamanho do arquivo de destino para cada arquivo que deseja copiar (Suponha que um compartilhamento seja montado em/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
    • e, em seguida, copiar arquivos sem estender gravações em paralelo: $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

"Erro de montagem (115): operação agora em andamento" ao montar arquivos do Azure usando SMB 3,0"Mount error(115): Operation now in progress" when you mount Azure Files by using SMB 3.0

CausaCause

Algumas distribuições do Linux ainda não suportam as funcionalidades de encriptação no SMB 3.0.Some Linux distributions don't yet support encryption features in SMB 3.0. Os utilizadores poderão receber uma mensagem de erro “115” se tentarem montar os Ficheiros do Azure com o SMB 3.0 devido à falta de uma funcionalidade.Users might receive a "115" error message if they try to mount Azure Files by using SMB 3.0 because of a missing feature. O SMB 3.0 com a encriptação completa é suportado apenas quando estiver a utilizar o Ubuntu 16.04 ou posterior.SMB 3.0 with full encryption is supported only when you're using Ubuntu 16.04 or later.

SoluçãoSolution

A funcionalidade de encriptação do SMB 3.0 para Linux foi introduzida no kernel 4.11.The encryption feature for SMB 3.0 for Linux was introduced in the 4.11 kernel. Esta funcionalidade permite a montagem de uma partilha de ficheiros do Azure a partir do local ou a partir de uma região diferente do Azure.This feature enables mounting of an Azure file share from on-premises or from a different Azure region. Algumas distribuições do Linux podem ter alterações reportadas do kernel 4,11 para versões mais antigas do kernel do Linux que eles mantêm.Some Linux distributions may have backported changes from the 4.11 kernel to older versions of the Linux kernel which they maintain. Para ajudar a determinar se sua versão do Linux dá suporte a SMB 3,0 com criptografia, consulte usar os arquivos do Azure com o Linux.To assist in determining if your version of Linux supports SMB 3.0 with encryption, consult with Use Azure Files with Linux.

Se o cliente SMB do Linux não suportar a encriptação, monte os Ficheiros do Azure com o SMB 2.1 numa VM Linux do Azure que está no mesmo datacenter que a partilha de ficheiros.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. Verifique se a definição Transferência segura necessária está ativada na conta de armazenamento.Verify that the Secure transfer required setting is disabled on the storage account.

Erro "sem acesso" ao tentar acessar ou excluir um compartilhamento de arquivos do AzureError "No access" when you try to access or delete an Azure File Share

Ao tentar acessar ou excluir um compartilhamento de arquivos do Azure no portal, você pode receber o seguinte erro:When you try to access or delete an Azure file share in the portal, you may receive the following error:

Sem acessoNo access
Código de erro: 403Error code: 403

Causa 1: as regras de firewall ou de rede virtual estão habilitadas na conta de armazenamentoCause 1: Virtual network or firewall rules are enabled on the storage account

Solução para o motivo 1Solution for cause 1

Verifique se as regras de firewall ou de rede virtual estão configuradas corretamente na conta de armazenamento.Verify virtual network and firewall rules are configured properly on the storage account. Para testar se as regras de firewall ou de rede virtual estão a causar o problema, altere temporariamente a definição da conta de armazenamento para Permitir o acesso de todas as redes.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. Para saber mais, veja Configurar firewalls e redes virtuais do Armazenamento do Microsoft Azure.To learn more, see Configure Azure Storage firewalls and virtual networks.

Causa 2: sua conta de usuário não tem acesso à conta de armazenamentoCause 2: Your user account does not have access to the storage account

Solução para o motivo 2Solution for cause 2

Navegue até a conta de armazenamento onde o compartilhamento de arquivos do Azure está localizado, clique em controle de acesso (iam) e verifique se sua conta de usuário tem acesso à conta de armazenamento.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. Para saber mais, confira como proteger sua conta de armazenamento com o RBAC (controle de acesso baseado em função).To learn more, see How to secure your storage account with Role-Based Access Control (RBAC).

Não é possível excluir um arquivo ou diretório em um compartilhamento de arquivos do AzureUnable to delete a file or directory in an Azure file share

CausaCause

Esse problema normalmente ocorre se o arquivo ou diretório tiver um identificador aberto.This issue typically occurs if the file or directory has an open handle.

SoluçãoSolution

Se os clientes SMB tiverem fechado todos os identificadores abertos e o problema continuar ocorrendo, execute o seguinte:If the SMB clients have closed all open handles and the issue continues to occur, perform the following:

Nota

Os cmdlets Get-AzStorageFileHandle e close-AzStorageFileHandle estão incluídos no módulo AZ PowerShell versão 2,4 ou posterior.The Get-AzStorageFileHandle and Close-AzStorageFileHandle cmdlets are included in Az PowerShell module version 2.4 or later. Para instalar o módulo AZ PowerShell mais recente, consulte instalar o Azure PowerShell Module.To install the latest Az PowerShell module, see Install the Azure PowerShell module.

Desempenho lento em um compartilhamento de arquivos do Azure montado em uma VM LinuxSlow performance on an Azure file share mounted on a Linux VM

Causa 1: CachingCause 1: Caching

Uma possível causa do desempenho lento é o cache desabilitado.One possible cause of slow performance is disabled caching. O Caching pode ser útil se você estiver acessando um arquivo repetidamente, caso contrário, pode ser uma sobrecarga.Caching can be useful if you are accessing a file repeatedly, otherwise, it can be an overhead. Verifique se você está usando o cache antes de desabilitá-lo.Check if you are using the cache before disabling it.

Solução para o motivo 1Solution for cause 1

Para verificar se o Caching está desabilitado, procure a entrada cache = .To check whether caching is disabled, look for the cache= entry.

Cache = None indica que o Caching está desabilitado.Cache=none indicates that caching is disabled. Remonte o compartilhamento usando o comando de montagem padrão ou adicionando explicitamente a opção cache = Strict ao comando mount para garantir que o cache padrão ou o modo de cache "estrito" esteja habilitado.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.

Em alguns cenários, a opção de montagem serverino pode fazer com que o comando ls execute stat em todas as entradas de diretório.In some scenarios, the serverino mount option can cause the ls command to run stat against every directory entry. Esse comportamento resulta em degradação de desempenho quando você está listando um diretório grande.This behavior results in performance degradation when you're listing a large directory. Você pode verificar as opções de montagem em sua entrada /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

Você também pode verificar se as opções corretas estão sendo usadas executando o comando sudo mount | grep CIFS e verificando sua saída.You can also check whether the correct options are being used by running the sudo mount | grep cifs command and checking its output. Veja a seguir um exemplo de saída: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)

Se a opção cache = Strict ou serverino não estiver presente, desmonte e monte os arquivos do Azure novamente executando o comando Mount da documentação.If the cache=strict or serverino option is not present, unmount and mount Azure Files again by running the mount command from the documentation. Em seguida, verifique novamente se a entrada /etc/fstab tem as opções corretas.Then, recheck that the /etc/fstab entry has the correct options.

Causa 2: limitaçãoCause 2: Throttling

É possível que você esteja enfrentando a limitação e que suas solicitações estejam sendo enviadas para uma fila.It is possible you are experiencing throttling and your requests are being sent to a queue. Você pode verificar isso aproveitando as métricas de armazenamento do Azure no Azure monitor.You can verify this by leveraging Azure Storage metrics in Azure Monitor.

Solução para o motivo 2Solution for cause 2

Verifique se seu aplicativo está dentro dos destinos de escala de arquivos do Azure.Ensure your app is within the Azure Files scale targets.

Os carimbos de data/hora foram perdidos na cópia de arquivos do Windows para o LinuxTime stamps were lost in copying files from Windows to Linux

Em plataformas Linux/Unix, o comando CP-p falhará se usuários diferentes tiverem o arquivo 1 e o arquivo 2.On Linux/Unix platforms, the cp -p command fails if different users own file 1 and file 2.

CausaCause

O sinalizador de força f em CopyFile resulta na execução de CP-p-f no UNIX.The force flag f in COPYFILE results in executing cp -p -f on Unix. Esse comando também falha ao preservar o carimbo de data/hora do arquivo que você não possui.This command also fails to preserve the time stamp of the file that you don't own.

SoluçãoWorkaround

Use o usuário da conta de armazenamento para copiar os arquivos: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: não é possível acessar '<Path>': erro de entrada/saídals: cannot access '<path>': Input/output error

Quando você tenta listar arquivos em um compartilhamento de arquivos do Azure usando o comando ls, o comando trava ao listar arquivos.When you try to list files in an Azure file share by using the ls command, the command hangs when listing files. Você Obtém o seguinte erro:You get the following error:

ls: não é possível acessar '<Path>': erro de entrada/saídals: cannot access'<path>': Input/output error

SoluçãoSolution

Atualize o kernel do Linux para as seguintes versões que têm uma correção para esse problema: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+
  • Todas as versões que são maiores ou iguais a 4,13All versions that are greater than or equal to 4.13

CausaCause

Por padrão, a montagem de compartilhamentos de arquivos do Azure no Linux usando CIFS não habilita o suporte para links simbólicos (symlinks).By default, mounting Azure file shares on Linux by using CIFS doesn’t enable support for symbolic links (symlinks). Você verá um erro como este:You see an error like this:

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

SoluçãoSolution

O cliente Linux CIFS não dá suporte à criação de links simbólicos no estilo do Windows por meio do protocolo SMB 2 ou 3.The Linux CIFS client doesn’t support creation of Windows-style symbolic links over the SMB 2 or 3 protocol. Atualmente, o cliente Linux dá suporte a outro estilo de links simbólicos chamado Minshall + French symlinks para operações de criação e de acompanhamento.Currently, the Linux client supports another style of symbolic links called Minshall+French symlinks for both create and follow operations. Os clientes que precisam de links simbólicos podem usar a opção de montagem "mfsymlinks".Customers who need symbolic links can use the "mfsymlinks" mount option. Recomendamos "mfsymlinks" porque ele também é o formato que os Macs usam.We recommend "mfsymlinks" because it's also the format that Macs use.

Para usar o symlinks, adicione o seguinte ao final do comando de montagem CIFS:To use symlinks, add the following to the end of your CIFS mount command:

,mfsymlinks

Portanto, o comando é semelhante a: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

Em seguida, você pode criar symlinks como sugerido no wiki.You can then create symlinks as suggested on the wiki.

Erro ConditionHeadersNotSupported de um aplicativo Web usando arquivos do Azure do navegadorError ConditionHeadersNotSupported from a Web Application using Azure Files from Browser

O erro ConditionHeadersNotSupported ocorre ao acessar o conteúdo hospedado nos arquivos do Azure por meio de um aplicativo que utiliza cabeçalhos condicionais, como um navegador da Web, o acesso falha.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. O erro informa que os cabeçalhos de condição não têm suporte.The error states that condition headers are not supported.

Erro nos cabeçalhos condicionais dos arquivos do Azure

CausaCause

Ainda não há suporte para cabeçalhos condicionais.Conditional headers are not yet supported. Os aplicativos que a implementam precisarão solicitar o arquivo completo toda vez que o arquivo for acessado.Applications implementing them will need to request the full file every time the file is accessed.

SoluçãoWorkaround

Quando um novo arquivo é carregado, a propriedade Cache-Control por padrão é "no-cache".When a new file is uploaded, the cache-control property by default is “no-cache”. Para forçar o aplicativo a solicitar o arquivo a cada vez, a propriedade Cache-Control do arquivo precisa ser atualizada de "no-cache" para "no-cache, no-Store, deve-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”. Isso pode ser feito usando Gerenciador de armazenamento do Azure.This can be achieved using Azure Storage Explorer.

Modificação do cache de conteúdo do Gerenciador de armazenamento para cabeçalhos condicionais de arquivos do Azure

"Erro de montagem (112): o host está inoperante" devido a um tempo limite de reconexão"Mount error(112): Host is down" because of a reconnection time-out

Quando o cliente está inativo durante muito tempo, ocorre um erro de montagem “112” no cliente Linux.A "112" mount error occurs on the Linux client when the client has been idle for a long time. Após um tempo de inatividade prolongado, o cliente desliga-se e a ligação excede o tempo limite.After an extended idle time, the client disconnects and the connection times out.

CausaCause

A ligação pode estar inativa pelos seguintes motivos:The connection can be idle for the following reasons:

  • Falhas de comunicação de rede que impedem o restabelecimento de uma ligação TCP ao servidor quando é utilizada a opção de montagem “flexível” padrãoNetwork communication failures that prevent re-establishing a TCP connection to the server when the default "soft" mount option is used
  • Correções de restabelecimento de ligação recentes que não estão presentes nos kernels mais antigosRecent reconnection fixes that are not present in older kernels

SoluçãoSolution

Este problema de restabelecimento de ligação no kernel do Linux já foi corrigido como parte das alterações mencionadas nos seguintes artigos:This reconnection problem in the Linux kernel is now fixed as part of the following changes:

No entanto, estas alterações poderão não ser ainda transportadas para todas as distribuições do Linux.However, these changes might not be ported yet to all the Linux distributions. Se você estiver usando uma distribuição do Linux popular, poderá verificar em usar os arquivos do Azure com o Linux para ver qual versão da sua distribuição tem as alterações de kernel necessárias.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.

SoluçãoWorkaround

Pode contornar este problema ao especificar uma montagem forçada.You can work around this problem by specifying a hard mount. Uma montagem forçada obriga o cliente a aguardar até que seja estabelecida uma ligação ou até que seja interrompido explicitamente.A hard mount forces the client to wait until a connection is established or until it's explicitly interrupted. Pode utilizá-la para evitar erros devido a tempos limite de rede.You can use it to prevent errors because of network time-outs. No entanto, esta solução pode causar esperas indefinidas.However, this workaround might cause indefinite waits. Esteja preparado para parar as ligações, se necessário.Be prepared to stop connections as necessary.

Se não for possível atualizar para as versões kernel mais recentes, poderá contornar este problema ao manter um ficheiro na partilha de ficheiros do Azure para o qual escreve de 30 em 30 segundos ou menos.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. Tem de ser uma operação de escrita, como reescrever a data de criação ou de modificação no ficheiro.This must be a write operation, such as rewriting the created or modified date on the file. Caso contrário, poderá obter resultados em cache e a operação poderá não acionar o restabelecimento.Otherwise, you might get cached results, and your operation might not trigger the reconnection.

Precisa de ajuda?Need help? Contacte o suporte.Contact support.

Se você ainda precisar de ajuda, entre em contato com o suporte para resolver o problema rapidamente.If you still need help, contact support to get your problem resolved quickly.