Montando Unidade de Rede Remota para Servidor Samba: SSHFS vs NFS

Se você precisa montar uma unidade de rede remota entre servidores para o Samba, existem duas opções principais de alta qualidade: NFS e SSHFS. Cada uma é melhor em determinados cenários. Vamos direto ao ponto.


Comparativo Direto

ProtocoloMelhor usoObservação técnica
NFSAlto desempenho em rede interna (Linux ↔ Linux).Ideal para LAN confiável. Simples e rápido, mas sem criptografia.
SSHFSSegurança em redes inseguras (tipo Internet).Usa SSH (porta 22), criptografa todo o tráfego. Um pouco mais lento que NFS.
GlusterFSAlta disponibilidade e replicacão.Complexo. Ótimo para clusters e failover, mas exagero para simples montagens.
CIFS/SMBComunicacção direta com Windows.Pesado para Linux ↔ Linux. Evite se não for estritamente necessário.

Cenários de Escolha

  • Rede interna confiável?NFS
  • Rede através da internet?SSHFS
  • Precisa de alta disponibilidade (replicação)?GlusterFS (mais avançado)

Para Samba, recomendamos:

  • Montar o compartilhamento via NFS.
  • Configurar o smb.conf apontando para a pasta montada.
  • Usar firewall/IPs restritos no NFS, pois não é criptografado.

Problemas com Queda de Conexão

Se a rede cair, veja o que acontece:

ProtocoloSe a rede cair…Retomada automática
NFSPode travar ou gerar erro de I/O.Com opções soft e intr, falha de forma mais limpa. Recomendado usar autofs ou systemd automount.
SSHFSTravamento ou desconexão.Usar reconnect no SSHFS + opcionalmente um watchdog script.

Resumo Técnico:

  • NFS → Precisa de soft,intr,timeo,retrans,nofail no fstab ou autofs para retomar.
  • SSHFS → Usar reconnect,ServerAliveInterval,ServerAliveCountMax,nofail,_netdev.

Considerações sobre Boot do Sistema

Se você apenas adicionar linhas no fstab sem ajustes, corre risco de:

  • O boot travar esperando o servidor remoto.
  • O sistema entrar em modo de emergência.

Solução correta:

  • Usar nofail para o boot seguir mesmo se a montagem falhar.
  • Usar _netdev para avisar que a montagem depende da rede.
  • Ou melhor ainda: x-systemd.automount para montar sob demanda.

Diferença:

OpçãoComportamento
nofailIgnora erro se offline. Boot continua normalmente.
_netdevEspera a rede subir antes de tentar montar.
x-systemd.automountSó monta quando acessar o diretório. Evita problemas no boot.

Exemplo de Configuração

NFS no /etc/fstab:

192.168.1.100:/dados /mnt/remoto nfs rw,soft,intr,timeo=5,retrans=3,nofail,_netdev,x-systemd.automount 0 0
  • soft: em caso de erro, a chamada falha rapidamente.
  • intr: permite interromper operações.
  • timeo=5: timeout de 0.5s.
  • retrans=3: tenta 3 vezes.
  • nofail: ignora se não montar.
  • _netdev: só tenta montar com a rede online.
  • x-systemd.automount: monta automaticamente ao acessar.

SSHFS no /etc/fstab:

sshfs#[email protected]:/dados /mnt/remoto fuse defaults,reconnect,ServerAliveInterval=15,ServerAliveCountMax=3,nofail,_netdev,x-systemd.automount 0 0
  • reconnect: tenta reconectar automaticamente.
  • ServerAliveInterval=15: heartbeat a cada 15 segundos.
  • ServerAliveCountMax=3: desconecta após 3 falhas.
  • nofail: ignora se não montar.
  • _netdev: espera rede.
  • x-systemd.automount: monta apenas sob demanda.

Reforço para Alta Disponibilidade

Para garantir retomada automática:

  • Usar autofs para montar sob demanda.
  • Ou usar x-systemd.automount.
  • E, se quiser máxima robustez, adicionar um watchdog script monitorando a montagem.

Conclusão Rápida

  • LAN confiável: NFS + Autofs ou x-systemd.automount.
  • Internet ou rede instável: SSHFS + reconnect + x-systemd.automount.
  • Quer garantias de reconexão: usar automount sob demanda para evitar travas.

Escolha baseado no que é mais crítico para seu projeto: desempenho ou segurança.

Rolar para cima