Aplica-se a SUSE Linux Enterprise Desktop 12

24 Compartilhando sistemas de arquivos com o NFS

Distribuir e compartilhar sistemas de arquivos em uma rede é uma tarefa comum em ambientes corporativos. O reconhecido sistema de arquivos de rede (NFS) funciona com o NIS, o protocolo de yellow pages. Para um protocolo mais seguro que funcione com o LDAP e também possa usar Kerberos, marque NFSv4. Juntamente com o pNFS, é possível eliminar gargalos no desempenho.

O NFS com o NIS torna uma rede transparente para o usuário. Com o NFS, é possível distribuir sistemas de arquivos arbitrários pela rede. Com a configuração adequada, os usuários sempre ficam no mesmo ambiente, independentemente do terminal que estejam usando.

24.1 Terminologia

Veja a seguir os termos usados no módulo do YaST.

Exportações

Um diretório exportado por um servidor NFS, que os clientes podem integrar a seus sistemas.

Cliente NFS

O cliente NFS é um sistema que usa serviços NFS de um servidor NFS pelo protocolo NFS (Network File System – Sistema de Rede de Arquivos). O protocolo TCP/IP já está integrado ao kernel do Linux; não há necessidade de instalar software adicional.

Servidor NFS

O servidor NFS fornece serviços NFS aos clientes. Um servidor em execução depende dos seguintes daemons: nfsd (worker), idmapd (mapeamentos de nome de grupo e usuário para IDs e vice versa), statd (bloqueio de arquivos) e mountd (solicitações de montagem).

NFSv3

NFSv3 é a implementação da versão 3, o antigo NFS sem informações de estado que suporta autenticação do cliente.

NFSv4

NFSv4 é a nova implementação da versão 4 que suporta autenticação do usuário segura pelo kerberos. O NFSv4 requer uma única porta e, portanto, é mais adequado para ambientes protegidos por firewall do que o NFSv3.

O protocolo é especificado como http://tools.ietf.org/html/rfc3530.

pNFS

NFS Paralelo, o protocolo de extensão do NFSv4. Qualquer cliente do pNFS pode acessar diretamente os dados em um servidor NFS.

24.2 Instalando o servidor NFS

Para instalar e configurar um servidor NFS, consulte a documentação do SUSE Linux Enterprise Server.

24.3 Configurando clientes

Para configurar seu host como cliente NFS, você não precisa instalar software adicional. Todos os pacotes necessários são instalados por padrão.

24.3.1 Importando sistemas de arquivos com o YaST

Usuários autorizados podem montar diretórios NFS de um servidor NFS na árvore de arquivos local usando o módulo de cliente NFS do YaST. Proceda da seguinte maneira:

Procedimento 24.1 Importando diretórios NFS
  1. Inicie o módulo de cliente NFS do YaST.

  2. Clique em Adicionar na guia Compartilhamentos NFS. Digite o nome de host do servidor NFS, o diretório a ser importado e o ponto de montagem desse diretório localmente.

  3. Ao usar o NFSv4, selecione Habilitar NFSv4 na guia Configurações do NFS. O Nome de Domínio NFSv4 também deve incluir o mesmo valor usado pelo servidor NFSv4. O domínio padrão é localdomain.

  4. Para usar a autenticação Kerberos para o NFS, é preciso que a segurança GSS esteja habilitada. Selecione Habilitar Segurança GSS.

  5. Habilite Abrir Porta no Firewall na guia Configurações do NFS, se você usa um Firewall e deseja permitir o acesso de computadores remotos ao serviço. O status do firewall é mostrado próximo à caixa de seleção.

  6. Clique em OK para gravar as mudanças.

A configuração é gravada em /etc/fstab e os sistemas de arquivos especificados são montados. Quando você iniciar o cliente de configuração do YaST posteriormente, ele também lerá a configuração existente desse arquivo.

24.3.2 Importando sistemas de arquivos manualmente

O pré-requisito para importar os sistemas de arquivos manualmente de um servidor NFS é um mapeador de portas RPC em execução. O nfs.service toma cuidado para iniciá-lo apropriadamente; portanto, digite systemctl start nfs.service como root para iniciá-lo. Em seguida, os sistemas de arquivos remotos podem ser montados no sistema de arquivos como partições locais usando mount:

mount host:remote-pathlocal-path

Para importar os diretórios de usuário da máquina do nfs.example.com, por exemplo, use:

mount nfs.example.com:/home /home

24.3.2.1 Usando o serviço de montagem automática

O daemon autofs pode ser usado para montar sistemas de arquivos remotos automaticamente. Adicione a seguinte entrada ao seu arquivo /etc/auto.master:

