Servidor NFS · 4 min read · Oct 09, 2025

Configurando um Servidor NFS Altamente Disponível

Este é um “copiar e colar” HowTo!

A maneira mais fácil de seguir este tutorial é usar um cliente de linha de comando/cliente SSH (como o

PuTTY

para Windows) e simplesmente copiar e colar os comandos (exceto onde você deve fornecer suas próprias informações, como endereços IP, nomes de host, senhas,…). Isso ajuda a evitar erros de digitação.

Configurando um Servidor NFS Altamente Disponível

Versão 1.0
Autor: Falko Timme
Última edição: 03/07/2006

Neste tutorial, descreverei como configurar um servidor NFS altamente disponível que pode ser usado como solução de armazenamento para outros serviços de alta disponibilidade, como, por exemplo, um cluster de servidores web que estão sendo balanceados. Se você tem um cluster de servidores web com dois ou mais nós que servem o(s) mesmo(s) site(s), então esses nós devem acessar o mesmo pool de dados para que cada nó sirva os mesmos dados, não importa se o balanceador de carga direciona o usuário para o nó 1 ou nó n. Isso pode ser alcançado com um compartilhamento NFS em um servidor NFS que todos os nós do servidor web (os clientes NFS) podem acessar.

Como não queremos que o servidor NFS se torne outro “Ponto Único de Falha”, precisamos torná-lo altamente disponível. De fato, neste tutorial, criarei dois servidores NFS que espelham seus dados entre si em tempo real usando DRBD e que monitoram um ao outro usando heartbeat, e se um servidor NFS falhar, o outro assume silenciosamente. Para o exterior (por exemplo, os nós do servidor web), esses dois servidores NFS aparecerão como um único servidor NFS.

Nesta configuração, usarei Debian Sarge (3.1) para os dois servidores NFS, bem como para o cliente NFS (que representa um nó do cluster de servidores web).

Quero dizer primeiro que esta não é a única maneira de configurar tal sistema. Existem muitas maneiras de alcançar esse objetivo, mas este é o caminho que eu sigo. Não dou nenhuma garantia de que isso funcionará para você!

1 Minha Configuração

Neste documento, uso os seguintes sistemas:

  • Servidor NFS 1: server1.example.com, endereço IP: 192.168.0.172; referirei a este como server1.
  • Servidor NFS 2: server2.example.com, endereço IP: 192.168.0.173; referirei a este como server2.
  • Endereço IP virtual: uso 192.168.0.174 como o endereço IP virtual que representa o cluster NFS para o exterior.
  • Cliente NFS (por exemplo, um nó do cluster de servidores web): client.example.com, endereço IP: 192.168.0.100; referirei ao cliente NFS como client.
  • O diretório /data será espelhado pelo DRBD entre server1 e server2. Ele conterá o compartilhamento NFS /data/export.

2 Instalação Básica do server1 e server2

Primeiro, configuramos dois sistemas Debian básicos para server1 e server2. Você pode fazer isso conforme descrito nas duas primeiras páginas deste tutorial: https://www.howtoforge.com/perfect_setup_debian_sarge. Como nome do host, você insere server1 e server2, respectivamente, e como domínio você insere example.com.

Quanto à partição, uso o seguinte esquema de partição:

/dev/sda1 – 100 MB /boot (primária, ext3, Sinal de inicialização: ativado)
/dev/sda5 – 5000 MB / (lógica, ext3)
/dev/sda6 – 1000 MB swap (lógica)
/dev/sda7 – 150 MB não montada (lógica, ext3)
(contém os metadados do DRBD)
/dev/sda8 – 26 GB não montada (lógica, ext3)
(contém o diretório /data)

Você pode variar os tamanhos das partições dependendo do tamanho do seu disco rígido, e os nomes da sua partição também podem variar, dependendo do seu hardware (por exemplo, você pode ter /dev/hda1 em vez de /dev/sda1 e assim por diante). No entanto, é importante que /dev/sda7 tenha um pouco mais de 128 MB porque usaremos esta partição para os metadados do DRBD, que usa 128 MB. Além disso, certifique-se de que /dev/sda7 e /dev/sda8 sejam idênticas em tamanho em server1 e server2, e por favor, não as monte (quando o instalador perguntar:

Nenhum ponto de montagem é atribuído para o sistema de arquivos ext3 na partição #7 do SCSI1 (0,0,0) (sda).
Você deseja retornar ao menu de particionamento?

por favor, responda Não)! /dev/sda8 será nossa partição de dados (ou seja, nosso compartilhamento NFS).

Após a instalação básica, certifique-se de que você atribuiu endereços IP estáticos a server1 e server2 ( server1: 192.168.0.172, server2: 192.168.0.173), conforme descrito no início de https://www.howtoforge.com/perfect_setup_debian_sarge_p3).

Depois, você deve verificar /etc/fstab em ambos os sistemas. O meu se parece com isso em ambos os sistemas:

| # /etc/fstab: informações do sistema de arquivos estático. # # proc /proc proc defaults 0 0 /dev/sda5 / ext3 defaults,errors=remount-ro 0 1 /dev/sda1 /boot ext3 defaults 0 2 /dev/sda6 none swap sw 0 0 /dev/hdc /media/cdrom0 iso9660 ro,user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0 |

Se você descobrir que o seu se parece com isso, por exemplo:

| # /etc/fstab: informações do sistema de arquivos estático. # # proc /proc proc defaults 0 0 /dev/hda5 / ext3 defaults,errors=remount-ro 0 1 /dev/hda1 /boot ext3 defaults 0 2 /dev/hda6 none swap sw 0 0 /dev/hdc /media/cdrom0 iso9660 ro,user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0 |

então, por favor, certifique-se de usar /dev/hda em vez de /dev/sda nos seguintes arquivos de configuração. Além disso, certifique-se de que /dev/sda7 (ou /dev/hda7) e /dev/sda8 (ou /dev/hda8…) não estejam listados em /etc/fstab!

3 Sincronizar Hora do Sistema

É importante que tanto o server1 quanto o server2 tenham a mesma hora do sistema. Portanto, instalamos um cliente NTP em ambos:

server1/server2:

apt-get install ntp ntpdate

Depois, você pode verificar se ambos têm a mesma hora executando

server1/server2:

date

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.