Solucionar problemas de conectividade e acesso Arquivos do Azure (SMB)

Este artigo lista problemas comuns que podem ocorrer quando você tenta se conectar e acessar compartilhamentos de arquivos do Azure (Bloco de Mensagens do Servidor) de clientes Windows ou Linux. Ele também fornece possíveis causas e resoluções para esses problemas.

Observação

Esse artigo foi útil? Sua opinião é importante para nós. Use o botão Comentários nesta página para nos informar o quão bem este artigo funcionou para você ou como podemos melhorá-lo.

Importante

Este artigo se aplica apenas a compartilhamentos SMB. Para obter detalhes sobre compartilhamentos do NFS (Sistema de Arquivos de Rede), consulte Solucionar problemas de compartilhamentos de arquivos NFS do Azure.

Aplicável a

Tipo de compartilhamento de arquivo SMB NFS
Compartilhamentos de arquivo padrão (GPv2), LRS/ZRS
Compartilhamentos de arquivo padrão (GPv2), GRS/GZRS
Compartilhamentos de arquivo Premium (FileStorage), LRS/ZRS

Não é possível se conectar ou montar um compartilhamento de arquivos do Azure

Selecione a guia Windows ou Linux dependendo do sistema operacional cliente que você está usando para acessar compartilhamentos de arquivos do Azure.

Ao tentar se conectar a um compartilhamento de arquivos do Azure no Windows, você poderá receber as seguintes mensagens de erro.

Erro 5 ao montar um compartilhamento de arquivos do Azure

  • O erro do sistema 5 ocorreu. Acesso negado.

Causa 1: canal de comunicação não criptografado

Para segurança, as conexões com compartilhamentos de arquivos do Azure serão bloqueadas se o canal de comunicação não for criptografado e a tentativa de conexão não for feita do mesmo datacenter em que residem os compartilhamentos de arquivos do Azure. Se a configuração de transferência segura necessária estiver habilitada na conta de armazenamento, conexões não criptografadas no mesmo datacenter também serão bloqueadas. Um canal de comunicação criptografado só será fornecido se o sistema operacional cliente do usuário final der suporte à criptografia SMB.

Windows 8, Windows Server 2012 e versões posteriores de cada sistema negociam solicitações que incluem o SMB 3.x, que dá suporte à criptografia.

Solução para a causa 1

  1. Conecte-se a partir de um cliente que dá suporte à criptografia SMB (Windows 8/Windows Server 2012 ou posterior).
  2. Conecte-se a partir de uma VM (máquina virtual) no mesmo datacenter que a conta de armazenamento do Azure usada para o compartilhamento de arquivos do Azure.
  3. Verifique se a configuração necessária de transferência segura está desabilitada na conta de armazenamento se o cliente não dá suporte à criptografia SMB.

Causa 2: as regras de rede virtual ou firewall estão habilitadas na conta de armazenamento

O tráfego de rede será negado se as regras de rede virtual (VNET) e firewall forem configuradas na conta de armazenamento, a menos que o endereço IP do cliente ou a rede virtual esteja listado como permitido.

Solução para a causa 2

Verifique se as regras de rede virtual e firewall estão configuradas corretamente na conta de armazenamento. Para testar se as regras de rede virtual ou firewall estão causando o problema, altere temporariamente a configuração na conta de armazenamento para Permitir acesso de todas as redes. Para saber mais, confira Configurar firewalls de Armazenamento do Azure e redes virtuais.

Causa 3: as permissões de nível de compartilhamento estão incorretas ao usar a autenticação baseada em identidade

Se os usuários estiverem acessando o compartilhamento de arquivos do Azure usando o Active Directory (AD) ou Microsoft Entra Domain Services autenticação, o acesso ao compartilhamento de arquivos falhará com o erro "O acesso é negado" se as permissões de nível de compartilhamento estiverem incorretas.

Solução para a causa 3

Valide se as permissões estão configuradas corretamente:

  • Active Directory Domain Services (AD DS) consulte Atribuir permissões de nível de compartilhamento.

    Há suporte para atribuições de permissão no nível de compartilhamento para grupos e usuários que foram sincronizados do AD DS para Microsoft Entra ID usando Microsoft Entra Connect Sync ou Microsoft Entra Sincronização de nuvem connect. Confirme se grupos e usuários que recebem permissões de nível de compartilhamento não são grupos "somente nuvem" sem suporte.

  • Microsoft Entra Domain Services veja Atribuir permissões de nível de compartilhamento.

