Solucionar problemas de compartilhamentos de arquivos do Azure do NFS
Observação
O CentOS referenciado neste artigo é uma distribuição do Linux e chegará ao EOL (End Of Life). Considere seu uso e planeje de acordo. Para obter mais informações, confira Diretrizes de Fim de Vida do CentOS.
Este artigo lista problemas comuns relacionados aos compartilhamentos de arquivos do Azure NFS e fornece possíveis causas e soluções alternativas.
Importante
O conteúdo deste artigo só se aplica a compartilhamentos NFS. Para solucionar problemas de SMB no Linux, consulte Solucionar problemas de Arquivos do Azure no Linux (SMB). Não há suporte para compartilhamentos de arquivos do Azure do NFS para Windows.
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 |
falha no chgrp "filename": argumento inválido (22)
Causa 1: o idmapping não está desabilitado
Como Arquivos do Azure não permite UID/GID alfanumérico, você deve desabilitar o idmapping.
Causa 2: o idmapping foi desabilitado, mas foi habilitado novamente após encontrar um nome de arquivo/dir incorreto
Mesmo que você desabilite corretamente o idmapping, ele pode ser habilitado automaticamente em alguns casos. Por exemplo, quando Arquivos do Azure encontra um nome de arquivo ruim, ele envia um erro de volta. Ao ver esse código de erro, um cliente Linux NFS 4.1 decide habilitar novamente o idmapping e envia solicitações futuras com UID/GID alfanumérico. Para obter uma lista de caracteres sem suporte no Arquivos do Azure, consulte este artigo. Colon é um dos caracteres sem suporte.
Solução alternativa
Verifique se você desabilitou o idmapping e que nada está habilitando-o novamente. Em seguida, execute as seguintes etapas:
Desmonte o compartilhamento.
Desabilitar o idmapping com:
sudo echo Y > /sys/module/nfs/parameters/nfs4_disable_idmapping
Monte o compartilhamento de volta.
Se estiver executando rsync, execute rsync com o
—numeric-ids
argumento de um diretório que não tenha um diretório ou nome de arquivo ruim.
Não é possível criar um compartilhamento NFS
Causa: configurações de conta de armazenamento sem suporte
O NFS só está disponível em contas de armazenamento com a seguinte configuração:
- Camada – Premium
- Tipo de conta – FileStorage
- Regiões – Lista de regiões com suporte
Solução
Siga as instruções em Como criar um compartilhamento NFS.
Não é possível se conectar ou montar um compartilhamento de arquivos do Azure NFS
Causa 1: A solicitação é originária de um cliente em uma rede não confiável/IP não confiável
Ao contrário do SMB, o NFS não tem autenticação baseada no usuário. A autenticação de um compartilhamento baseia-se na configuração da regra de segurança de rede. Para garantir que os clientes estabeleçam apenas conexões seguras com seu compartilhamento NFS, você deve usar o ponto de extremidade de serviço ou pontos de extremidade privados. Para acessar compartilhamentos do local, além de pontos de extremidade privados, você deve configurar uma conexão VPN ou ExpressRoute. Os IPs adicionados à lista de permissões da conta de armazenamento para o firewall são ignorados. Você deve usar um dos seguintes métodos para configurar o acesso a um compartilhamento NFS:
Ponto de extremidade de serviço
Acessado pelo ponto de extremidade público.
Disponível apenas na mesma região.
Você não pode usar o emparelhamento VNet para acesso de compartilhamento.
Você deve adicionar cada rede virtual ou sub-rede individualmente à lista de permissões.
Para acesso local, você pode usar pontos de extremidade de serviço com ExpressRoute, VPNs ponto a site e site a site. Recomendamos usar um ponto de extremidade privado porque ele é mais seguro.
O diagrama a seguir mostra a conectividade usando pontos de extremidade públicos:
-
O acesso é mais seguro do que o ponto de extremidade de serviço.
O acesso ao compartilhamento NFS por meio de link privado está disponível dentro e fora da região do Azure da conta de armazenamento (entre regiões e locais).
O emparelhamento de rede virtual com redes virtuais hospedadas no ponto de extremidade privado dá ao NFS acesso de compartilhamento aos clientes em redes virtuais emparelhadas.
Você pode usar pontos de extremidade privados com ExpressRoute, VPNs ponto a site e VPNs site a site.
Causa 2: a transferência segura necessária está habilitada
Atualmente, os compartilhamentos de arquivos do NFS Azure não dão suporte à criptografia dupla. O Azure fornece uma camada de criptografia para todos os dados em trânsito entre datacenters do Azure usando MACSec. Você só pode acessar compartilhamentos NFS de redes virtuais confiáveis e em túneis VPN. Nenhuma criptografia de camada de transporte extra está disponível em compartilhamentos NFS.
Solução
Desabilitar a transferência segura necessária na folha de configuração da sua conta de armazenamento.
Causa 3: o pacote nfs-utils, nfs-client ou nfs-common não está instalado
Antes de executar o mount
comando, instale o pacote nfs-utils, nfs-client ou nfs-common.
Para marcar se o pacote NFS estiver instalado, execute:
Os mesmos comandos nesta seção se aplicam ao CentOS e ao Oracle Linux.
sudo rpm -qa | grep nfs-utils
Solução
Se o pacote não estiver instalado, instale o pacote usando seu comando específico de distribuição.
Os mesmos comandos nesta seção se aplicam ao CentOS e ao Oracle Linux.
Versão 7.X do sistema operacional
sudo yum install nfs-utils
Versão 8.X ou 9.X do sistema operacional
sudo dnf install nfs-utils
Causa 4: Porta de bloqueio de firewall 2049
O protocolo NFS se comunica com seu servidor pela porta 2049. Verifique se essa porta está aberta para a conta de armazenamento (o servidor NFS).
Solução
Verifique se a porta 2049 está aberta em seu cliente executando o comando a seguir. Se a porta não estiver aberta, abra-a.
sudo nc -zv <storageaccountnamehere>.file.core.windows.net 2049
Causa 5: Conta de armazenamento excluída
Se você não conseguir montar o compartilhamento de arquivos devido a um erro: tempo limite de conexão, a conta de armazenamento que contém o compartilhamento de arquivos poderá ser excluída acidentalmente.
Solução
Recupere a conta de armazenamento. Em seguida, exclua e crie novamente o ponto de extremidade privado para que ele seja associado à nova ID do recurso da conta de armazenamento.
ls trava para enumeração de diretório grande em alguns kernels
Causa: um bug foi introduzido no kernel do Linux v5.11 e foi corrigido na v5.12.5
Algumas versões do kernel têm um bug que faz com que as listagens de diretório resultem em uma sequência READDIR sem fim. Diretórios pequenos em que todas as entradas podem ser enviadas em uma chamada não têm esse problema. O bug foi introduzido no kernel do Linux v5.11 e foi corrigido na v5.12.5. Portanto, qualquer coisa no meio tem o bug. O RHEL 8.4 tem essa versão do kernel.
Solução alternativa: fazer downgrade ou atualizar o kernel
O downgrade ou a atualização do kernel para qualquer coisa fora do kernel afetado devem resolve o problema.
Os comandos do sistema falham com o erro "Arquivo não encontrado"
Motivo
Aplicativos linux de 32 bits que dependem de números de inode podem não funcionar conforme o esperado com Arquivos do Azure devido à formatação dos números de inode de 64 bits gerados pelo serviço NFS.
Solução
Para resolver esse problema, use um dos seguintes métodos:
Compacte os números de inode de 64 bits a 32 bits usando a opção de inicialização do
nfs.enable_ino64=0
kernel.Defina o parâmetro do módulo adicionando
options nfs enable_ino64=0
ao arquivo /etc/modprobe.d/nfs.conf e reinicializando a VM.
Você também pode persistir essa opção de inicialização do kernel no arquivo grub.conf . Para obter mais informações, confira a documentação da distribuição do Linux.
Precisa de ajuda?
Se você ainda precisar de ajuda, entre em contato com o suporte para resolver o problema rapidamente.
Confira também
- Solucionar problemas Arquivos do Azure
- Solucionar problemas Arquivos do Azure desempenho
- Solucionar problemas Arquivos do Azure conectividade (SMB)
- Solucionar problemas Arquivos do Azure autenticação e autorização (SMB)
- Solucionar problemas de SMB gerais Arquivos do Azure no Linux
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.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários