Transferência Rápida de Arquivos com NFS
Este artigo tem como objetivo gerar maior disponibilidade de tempo de serviço aos clientes, por meio de um modelo simples de transferência de infraestrutura de arquivos entre servidores, em rede privada. Para tanto, utilizaremos o Servidor de Network File System (NFS) para a redundância de arquivos de configurações e páginas em Servidores Apaches.
Introdução
Porque utilizar o NFS e não SMB
O NFS oferece um melhor desempenho com arquivos de tamanho médio ou pequeno. Se os arquivos forem grandes, os tempos de ambos os métodos se aproximam. Além disso, a configuração do NFS é simples e rápida. Fonte: Network share: Performance differences between NFS & SMBOs benefícios são:
- Transparência, o usuário vê o sistema de arquivos como um sistema único;
- Localização física dos arquivos fica oculta ao usuário;
- Garantia de transparência, sistemas de nomes robusto e (4) Novos computadores podem ser adicionados com facilidade, duplicação de dados e aumentando a escalabilidade.
Cenário de teste
O cenário de teste é composto por um ambiente virtual onde a 2 servidores Apache rodam e compartilham da mesma pasta de configuração e páginas WEB, como isso é possível fazer uma sincronização dos servidores de forma simples e rápida, criando um ambiente de alta disponibilidade com um simples Shell Script.
- APACHE PRINCIPAL - SRV01 - 192.168.1.6
- APACHE RESERVA - SRV02 - 192.168.1.7
- Cliente para acessar as páginas web disponibilizadas pelo servidor
- Sistema utilizado: Debian 10
Instalação e configuração do servidor principal
Instalação do serviço Cliente NFS no servidor Apache:# apt-get update
# apt-get upgrade
# apt-get install nfs-common
Agora vamos realizar a instalação de nosso Apache, nos 2 servidores WEB:
# apt-get install apache2
Configuração da montagem automática das pastas no servidor WEB Apache:
# nano /etc/fstab
Inserir as informações abaixo, no arquivo "fstab":
# IP-SERVIDOR-NFS:/etc/apache2/ /etc/apache2/ nfs defaults 0 0
# IP-SERVIDOR-NFS:/var/www/ /var/www/ nfs defaults 0 0
# IP-SERVIDOR-NFS:/var/www/ /var/www/ nfs defaults 0 0
Reiniciando o sistema operacional para atualizar as configurações definidas:
# reboot
Instalação e configuração do servidor NFS
Após a instalação e configuração do seu servidor Apache, é necessário a configuração do NFS, tanto no servidor principal como no reservaInstalação do Servidor NFS (Network File System):
# apt-get update
# apt-get upgrade
# apt-get install nfs-kernel-server nfs-common apache2
Abrir o arquivo /etc/exports do servidor NFS e editar inserindo a pasta e computador que irá acessar:
# /etc/apache2 IP-SERVIDOR-PRIMARIO(rw,sync,no_root_squash)
# /var/www IP-SERVIDOR-PRIMARIO(rw,sync,no_root_squash)
# /var/www IP-SERVIDOR-PRIMARIO(rw,sync,no_root_squash)
Após alterar, reiniciar o serviço:
# service nfs-kernel-server restart
Pronto, agora ambos os servidores estão rodando Apache e compartilham da mesma estrutura de arquivos e configuração. Porém, as páginas ainda funcionam de maneira separada, ou seja, elas podem ser acessadas de ambos os IPs dos servidores: Agora é necessário configurar o nosso script para que o usuário consiga acessar a página por apenas um endereço de IP. Para isso, vamos utilizar o script abaixo salvo em /root/check.sh: O script verifica se o servidor primário do apache (196.168.1.6), está na rede através de do seu ping.
Caso o servidor perca a comunicação com a rede, o script reconfigura interface de rede do servidor secundário (NFS) para o mesmo IP do servidor principal. Assim, não é preciso fazer nenhuma configuração extra no Apache.
Agora, basta colocar o script para rodar no crontab a cada minuto. Para isso, basta digitar o comando:
# crontab -e
...e editar o arquivo, conforme a imagem abaixo:

Referências
- Criando e Consumindo Rede de Compartilhamento NFS [Artigo]
- Linux NFS Mount Entry in fstab ( /etc/fstab ) with Example
- Montando e conectando em um servidor NFS [Dica]
- Sistemas de Arquivos Distribuídos
- automount - How to configure a NFS mounting in fstab? - Ask Ubuntu
Por: Cleyber Bezerra dos Reis e Diego França Martins
Blog: https://www.linkedin.com/in/cleyber-reis
O que achei legal é.... como vc fez para capturar essas imagens legais do terminal colorido?
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Albfneto,
Ribeirão Preto, S.P., Brasil.
Usuário Linux, Linux Counter: #479903.
Distros Favoritas: Sabayon, Gentoo, OpenSUSE, Mageia e OpenMandriva.