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
Protocolo | Melhor uso | Observação técnica |
---|---|---|
NFS | Alto desempenho em rede interna (Linux ↔ Linux). | Ideal para LAN confiável. Simples e rápido, mas sem criptografia. |
SSHFS | Segurança em redes inseguras (tipo Internet). | Usa SSH (porta 22), criptografa todo o tráfego. Um pouco mais lento que NFS. |
GlusterFS | Alta disponibilidade e replicacão. | Complexo. Ótimo para clusters e failover, mas exagero para simples montagens. |
CIFS/SMB | Comunicacçã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:
Protocolo | Se a rede cair… | Retomada automática |
---|---|---|
NFS | Pode travar ou gerar erro de I/O. | Com opções soft e intr , falha de forma mais limpa. Recomendado usar autofs ou systemd automount . |
SSHFS | Travamento ou desconexão. | Usar reconnect no SSHFS + opcionalmente um watchdog script. |
Resumo Técnico:
- NFS → Precisa de
soft,intr,timeo,retrans,nofail
no fstab ouautofs
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ção | Comportamento |
---|---|
nofail | Ignora erro se offline. Boot continua normalmente. |
_netdev | Espera a rede subir antes de tentar montar. |
x-systemd.automount | Só 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.