Erro 53, Erro 67 ou Erro 87 ao montar ou desmontar um compartilhamento de arquivos do Azure

Ao tentar montar um compartilhamento de arquivos do local ou de um datacenter diferente, você poderá receber os seguintes erros:

  • O erro do sistema 53 ocorreu. O caminho de rede não foi encontrado.
  • O erro do sistema 67 ocorreu. O nome da rede não pode ser encontrado.
  • O erro do sistema 87 ocorreu. O parâmetro está incorreto.

Causa 1: a porta 445 está bloqueada

O erro do sistema 53 ou o erro do sistema 67 podem ocorrer se a comunicação de saída da porta 445 para um datacenter Arquivos do Azure estiver bloqueada. Para ver o resumo dos ISPs que permitem ou não o acesso da porta 445, acesse TechNet.

Para marcar se o firewall ou o ISP estiver bloqueando a porta 445, use a ferramenta AzFileDiagnostics ou o Test-NetConnection cmdlet.

Para usar o Test-NetConnection cmdlet, o módulo Azure PowerShell deve ser instalado. Consulte Instalar Azure PowerShell módulo para obter mais informações. Lembre-se de substituir <your-storage-account-name> e <your-resource-group-name> pelos nomes relevantes para sua conta de armazenamento.

$resourceGroupName = "<your-resource-group-name>"
$storageAccountName = "<your-storage-account-name>"

# This command requires you to be logged into your Azure account and set the subscription your storage account is under, run:
# Connect-AzAccount -SubscriptionId 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
# if you haven't already logged in.
$storageAccount = Get-AzStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName

# The ComputerName, or host, is <storage-account>.file.core.windows.net for Azure Public Regions.
# $storageAccount.Context.FileEndpoint is used because non-Public Azure regions, such as sovereign clouds
# or Azure Stack deployments, will have different hosts for Azure file shares (and other storage resources).
Test-NetConnection -ComputerName ([System.Uri]::new($storageAccount.Context.FileEndPoint).Host) -Port 445

Se a conexão tiver sido bem-sucedida, você verá a seguinte saída:

ComputerName     : <your-storage-account-name>
RemoteAddress    : <storage-account-ip-address>
RemotePort       : 445
InterfaceAlias   : <your-network-interface>
SourceAddress    : <your-ip-address>
TcpTestSucceeded : True

Observação

Esse comando retorna o endereço IP atual da conta de armazenamento. Esse endereço IP não é garantido para permanecer o mesmo e pode ser alterado a qualquer momento. Não decodifica esse endereço IP em nenhum script ou em uma configuração de firewall.

Soluções para causa 1

Solução 1 – Use Sincronização de Arquivos do Azure como um ponto de extremidade QUIC Você pode usar Sincronização de Arquivos do Azure como uma solução alternativa para acessar Arquivos do Azure de clientes que têm a porta 445 bloqueada. Embora Arquivos do Azure não dê suporte diretamente ao SMB no QUIC, o Windows Server 2022 Azure Edition dá suporte ao protocolo QUIC. Você pode criar um cache leve de seus compartilhamentos de arquivos do Azure em uma VM do Windows Server 2022 Azure Edition usando Sincronização de Arquivos do Azure. Essa configuração usa a porta 443, que é amplamente aberta para dar suporte a HTTPS, em vez da porta 445. Para saber mais sobre essa opção, consulte SMB no QUIC com Sincronização de Arquivos do Azure.

Solução 2 – Usar VPN ou ExpressRoute Ao configurar uma VPN (rede virtual privada) ou o ExpressRoute do local para sua conta de armazenamento do Azure, com Arquivos do Azure expostas em sua rede interna usando pontos de extremidade privados, o tráfego passará por um túnel seguro em vez de pela Internet. Siga as instruções para configurar uma VPN para acessar Arquivos do Azure do Windows.

Solução 3 – Desbloquear a porta 445 com a ajuda do administrador de ISP/TI Trabalhe com seu departamento de TI ou ISP para abrir a porta 445 de saída para intervalos de IP do Azure.

