Network File Sharing (NFS) é um protocolo que permite compartilhar diretórios e arquivos com outros clientes Linux em uma rede. Diretórios compartilhados são normalmente criados em um servidor de arquivos, executando o componente servidor NFS. Os usuários adicionam arquivos a eles, que são então compartilhados com outros usuários que têm acesso à pasta.
Um compartilhamento de arquivos NFS é montado em uma máquina cliente, tornando-o disponível da mesma forma que as pastas criadas localmente pelo usuário. NFS é particularmente útil quando o espaço de disco é limitado e você precisa trocar dados públicos entre computadores clientes.
Esta é parte da nossa série de artigos sobre Linux no Azure.
Neste artigo, você aprenderá:
Vamos ver como configurar um servidor NFS e criar um compartilhamento de arquivos NFS, que as máquinas cliente podem montar e acessar.
Conteúdo relacionado: Crie seu próprio serviço NFS empresarial
Veja como instalar o NFS Kernel—este é o componente do servidor que permite que uma máquina exponha diretórios como compartilhamentos NFS.
No Ubuntu e Debian:
sudo apt-get update sudo apt install nfs-kernel-server
No CentOS e Fedora:
yum -y install nfs-utils apt-get install nfs-kernel-server
Agora vamos criar o diretório raiz dos compartilhamentos NFS, também conhecido como pasta de exportação.
sudo mkdir /mnt/myshareddir
Defina permissões para que qualquer usuário na máquina cliente possa acessar a pasta (na prática, você precisa considerar se a pasta precisa de configurações mais restritivas).
sudo chown nobody:nogroup /mnt/myshareddir #ninguém é o proprietário sudo chmod 777 /mnt/myshareddir #todos podem modificar arquivos
Para conceder acesso aos clientes NFS, precisamos definir um arquivo de exportação. O arquivo geralmente está localizado em /etc/exports
Edite o arquivo /etc/exports em um editor de texto e adicione uma das três diretivas a seguir.
Todas as diretivas abaixo usam as opções rw, que habilita tanto leitura quanto gravação, sync, que grava as alterações no disco antes de permitir que os usuários acessem o arquivo modificado, e no_subtree_check, que significa que o NFS não verifica se cada subdiretório é acessível ao usuário.
| Para habilitar o acesso a um único cliente | /mnt/myshareddir {clientIP}(rw,sync,no_subtree_check) |
| Para habilitar o acesso a vários clientes | /mnt/myshareddir {clientIP-1}(rw,sync,no_subtree_check) {clientIP-2}(...) {clientIP-3}(...) |
| Para habilitar o acesso a uma sub-rede inteira | /mnt/myshareddir {subnetIP}/{subnetMask}(rw,sync,no_subtree_check) |
Agora você pode disponibilizar o diretório compartilhado para os clientes usando o comando exportfs. Após executar este comando, o NFS Kernel deve ser reiniciado.
sudo exportfs -a #disponibilizando o compartilhamento de arquivos sudo systemctl restart nfs-kernel-server #reiniciando o NFS Kernel
Se você tiver um firewall habilitado, também precisará liberar o acesso ao firewall usando o comando sudo ufw allow.
Agora que configuramos o servidor NFS, vamos ver como compartilhar uma pasta, definida como um compartilhamento NFS, com um computador Linux, montando-a na máquina local.
Aqui estão os pacotes que você precisa instalar para habilitar a montagem de um compartilhamento NFS em uma máquina Linux local.
No Ubuntu e Debian:
sudo apt update sudo apt install nfs-common
No CentOS e Fedora:
sudo yum install nfs-utils
Você pode montar a pasta NFS em um local específico na máquina local, conhecido como ponto de montagem, usando os seguintes comandos.
sudo mkdir /var/locally-mounted
sudo mount -t nfs {IP of NFS server}:{folder path on server} /var/locally-mounted
Por exemplo:
sudo mount -t nfs 192.168.20.100:/myshareddir /var/locally-mounted
O ponto de montagem agora se torna a raiz do compartilhamento de arquivos montado e, dentro dele, você deve encontrar todos os subdiretórios armazenados no compartilhamento de arquivos NFS no servidor.
Diretórios NFS remotos podem ser montados automaticamente quando o sistema local é iniciado. Você pode definir isso no arquivo /etc/fstab. Para garantir que um compartilhamento de arquivos NFS seja montado localmente na inicialização, você precisa adicionar uma linha a este arquivo com os detalhes relevantes do compartilhamento.
Para montar compartilhamentos NFS automaticamente no Linux, faça o seguinte:
sudo mkdir /var/locally-mounted
Os três últimos parâmetros indicam opções NFS (que definimos como padrão), despejo do sistema de arquivos e verificação do sistema de arquivos (estes geralmente não são usados, então os definimos como 0).
{IP of NFS server}:{folder path on server} /var/locally-mounted nfs defaults 0 0
mount /var/locally-mounted mount {IP of NFS server}:{folder path on server}
Microsoft Azure, um serviço popular de nuvem pública, permite configurar compartilhamentos de arquivos NFS na nuvem e acessá-los de máquinas no seu data center local ou implantadas na nuvem do Azure.
Azure NetApp Files é um serviço de nuvem que oferece storage de arquivos de alto desempenho e classe empresarial para empresas. Ele oferece suporte às versões 3.1 do NFS em diante.
Azure NetApp Files suporta todos os tipos de cargas de trabalho de produção e fornece alta disponibilidade incorporada. Você pode escolher o nível e o desempenho do serviço e realizar snapshots instantâneos dos seus dados.
Aproveite a tecnologia líder do setor da NetApp para migrar as cargas de trabalho de arquivos Linux e Windows mais exigentes para o Azure. Azure NetApp Files oferece latência sub-milissegundo e desempenho equivalente ao que você obteria com um servidor bare metal local.
Azure NetApp Files fornece três níveis de desempenho: Standard, Premium e Ultra. Você pode provisionar compartilhamentos de arquivos em qualquer um dos níveis com um clique.
Azure NetApp Files se integra a cargas de trabalho empresariais complexas, como SAP HANA, high performance computing (HPC), aplicativos de linha de negócios (LOB) e infraestrutura de desktops virtuais (VDI). Para essas e muitas outras cargas de trabalho corporativas, oferece gerenciamento integrado de dados e reconhecimento de aplicativos para backups e snapshots.
Você pode gerenciar compartilhamentos de arquivos usando o Azure Portal ou CLI, comandos PowerShell ou uma API REST, assim como qualquer outro serviço Azure. Azure NetApp Files suporta múltiplos protocolos de storage em um único serviço, incluindo NFSv3, SMB3.1.x e NFSv4.1. Isso permite migrar cargas de trabalho para a nuvem em um modelo “lift and shift”, sem necessidade de alterações no código.
Ao migrar grandes cargas de trabalho corporativas, a transferência de dados via rsync não é suficiente. Com Azure NetApp Files você pode gerenciar transferência de dados e sincronização em larga escala com facilidade.
O serviço fornece criptografia de dados compatível com FIPS 140-2, controle de acesso baseado em funções (RBAC), autenticação do Active Directory e listas de controle de acesso (ACL). Azure NetApp Files está em conformidade com as principais certificações do setor, como HIPAA, SOC e GDPR. Esses e outros recursos de nível empresarial significam que você pode migrar qualquer carga de trabalho corporativa para a nuvem com total confiança.
Quer começar? Veja Azure NetApp Files em ação com uma demonstração gratuita