Dica |
---|
|
A configuração do NFS é importante em ambientes com mais de um servidor. |
O que é NFS?
NFS (Network File System) é um protocolo que permite o acesso remoto a um sistema de arquivos através da rede, tornando transparente para o usuário o acesso remoto entre o cliente e servidor. Todos os sistemas UNIX podem trabalhar com esse protocolo, mas quando os sistemas Windows estão envolvidos, é necessário que seja configurado o protocolo SMB (Samba) também. Ou seja, o NFS é usado para o compartilhamento de arquivos no Linux.
Dica |
---|
|
A configuração do NFS é importante para quando um servidor (hardware) não suporta toda a carga gerada por um grande volume de usuários, sendo necessário incluir novos servidores (hardware) para dividir a carga de trabalho. Por exemplo, o diretório protheus_data pode ser compartilhado desta maneira. |
Nota |
---|
title | Clientes que utilizam o RH |
---|
|
Para clientes que utilizam o módulo SIGAGPE, o repositório de fórmulas precisa ser compartilhado conforme documentado na página sobre Repositório de fórmulas e roteiros com balance. Este repositório pode ser incluído abaixo da protheus_data, em um novo diretório. |
Aviso |
---|
Não configure o repositório padrão do Protheus para compartilhamento de rede. O repositório é um arquivo de tamanho significativo e seu compartilhamento pode acarretar em gargalos na rede. |
Como configurar um servidor e um cliente de NFS?
Antes de começar, é necessário entender a arquitetura. Isto é muito importante para identificar possíveis falhas.
Image RemovedImage Added
Vamos definir o servidor A como primary. Ele ficará como server do NFS e o servidor B será o cliente do NFS, onde será mapeado o diretório publictotvs.
NFS Servidor
Instale o pacote nfs-utils (para Red Hat) eou nfs-common (para Ubuntu) no servidor A.
Para RHEL 7/6/5 instale o pacote nfs-utils através do yum:
Bloco de código |
---|
|
# yum install -y nfs-utils |
Para Ubuntu, instale o pacote nfs-common:
...
Crie o diretório que será compartilhado. Crie, na raiz, um diretório com o nome publictotvs:
Bloco de código |
---|
|
# mkdir -p /public/totvs/protheus_data |
Informações |
---|
|
O parâmetro -p criará os diretórios pais caso estes não existam. Caso queira saber mais sobre, utilize o comando mkdir --help. |
Após a criação do diretório, dê permissão total para todos nesta pasta:
Bloco de código |
---|
|
# chmod 777 /totvs/publicprotheus_data |
Em seguida, edite o arquivo /etc/exports, inclua o diretório que criamos neste arquivo:
Bloco de código |
---|
|
# vim /etc/exports
/publictotvs/protheus_data 192.168.0.0/24(rw,sync,no_root_squash) |
/totvs/publicprotheus_data — Diretório Caminho absoluto do diretório que será compartilhado.
192.168.0.0/24 — Range de clientes com permissão de acessar o diretório, pode utilizar um ip específico ou permitir o acesso de qualquer endereço com o caractere *.
...
Após verificar qual é o diretório disponível no servidor, crie um diretório do lado do cliente para utilizar no mapeamento entre o servidor e o cliente. Uma boa prática é utilizar o mesmo nome que foi utilizado no servidor NFS.
Bloco de código |
---|
|
# mkdir -p /mnt/<nome-diretório-do-servidor>totvs/protheus_data |
Dica |
---|
|
- Utilize o mesmo nome que foi utilizado no servidor NFS.
- As unidades compartilhadas provenientes de outro servidor devem ser montadas no diretório /mnt por boas práticas.
|
Em seguida, monte Em seguida vamos montar a unidade remota com o diretório local:. Em nosso exemplo, utilizamos o diretório /totvs/microsiga/protheus_data no servidor e o diretório /mnt/totvs/microsiga/protheus_data no cliente.
Bloco de código |
---|
|
# mount <ip-do-servidor>:/<nome-diretório-do-servidor>/totvs/protheus_data /mnt/<nome-diretóriototvs/protheus_data |
Nota |
---|
|
Substitua a chave <ip-do-servidor> pelo IP do servidor primary. |
Para verificar se o NFS cliente foi montado, utilize o comando mount. Para facilitar a visualização, redirecione a saída do comando mount para o comando grep e filtre por nfs:
Bloco de código |
---|
|
# mount | grep nfs |
Teremos uma saída parecida com a da imagem abaixo.
Também podemos utilizar o comando df para verificar se o volume foi montado corretamente:
Será exibido algo parecido com a imagem abaixo.
Agora podemos É possível testar o compartilhamento criando um arquivo no volume criado:.
Bloco de código |
---|
|
# ifconfig > /mnt/<nome-diretório-do-servidor>totvs/protheus_data/ipcliente |
Para finalizar, vamos configurar configure no cliente o fstab para que o volume compartilhado seja sempre montado automaticamente quando a máquina for iniciada:
...
Adicione a linha abaixo no arquivo fstab. Edite a linha conforme as configurações do servidor NFS:
Bloco de código |
---|
|
<ip-do-servidor>:/<nome-diretório>/totvs/protheus_data /mnt/<nome-diretório>totvs/protheus_data nfs nosuid,rw,sync,hard,intr 0 0 |
...
Bloco de código |
---|
|
# umount /totvs/mnt/<nome-diretório>protheus_data/ |
Confira o artigo original publicado no Medium por um dos arquitetos de dados da equipe da engenharia de dados Protheus!
...