Solução 4 – Use ferramentas baseadas em API REST, como Gerenciador de Armazenamento ou PowerShell, Arquivos do Azure também dá suporte ao REST, além do SMB. O acesso REST funciona pela porta 443 (tcp padrão). Há várias ferramentas que são escritas usando a API REST que permitem uma experiência avançada de interface do usuário. Gerenciador de Armazenamento é um deles. Baixe e Instale Gerenciador de Armazenamento e conecte-se ao compartilhamento de arquivos com o Arquivos do Azure. Você também pode usar o PowerShell que também usa a API REST.

Causa 2: NTLMv1 está habilitado

O erro do sistema 53 ou o erro do sistema 87 podem ocorrer se a comunicação NTLMv1 estiver habilitada no cliente. Arquivos do Azure dá suporte apenas à autenticação NTLMv2. Ter o NTLMv1 habilitado cria um cliente menos seguro. Portanto, a comunicação é bloqueada para Arquivos do Azure.

Para determinar se essa é a causa do erro, verifique se a subchave do registro a seguir não está definida como um valor menor que 3:

HKLM\SYSTEM\CurrentControlSet\Control\Lsa > LmCompatibilityLevel

Para obter mais informações, consulte o tópico LmCompatibilityLevel no TechNet.

Solução para a causa 2

Reverta o LmCompatibilityLevel valor para o valor padrão de 3 na subchave do registro a seguir:

HKLM\SYSTEM\CurrentControlSet\Control\Lsa

Falha com o código de erro 0x800704b3

Ao tentar montar um compartilhamento de arquivos do Azure, você recebe o seguinte erro:

Código de erro: 0x800704b3
Nome simbólico: ERROR_NO_NET_OR_BAD_PATH
Descrição do erro: o caminho de rede foi digitado incorretamente, não existe ou o provedor de rede não está disponível no momento. Tente redigir o caminho ou entrar em contato com o administrador de rede.

Motivo

Esse erro poderá ocorrer se os principais serviços relacionados à rede do Windows estiverem desabilitados, pois qualquer serviço que dependa explicitamente desses serviços de rede não será iniciado.

Solução

Verifique se algum dos seguintes serviços está em um estado parado na VM do Windows:

  • Conexões de Rede
  • Serviço de Lista de Rede
  • Reconhecimento de Localização de Rede
  • Serviço de Interface da Loja de Rede
  • Cliente DHCP
  • Auxiliar do TCP/IP NetBIOS
  • Estação de trabalho

Se você encontrar algum, inicie os serviços e tente novamente montar o compartilhamento de arquivos do Azure.

Aplicativo ou serviço não pode acessar uma unidade de Arquivos do Azure montada

Motivo

As unidades são montadas por usuário. Se seu aplicativo ou serviço estiver em execução em uma conta de usuário diferente da que montou a unidade, o aplicativo não verá a unidade.

Solução

Use uma das seguintes soluções:

  • Monte a unidade da mesma conta de usuário que contém o aplicativo. Você pode usar uma ferramenta como psExec.

  • Passe o nome e a chave da conta de armazenamento nos parâmetros nome de usuário e senha do net use comando.

  • Use o cmdkey comando para adicionar as credenciais ao Credential Manager. Execute essa ação a partir de uma linha de comando no contexto da conta de serviço, por meio de um logon interativo ou usando runas.

    cmdkey /add:<storage-account-name>.file.core.windows.net /user:AZURE\<storage-account-name> /pass:<storage-account-key>
    
  • Mapeie o compartilhamento diretamente sem usar uma letra de unidade mapeada. Alguns aplicativos podem não se reconectar à letra da unidade corretamente, portanto, usar o caminho completo da UNC pode ser mais confiável:

    net use * \\storage-account-name.file.core.windows.net\share

Depois de seguir estas instruções, você poderá receber a seguinte mensagem de erro ao executar o uso líquido para a conta de serviço do sistema/rede: "Erro do sistema 1312 ocorreu. Não existe uma sessão de logon especificada. Pode já ter sido encerrado.". Se esse erro for exibido, verifique se o nome de usuário passado para net use inclui informações de domínio (por exemplo: [storage account name].file.core.windows.net).

Nenhuma pasta com uma letra de unidade em "Meu Computador" ou "Este COMPUTADOR"

Se você mapear um compartilhamento de arquivos do Azure como administrador usando o net use comando, o compartilhamento parece estar ausente.

Motivo

Por padrão, o Windows Explorador de Arquivos não é executado como um administrador. Se você executar net use a partir de um prompt de comando administrativo, você mapeará a unidade de rede como um administrador. Como as unidades mapeadas são centradas no usuário, a conta de usuário registrada não exibe as unidades se elas forem montadas em uma conta de usuário diferente.

Solução

Monte o compartilhamento de uma linha de comando não administrador. Como alternativa, você pode seguir este tópico do TechNet para configurar o valor do EnableLinkedConnections registro.

O comando de uso líquido falhará se a conta de armazenamento contiver uma barra de encaminhamento

Motivo

O net use comando interpreta uma barra de encaminhamento (/) como uma opção de linha de comando. Se o nome da conta de usuário começar com uma barra de encaminhamento, o mapeamento da unidade falhará.

Solução

Você pode usar uma das seguintes etapas para contornar o problema:

  • Execute o seguinte comando do PowerShell:

    New-SmbMapping -LocalPath y: -RemotePath \\server\share -UserName accountName -Password "password can contain / and \ etc"
    

    Em um arquivo em lote, você pode executar o comando desta maneira:

    Echo new-smbMapping ... | powershell -command –

  • Coloque aspas duplas em torno da chave para contornar esse problema — a menos que a barra para frente seja o primeiro caractere. Se for, use o modo interativo e insira sua senha separadamente ou regenere suas chaves para obter uma chave que não comece com uma barra de encaminhamento.

New-PSDrive comando falha com o erro "o tipo de recurso de rede não está correto"

Motivo

Você poderá ver essa mensagem de erro se o compartilhamento de arquivos não estiver acessível. Por exemplo, a porta 445 está bloqueada ou há um problema de resolução DNS.

Solução

Verifique se a porta 445 está aberta e marcar resolução DNS e conectividade com o compartilhamento de arquivos.

Não é possível acessar, modificar ou excluir um compartilhamento de arquivos do Azure (ou compartilhar instantâneo)

Erro "O nome de usuário ou senha está incorreto" após um failover iniciado pelo cliente

Em um cenário de failover iniciado pelo cliente com contas de armazenamento com redundância geográfica, identificadores de arquivos e concessões não são mantidos no failover. Os clientes devem desmontar e remontar os compartilhamentos de arquivo.

Erro "Sem acesso" ao tentar acessar ou excluir um compartilhamento de arquivos do Azure

Ao tentar acessar ou excluir um compartilhamento de arquivos do Azure usando o portal do Azure, você poderá receber o seguinte erro:

Nenhum código de erro de acesso: 403

Causa 1: as regras de rede virtual ou firewall estão habilitadas na conta de armazenamento

Solução para Causa 1

Verifique se as regras de rede virtual e firewall estão configuradas corretamente na conta de armazenamento. Para testar se as regras de rede virtual ou firewall estão causando o problema, altere temporariamente a configuração na conta de armazenamento para Permitir acesso de todas as redes. Para saber mais, confira Configurar firewalls de Armazenamento do Azure e redes virtuais.

Causa 2: sua conta de usuário não tem acesso à conta de armazenamento

Solução para a causa 2

Navegue até a conta de armazenamento na qual o compartilhamento de arquivos do Azure está localizado, selecione Controle de acesso (IAM) e verifique se sua conta de usuário tem acesso à conta de armazenamento. Para saber mais, confira Como proteger sua conta de armazenamento com o RBAC (controle de acesso baseado em função) do Azure.

Bloqueios e concessões de arquivos

