Suporte ao protocolo NFS (Network File System) 3.0 para o Armazenamento de Blobs do Azure

O armazenamento de Blob agora suporta o protocolo NFS (Network File System) 3.0. Esse suporte fornece compatibilidade do sistema de arquivos Linux em escala e preços de armazenamento de objetos e permite que os clientes Linux montem um contêiner no armazenamento de Blob a partir de uma máquina virtual (VM) do Azure ou de um computador local.

Sempre foi um desafio executar cargas de trabalho legadas em grande escala, como computação de alto desempenho (HPC) na nuvem. Um motivo é que os aplicativos geralmente usam protocolos de arquivo tradicionais, como NFS ou SMB (Server Message Block) para acessar dados. Além disso, serviços nativos de armazenamento em nuvem focados no armazenamento de objetos que têm um namespace simples e metadados extensos, em vez de sistemas de arquivos que fornecem um namespace hierárquico e operações de metadados eficientes.

O Armazenamento de Blob agora dá suporte a um namespace hierárquico e, quando combinado com o suporte ao protocolo NFS 3.0, o Azure facilita muito a execução de aplicativos herdados sobre o armazenamento de objetos na nuvem em grande escala.

Aplicativos e cargas de trabalho adequados para esse recurso

O recurso de protocolo NFS 3.0 é mais adequado para processar cargas de trabalho pesadas de alto rendimento, alta escala e leitura, como processamento de mídia, simulações de risco e sequenciamento genômico. Você deve considerar o uso desse recurso para qualquer outro tipo de carga de trabalho que use vários leitores e muitos threads, que exigem alta largura de banda.

NFS 3.0 e o namespace hierárquico

O suporte ao protocolo NFS 3.0 requer que os blobs sejam organizados em um namespace hierárquico. Você pode habilitar um namespace hierárquico ao criar uma conta de armazenamento. A capacidade de usar um namespace hierárquico foi introduzida pelo Azure Data Lake Storage Gen2. Ele organiza objetos (arquivos) em uma hierarquia de diretórios e subdiretórios da mesma forma que o sistema de arquivos em seu computador é organizado. O namespace hierárquico é dimensionado linearmente e não degrada a capacidade ou o desempenho dos dados. Protocolos diferentes se estendem do namespace hierárquico. O protocolo NFS 3.0 é um dos protocolos disponíveis.

hierarchical namespace

Dados armazenados como blobs de bloco

Quando seu aplicativo faz uma solicitação usando o protocolo NFS 3.0, essa solicitação é convertida em combinação de operações de blob de bloco. Por exemplo, as solicitações de RPC (Chamada de Procedimento Remoto) lidas do NFS 3.0 são convertidas em operação Get Blob . As solicitações RPC de gravação do NFS 3.0 são convertidas em uma combinação de Get Block List, Put Block e Put Block List.

Os blobs de bloco são otimizados para processar com eficiência grandes quantidades de dados com grande volume de leitura. As bolhas de bloco são compostas por blocos. Cada bloco é identificado por um ID de bloco. Um blob de bloco pode incluir até 50.000 blocos. Cada bloco em um blob de bloco pode ter um tamanho diferente, até o tamanho máximo permitido para a versão de serviço que sua conta usa.

Fluxo de trabalho geral: Montagem de um contêiner de conta de armazenamento

Seus clientes Linux podem montar um contêiner no armazenamento de Blob a partir de uma Máquina Virtual (VM) do Azure ou de um computador local. Para montar um contêiner de conta de armazenamento, você terá que fazer essas coisas.

  1. Crie uma Rede Virtual do Azure (VNet).

  2. Configure a segurança da rede.

  3. Crie e configure uma conta de armazenamento que aceite tráfego somente da rede virtual.

  4. Crie um contêiner na conta de armazenamento.

  5. Monte o recipiente.

Para obter orientação passo a passo, consulte Montar armazenamento de Blob usando o protocolo NFS (Network File System) 3.0.

Segurança da rede

O tráfego deve ser originário de uma rede virtual. Uma VNet permite que os clientes se conectem com segurança à sua conta de armazenamento. A única maneira de proteger os dados em sua conta é usando uma rede virtual e outras configurações de segurança de rede. Qualquer outra ferramenta usada para proteger dados, incluindo autorização de chave de conta, segurança do Microsoft Entra e listas de controle de acesso (ACLs), não pode ser usada para autorizar uma solicitação NFS 3.0.

Para saber mais, consulte Recomendações de segurança de rede para armazenamento de Blob.

Conexões de rede suportadas

Um cliente pode se conectar através de um ponto de extremidade público ou privado e pode se conectar de qualquer um dos seguintes locais de rede:

  • A VNet que você configura para sua conta de armazenamento.

    Neste artigo, nos referiremos a essa VNet como a VNet primária. Para saber mais, consulte Conceder acesso a partir de uma rede virtual.

  • Uma VNet emparelhada que está na mesma região que a VNet primária.

    Você terá que configurar sua conta de armazenamento para permitir o acesso a essa VNet emparelhada. Para saber mais, consulte Conceder acesso a partir de uma rede virtual.

  • Uma rede local conectada à sua rede virtual principal usando o Gateway VPN ou um gateway de Rota Expressa.

    Para saber mais, consulte Configurando o acesso de redes locais.

  • Uma rede local conectada a uma rede emparelhada.

    Isso pode ser feito usando o Gateway VPN ou um gateway ExpressRoute junto com o trânsito do Gateway.

Importante

O protocolo NFS 3.0 usa as portas 111 e 2048. Se você estiver se conectando a partir de uma rede local, certifique-se de que seu cliente permita a comunicação de saída por meio dessas portas. Se tiver concedido acesso a redes virtuais específicas, certifique-se de que quaisquer grupos de segurança de rede associados a essas redes virtuais não contêm regras de segurança que bloqueiem a comunicação de entrada através dessas portas.

Problemas e limitações conhecidos

Consulte o artigo Problemas conhecidos para obter uma lista completa de problemas e limitações com a versão atual do suporte ao NFS 3.0.

Preços

Consulte a página de preços do Armazenamento de Blobs do Azure para obter informações sobre armazenamento de dados e custos de transação.

Consulte também