/nfsmounts /etc/auto.nfs

Agora, o diretório /nfsmounts atuará como raiz para todas as montagens NFS no cliente se o arquivo auto.nfs for preenchido adequadamente. O nome auto.nfs foi escolhido por mera conveniência, você pode escolher qualquer nome. Adicione entradas ao auto.nfs para todas as montagens NFS da seguinte maneira:

localdata -fstype=nfs server1:/data
nfs4mount -fstype=nfs4 server2:/

Ative as configurações com systemctl start autofs.service como root. Neste exemplo, /nfsmounts/localdata, o diretório /data do server1, é montado com NFS e /nfsmounts/nfs4mount, do server2, é montado com NFSv4.

Se o arquivo /etc/auto.master for editado enquanto o serviço autofs estiver em execução, o automounter deverá ser reiniciado com systemctl restart autofs.service para as mudanças entrarem em vigor.

24.3.2.2 Editando /etc/fstab manualmente

Uma entrada de montagem típica do NFSv3 em /etc/fstab tem aparência semelhante a esta:

nfs.example.com:/data /local/path nfs rw,noauto 0 0

Para montagens do NFSv4, use nfs4 em vez de nfs na terceira coluna:

nfs.example.com:/data /local/pathv4 nfs4 rw,noauto 0 0

A opção noauto impede que o sistema de arquivos seja montado automaticamente na inicialização. Se desejar montar o respectivo sistema de arquivos manualmente, é possível abreviar o comando de montagem especificando apenas o ponto de montagem:

mount /local/path
Nota
Nota

Se você não digitar a opção noauto, os scripts init do sistema gerenciarão a montagem dos sistemas de arquivos na inicialização.

24.3.3 NFS paralelo (pNFS)

NFS é um dos protocolos mais antigos, desenvolvido nos anos 80. Em geral, o NFS é suficiente para compartilhar arquivos pequenos. Entretanto, para transferir arquivos grandes ou quando um número elevado de clientes precisa acessar os dados, o servidor NFS torna-se um gargalo e afeta significativamente o desempenho do sistema. Isso ocorre porque os arquivos aumentam de tamanho rapidamente, mas a velocidade relativa da Ethernet não consegue acompanhar esse aumento.

Quando você solicita um arquivo de um servidor NFS normal, o servidor procura os metadados do arquivo, coleta todos os dados e os transfere pela rede até o cliente. No entanto, o gargalo no desempenho torna-se aparente independentemente do tamanho dos arquivos:

  • Com os arquivos pequenos, a maior parte do tempo é gasta para coletar os metadados.

  • Com os arquivos grandes, a maior parte do tempo é gasta para transferir os dados do servidor para o cliente.

O pNFS, ou NFS paralelo, supera essa limitação, pois ele separa os metadados do sistema de arquivos do local dos dados. Para isso, o pNFS requer dois tipos de servidores:

  • Um servidor de controle ou de metadados que controla todo o tráfego que não seja de dados

  • Um ou mais servidores de armazenamento para armazenar os dados

Os servidores de metadados e de armazenamento formam um único servidor NFS lógico. Para o cliente ler ou gravar, o servidor de metadados informa ao cliente NFSv4 qual servidor de armazenamento deve ser usado para acessar os pacotes de arquivos. O cliente pode acessar os dados diretamente no servidor.

O SUSE Linux Enterprise suporta pNFS apenas no cliente.

24.3.3.1 Configurando o cliente pNFS com o YaST

Siga a descrição no Procedimento 24.1, “Importando diretórios NFS”, mas clique na caixa de seleção pNFS (v4.1) e, opcionalmente, em Compartilhamento NFSv4. O YaST executa todas as etapas necessárias e grava todas as opções exigidas no arquivo /etc/exports.

24.3.3.2 Configurando o cliente pNFS manualmente

Para começar, consulte a Seção 24.3.2, “Importando sistemas de arquivos manualmente”. A maior parte da configuração é feita pelo servidor NFSv4. Para o pNFS, a única diferença é adicionar a opção minorversion e o servidor de metadados MDS_SERVER ao comando mount:

mount -t nfs4 -o minorversion=1 MDS_SERVER MOUNTPOINT

Para ajudar na depuração, mude o valor no sistema de arquivos /proc:

echo 32767 > /proc/sys/sunrpc/nfsd_debug
echo 32767 > /proc/sys/sunrpc/nfs_debug

24.4 Para obter mais informações

Além das páginas de manual de exports, nfs e mount, há informações disponíveis sobre como configurar servidores e clientes NFS em /usr/share/doc/packages/nfsidmap/README. Para mais documentações online, consulte os seguintes sites na Web:

Imprimir esta página