Se você não puder modificar ou excluir um compartilhamento de arquivos do Azure ou instantâneo, ele poderá ser devido a bloqueios de arquivos ou concessões. Arquivos do Azure fornece duas maneiras de evitar modificação acidental ou exclusão de compartilhamentos de arquivos do Azure e compartilhar instantâneos:

  • Bloqueios de recursos da conta de armazenamento: todos os recursos do Azure, incluindo a conta de armazenamento, dão suporte a bloqueios de recursos. Os bloqueios podem ser colocados na conta de armazenamento por um administrador ou por serviços como Backup do Azure. Existem duas variações de bloqueios de recursos: modificar, o que impede todas as modificações na conta de armazenamento e seus recursos e excluir, o que só impede exclusões da conta de armazenamento e seus recursos. Ao modificar ou excluir compartilhamentos por meio do provedor de recursos, os Microsoft.Storage bloqueios de recursos são aplicados em compartilhamentos de arquivos do Azure e compartilham instantâneos. A maioria das operações do portal, Azure PowerShell cmdlets para Arquivos do Azure com Rm no nome (por exemplo, Get-AzRmStorageShare), e os comandos da CLI do share-rm Azure no grupo de comandos (por exemplo, az storage share-rm list) usam o provedor de Microsoft.Storage recursos. Algumas ferramentas e utilitários, como Gerenciador de Armazenamento, cmdlets de gerenciamento herdados Arquivos do Azure PowerShell sem Rm no nome (por exemplo, Get-AzStorageShare), e comandos herdados Arquivos do Azure CLI no share grupo de comandos (por exemplo, az storage share list) usam APIs herdadas na API FileREST que ignoram o Microsoft.Storage provedor de recursos e bloqueios de recursos. Para obter mais informações sobre APIs de gerenciamento herdado expostas na API FileREST, consulte plano de controle em Arquivos do Azure.

  • Concessões de instantâneo de compartilhamento: as concessões de compartilhamento são uma espécie de bloqueio proprietário para compartilhamentos de arquivos do Azure e instantâneos de compartilhamento de arquivos. As concessões podem ser colocadas em compartilhamentos de arquivos individuais do Azure ou instantâneos de compartilhamento de arquivos pelos administradores chamando a API por meio de um script ou por serviços de valor agregado, como Backup do Azure. Quando uma concessão é colocada em um compartilhamento de arquivos ou compartilhamento de arquivos do Azure instantâneo, modificar ou excluir o compartilhamento de arquivos/compartilhamento instantâneo pode ser feito com a ID de concessão. Os administradores também podem liberar a concessão antes das operações de modificação, o que requer a ID de concessão ou interromper a concessão, o que não requer a ID de concessão. Para obter mais informações sobre concessões de compartilhamento, consulte compartilhamento de concessão.

Como bloqueios e concessões de recursos podem interferir com as operações de administrador pretendidas em sua conta de armazenamento/compartilhamentos de arquivos do Azure, talvez você deseje remover quaisquer bloqueios/concessões de recursos que tenham sido colocados em seus recursos manualmente ou automaticamente por serviços de valor adicionado, como Backup do Azure. O script a seguir remove todos os bloqueios e concessões de recursos. Lembre-se de substituir <resource-group> e <storage-account> pelos valores apropriados para seu ambiente.

Antes de executar o script a seguir, você deve instalar a versão mais recente do módulo do PowerShell de Armazenamento do Azure.

Importante

Serviços com valor adicionado que exigem bloqueios de recursos e concessões de compartilhamento/compartilhamento instantâneo em seus recursos de Arquivos do Azure podem reaplicar periodicamente bloqueios e concessões. Modificar ou excluir recursos bloqueados por serviços de valor agregado pode afetar a operação regular desses serviços, como excluir instantâneos de compartilhamento gerenciados por Backup do Azure.

# Parameters for storage account resource
$resourceGroupName = "<resource-group>"
$storageAccountName = "<storage-account>"

# Get reference to storage account
$storageAccount = Get-AzStorageAccount `
    -ResourceGroupName $resourceGroupName `
    -Name $storageAccountName

