Tenho uma rede de máquinas Linux que são todas, para os propósitos do que estou fazendo, clones umas das outras. Há um nó "mestre" do qual todos os outros sincronizam um diretório em intervalos regulares usando rsync
(revezando-se, não simultaneamente). Cada máquina tem seu rsyncd
próprio rsyncd.conf
.
Minha rotina de sincronização faz com que cada nó cliente chame o rsync
cliente assim:
$ rsync -a --delete masternode::syncdir/ /path/to/local/syncdir/
Observe que esta é uma conexão direta com o mestre rsyncd
, não usando ssh.
Minha pergunta é: como já estou rsyncd
executando em cada cliente, a operação de sincronização repetida seria mais eficiente invocando a instância local em vez de um caminho de arquivo como o argumento de destino? Ou seja
$ rsync -a --delete masternode::syncdir/ localhost::syncdir/
Nunca vi um exemplo de rsync
uso assim entre duas rsyncd
instâncias; não há nada que indique que não seja permitido/suportado, mas não tenho certeza de como (ou se) funcionaria nessa configuração de dois servidores mais um cliente mediando a operação entre eles.
Presumo que o tráfego ainda passe pelo processo do cliente (não que isso importe quando o servidor de destino é local), mas ambos os servidores " veem " um servidor na outra extremidade e fazem alguma eficiência de acordo, como aproveitar metadados de arquivo que eles podem ter armazenado em cache de execuções anteriores? (Ou isso acontece de qualquer maneira, independentemente de eles " saberem " que estão falando com outra instância do servidor?)
Esperando por uma resposta que possa aprofundar o " como ".