# Remove resource locks
Get-AzResourceLock `
        -ResourceType "Microsoft.Storage/storageAccounts" `
        -ResourceGroupName $storageAccount.ResourceGroupName `
        -ResourceName $storageAccount.StorageAccountName | `
    Remove-AzResourceLock -Force | `
    Out-Null

# Remove share and share snapshot leases
Get-AzStorageShare -Context $storageAccount.Context | `
    Where-Object { $_.Name -eq $fileShareName } | `
    ForEach-Object {
        try {
            $leaseClient = [Azure.Storage.Files.Shares.Specialized.ShareLeaseClient]::new($_.ShareClient)
            $leaseClient.Break() | Out-Null
        } catch { }
    }

Não é possível modificar, mover/renomear ou excluir um arquivo ou diretório

Selecione a guia Windows ou Linux dependendo do sistema operacional cliente que você está usando para acessar compartilhamentos de arquivos do Azure.

No Windows, você pode ver os seguintes erros.

Identificadores de arquivo órfãos ou concessões

Uma das principais finalidades de um compartilhamento de arquivos é que vários usuários e aplicativos podem interagir simultaneamente com arquivos e diretórios no compartilhamento. Para ajudar nessa interação, os compartilhamentos de arquivos fornecem várias maneiras de mediar o acesso a arquivos e diretórios.

Quando você abre um arquivo de um compartilhamento de arquivo do Azure montado no SMB, seu aplicativo/sistema operacional solicita um identificador de arquivo, que é uma referência ao arquivo. Entre outras coisas, seu aplicativo especifica um modo de compartilhamento de arquivos quando solicita um identificador de arquivo, que especifica o nível de exclusividade do acesso ao arquivo imposto por Arquivos do Azure:

  • None: você tem acesso exclusivo.
  • Read: outros podem ler o arquivo enquanto você o tem aberto.
  • Write: outros podem gravar no arquivo enquanto você o tem aberto.
  • ReadWrite: uma combinação dos Read modos e Write compartilhamento.
  • Delete: outros podem excluir o arquivo enquanto você o tiver aberto.

Embora como um protocolo sem estado, o protocolo FileREST não tenha um conceito de identificadores de arquivo, ele fornece um mecanismo semelhante para mediar o acesso a arquivos e pastas que seu script, aplicativo ou serviço pode usar: concessões de arquivo. Quando um arquivo é alugado, ele é tratado como equivalente a um identificador de arquivo com um modo de compartilhamento de arquivos de None.

Embora os identificadores de arquivo e as concessões sirvam a um propósito importante, às vezes os identificadores de arquivo e as concessões podem ficar órfãos. Quando isso acontece, isso pode causar problemas na modificação ou exclusão de arquivos. Você pode ver mensagens de erro como:

  • O processo não pode acessar o arquivo porque o arquivo está sendo usado por outro processo.
  • A ação não pode ser concluída porque o arquivo está aberto em outro programa.
  • O documento está bloqueado para edição por outro usuário.
  • O recurso especificado é marcado para exclusão por um cliente SMB.

A resolução desse problema depende se isso está sendo causado por um identificador de arquivo órfão ou concessão.

Observação

As concessões REST são usadas por aplicativos para impedir que os arquivos sejam excluídos ou modificados. Antes de interromper qualquer concessão, você deve identificar qual aplicativo está adquirindo-os. Caso contrário, você poderá interromper o comportamento do aplicativo.

Causa 1

Um identificador de arquivo está impedindo que um arquivo/diretório seja modificado ou excluído. Você pode usar o cmdlet Get-AzStorageFileHandle PowerShell para exibir identificadores abertos.

Se todos os clientes SMB tiverem fechado seus identificadores abertos em um arquivo/diretório e o problema continuar a ocorrer, você poderá forçar o fechamento de um identificador de arquivo.

Solução 1

Para forçar o fechamento de um identificador de arquivo, use o cmdlet Close-AzStorageFileHandle PowerShell.

Observação

Os Get-AzStorageFileHandle cmdlets e Close-AzStorageFileHandle são incluídos no módulo do Az PowerShell versão 2.4 ou posterior. Para instalar o módulo mais recente do Az PowerShell, consulte Instalar o módulo Azure PowerShell.

Causa 2

Uma concessão de arquivo está impedindo que um arquivo seja modificado ou excluído. Você pode marcar se um arquivo tiver uma concessão de arquivo com os seguintes comandos do PowerShell. Substitua <resource-group>, <storage-account>, <file-share>e <path-to-file> pelos valores apropriados para seu ambiente.

# Set variables 
$resourceGroupName = "<resource-group>"
$storageAccountName = "<storage-account>"
$fileShareName = "<file-share>"
$fileForLease = "<path-to-file>"

# Get reference to storage account
$storageAccount = Get-AzStorageAccount `
        -ResourceGroupName $resourceGroupName `
        -Name $storageAccountName

# Get reference to file
$file = Get-AzStorageFile `
        -Context $storageAccount.Context `
        -ShareName $fileShareName `
        -Path $fileForLease

$fileClient = $file.ShareFileClient

# Check if the file has a file lease
$fileClient.GetProperties().Value

Se um arquivo tiver uma concessão, o objeto retornado deverá conter as seguintes propriedades:

LeaseDuration         : Infinite
LeaseState            : Leased
LeaseStatus           : Locked

Solução 2

Para remover uma concessão de um arquivo, você pode liberar a concessão ou interromper a concessão. Para liberar a concessão, você precisa do LeaseId do contrato de concessão, que você define quando cria o contrato de concessão. Você não precisa do LeaseId para quebrar a concessão.

O exemplo a seguir mostra como interromper a concessão do arquivo indicado na causa 2 (este exemplo continua com as variáveis do PowerShell da causa 2):

$leaseClient = [Azure.Storage.Files.Shares.Specialized.ShareLeaseClient]::new($fileClient)
$leaseClient.Break() | Out-Null

Não é possível montar um instantâneo de compartilhamento de arquivos do Azure no Linux

"Erro de montagem(22): argumento inválido" ao tentar montar um instantâneo de compartilhamento de arquivos do Azure no Linux

Motivo

Se a opção snapshot para o mount comando não for passada em um formato reconhecido, o mount comando poderá falhar com esse erro. Para confirmá-lo, marcar mensagens de log do kernel (dmesg) e dmesg mostrarão uma entrada de log como cifs: Bad value for 'snapshot'.

Solução

Verifique se você está passando a opção snapshot para o mount comando no formato correto. Consulte a página manual mount.cifs (por exemplo, man mount.cifs). Um erro comum é passar o carimbo de data/hora GMT no formato errado, como usar hífens ou cólons no lugar de períodos. Para obter mais informações, consulte Montar um instantâneo de compartilhamento de arquivos.

"Token de instantâneo ruim" ao tentar montar um instantâneo de compartilhamento de arquivos do Azure no Linux

Motivo

Se a opção instantâneo mount for passada começando com @GMT, mas o formato ainda estiver errado (como usar hífens e cólons em vez de períodos), o mount comando poderá falhar com esse erro.

Solução

Verifique se você está passando o carimbo de data/hora GMT no formato correto, que é @GMT-year.month.day-hour.minutes.seconds. Para obter mais informações, consulte Montar um instantâneo de compartilhamento de arquivos.

"Erro de montagem(2): nenhum arquivo ou diretório" ao tentar montar um compartilhamento de arquivos do Azure instantâneo

Motivo

Se o instantâneo que você está tentando montar não existir, o mount comando poderá falhar com esse erro. Para confirmá-lo, marcar mensagens de log do kernel (dmesg) e dmesg mostrarão uma entrada de log como:

[Mon Dec 12 10:34:09 2022] CIFS: Attempting to mount \\snapshottestlinux.file.core.windows.net\snapshot-test-share1
[Mon Dec 12 10:34:09 2022] CIFS: VFS: cifs_mount failed w/return code = -2

Solução

Verifique se o instantâneo que você está tentando montar existe. Para obter mais informações sobre como listar os instantâneos disponíveis para um determinado compartilhamento de arquivos do Azure, consulte Montar um compartilhamento de arquivos instantâneo.

Erros de cota de disco ou de rede de muitos identificadores abertos

Selecione a guia Windows ou Linux dependendo do sistema operacional cliente que você está usando para acessar compartilhamentos de arquivos do Azure.

Erro 1816 – Não há cota suficiente disponível para processar este comando

Motivo

O erro 1816 acontece quando você atinge o limite superior de identificadores abertos simultâneos permitidos para um arquivo ou diretório no compartilhamento de arquivos do Azure. Para obter mais informações, consulte Arquivos do Azure destinos de escala.

Solução

Reduza o número de identificadores abertos simultâneos fechando alguns identificadores e tente novamente. Para obter mais informações, consulte Armazenamento do Microsoft Azure lista de verificação de desempenho e escalabilidade.

Para exibir identificadores abertos para um compartilhamento de arquivos, diretório ou arquivo, use o cmdlet Get-AzStorageFileHandle PowerShell.

Para fechar identificadores abertos para um compartilhamento de arquivos, diretório ou arquivo, use o cmdlet Close-AzStorageFileHandle PowerShell.

Observação

Os Get-AzStorageFileHandle cmdlets e Close-AzStorageFileHandle são incluídos no módulo do Az PowerShell versão 2.4 ou posterior. Para instalar o módulo mais recente do Az PowerShell, consulte Instalar o módulo Azure PowerShell.

ERROR_UNEXP_NET_ERR (59) ao fazer qualquer operação em um identificador

Motivo

Se você armazenar em cache/manter um grande número de identificadores abertos por um longo tempo, poderá ver essa falha no lado do servidor devido a razões de limitação. Quando um grande número de identificadores é armazenado em cache pelo cliente, muitos desses identificadores podem entrar em uma fase de reconexão ao mesmo tempo, criando uma fila no servidor que precisa ser limitada. A lógica de repetição e a limitação no back-end para reconexão leva mais tempo do que o tempo limite do cliente. Essa situação se manifesta como um cliente que não pode usar um identificador existente para qualquer operação, com todas as operações falhando com ERROR_UNEXP_NET_ERR (59).

Há também casos de borda em que o identificador do cliente fica desconectado do servidor (por exemplo, uma interrupção de rede com duração de vários minutos) que pode causar esse erro.

Solução

Não mantenha um grande número de identificadores armazenados em cache. Feche os identificadores e tente novamente. Use Get-AzStorageFileHandle e Close-AzStorageFileHandle cmdlets do PowerShell para exibir/fechar identificadores abertos.

Se você estiver usando compartilhamentos de arquivos do Azure para armazenar contêineres de perfil ou imagens de disco para uma implantação de área de trabalho virtual em larga escala ou outras cargas de trabalho que abrem identificadores em arquivos, diretórios e/ou no diretório raiz, você poderá atingir os limites de escala superior para identificadores abertos simultâneos. Nesse caso, use um compartilhamento adicional de arquivos do Azure e distribua os contêineres ou imagens entre os compartilhamentos.

Erro "Você está copiando um arquivo para um destino que não dá suporte à criptografia"

Quando um arquivo é copiado pela rede, o arquivo é descriptografado no computador de origem, transmitido em texto simples e criptografado novamente no destino. No entanto, você pode ver o seguinte erro ao tentar copiar um arquivo criptografado: "Você está copiando o arquivo para um destino que não dá suporte à criptografia".

Motivo

Esse problema pode ocorrer se você estiver usando o EFS (Sistema de Arquivos de Criptografia). Arquivos criptografados com BitLocker podem ser copiados para Arquivos do Azure. No entanto, Arquivos do Azure não dá suporte ao NTFS EFS.

Solução alternativa

Para copiar um arquivo pela rede, primeiro você deve descriptografá-lo. Use um dos seguintes métodos:

  • Use o comando copiar /d . Ele permite que os arquivos criptografados sejam salvos como arquivos descriptografados no destino.
  • Defina a seguinte chave do registro:
    • Caminho = HKLM\Software\Policies\Microsoft\Windows\System
    • Tipo de valor = DWORD
    • Nome = CopyFileAllowDecryptedRemoteDestination
    • Valor = 1

Lembre-se de que a configuração da chave do registro afeta todas as operações de cópia feitas em compartilhamentos de rede.

Erro ConditionHeadersNotSupported de um aplicativo Web usando Arquivos do Azure do Navegador

O erro ConditionHeadersNotSupported ocorre ao acessar o conteúdo hospedado em Arquivos do Azure por meio de um aplicativo que faz uso de cabeçalhos condicionais, como um navegador da Web, o acesso falha. O erro afirma que os cabeçalhos de condição não têm suporte.

Captura de tela que mostra a mensagem de erro ConditionHeadersNotSupported.

Motivo

Ainda não há suporte para cabeçalhos condicionais. Os aplicativos que os implementam precisarão solicitar o arquivo completo sempre que o arquivo for acessado.

Solução alternativa

Quando um novo arquivo é carregado, a propriedade CacheControl por padrão não é cache. Para forçar o aplicativo a solicitar o arquivo todas as vezes, a propriedade CacheControl do arquivo precisa ser atualizada de sem cache para sem cache, sem armazenamento, deve ser revalidada. Isso pode ser obtido usando Gerenciador de Armazenamento do Azure.

Screeshot que mostra a propriedade de arquivo CacheControl.

Confira também

Entre em contato conosco para obter ajuda

Se você tiver dúvidas ou precisar de ajuda, crie uma solicitação de suporte ou peça ajuda à comunidade de suporte do Azure. Você também pode enviar comentários sobre o produto para a comunidade de comentários do Azure.