Qual è la necessità del server rsync in modalità demone?


29

Non capisco la necessità di un server rsync in modalità demone. Quali sono i vantaggi se posso usare rsync con SSH o telnet?

Risposte:


22

Molti, ma ne citerò alcuni dalla parte superiore della mia testa.

  1. Cosa succede se ssh / rsh non sono disponibili sul server remoto o se sono interrotti in termini di configurazione o regole di rete più rigorose? L'uso di rsh / ssh richiederebbe comunque il client (dipende dal ruolo del mittente o del destinatario), il lato remoto dovrebbe comunque forkare il binario rsync localmente e stabilire la connessione con il processo rsync in esecuzione sul lato locale. rsh / ssh fornirebbe semplicemente un tunnel di connessione; per quanto riguarda rsync, rsync sta comunicando con l'altro processo rsync sui tubi.

  2. Avere un processo rsync in modalità demone renderebbe il server un vero server ftp simile in cui alcuni dei filesystem possono essere resi disponibili attraverso i moduli rsync. Tutto il resto può essere evitato. Supponiamo che io voglia rendere disponibili solo / usr / local e / var per il download e rifiutare qualsiasi richiesta del client rsync per altri download. Posso usare la discrezione a livello di host o a livello di filesystem (moduli) per consentire il caricamento o il download (sola lettura).

  3. Può controllare i moduli di accesso, autenticazione, autorizzazione, registrazione e filesystem (struttura) a livello di host / utente per il download / upload specificamente attraverso un file di configurazione. Ogni volta che viene apportata una modifica al file di configurazione, rsyncd --daemonnon è necessario riavviare o HUPped. Può anche controllare il numero di client che possono connettersi al processo del server rsync alla volta. Questo va bene, dal momento che non voglio che il mio processo del server rsyncd esegua il down dell'host completamente su operazioni di I / O basate su CPU o su disco.

  4. la funzionalità chroot può essere resa disponibile attraverso la configurazione di rsyncd in modalità demone. Posso usarlo come una funzionalità di sicurezza piuttosto accurata se voglio evitare che i client si connettano al mio rsyncd per uno qualsiasi dei file / filesystem che devono essere protetti sull'host e non dovrebbero avere accesso esterno.

  5. Posso assolutamente negare alcune delle opzioni utilizzate dal client rsync e non intrattenere alla fine del server, come non consentire l' --deleteopzione.

  6. Può avere un'opzione per eseguire alcuni comandi / script prima e dopo il processo rsync. Un esempio potrebbe essere la segnalazione e l'archiviazione delle statistiche rsync in modalità post-trasferimento.

Questi sono alcuni di essi, ma sono sicuro che gli utenti esperti di rsync possano far luce su questo.


8
  1. Ho riscontrato un problema nel tentativo di sincronizzare una cartella di grandi dimensioni tra una macchina linux e una macchina windows utilizzando cygwin. Dopo aver lasciato cadere il tunnel SSH a favore dell'utilizzo del demone rsync, i miei problemi sono scomparsi.

  2. Il client non ha bisogno di conoscere il layout del filesystem, ecc. Del server che sta spingendo / tirando verso / da


1
+1 per # 2. Situazioni come le reti mirror creano incertezza a causa della loro natura altamente distribuita, quindi è bello poter separare le decisioni locali irrilevanti dal funzionamento della rete.
Warren Young,

@tim qual è stato il problema riscontrato con Cygwin e l' rsyncutilizzo di SSH?
Daniel Sokolowski il

3

Un uso comune di rsync è il mirroring di archivi pubblici di file. L'operatore della copia primaria non vuole consentire l'accesso remoto della shell all'archivio, ma desidera che i volontari che eseguono i mirror remoti siano in grado di ottenere in modo efficiente una copia completa degli archivi. Rsync funziona estremamente bene per la creazione di un mirror poiché scaricherà solo i bit modificati e, se si verifica una leggera interruzione nella rete, non scaricherà nuovamente un intero file di grandi dimensioni (immagini cd / dvd).

Il protocollo bit torrent in realtà potrebbe essere una scelta migliore per questo ora, ma rsync è stato rilasciato molti anni prima.

Anche ora molti archivi importanti usano ancora rsync per i mirror.

Vedi: http://www.debian.org/mirror/ftpmirror

Il protocollo di mirroring che consigliamo è rsync.


Vedi anche zsync per questo tipo di applicazione - è come rsync ma fa tutto il duro lavoro sul client, non sul server. Il server ha solo bisogno di un elenco precalcolato di hash.
rjmunro,

1

Puoi fornire rsync-services a una extranet e consentire le sincronizzazioni in quel modo senza dover esporre ssh.

In modalità demone rsync calcolerà in modo efficace più rapidamente i checksum locali ed è quindi una suite migliore se prevedete più client paralleli. Con il comando autonomo i checksum devono essere ricalcolati per ogni sessione.


0

SSH fornisce un sovraccarico dovuto, ad esempio, all'uso della crittografia. Quindi in teoria dovresti ottenere un throughput maggiore con un demone del server rsync.


2
Non ti sottovaluterò per questo, perché sì, esiste una rete teorica in cui le spese generali di crittografia sono importanti. Penso che troverai che se lo misuri, è che è insignificante su reti reali, tranne forse per la fase iniziale di negoziazione chiave. Una volta che i pacchetti scorrono, il tempo di crittografia viene ingoiato dalla latenza della rete.
Warren Young,

@WarrenYoung Macchina anziana che ospita un server rsync pubblico su una grande pipa.
Gilles 'SO- smetti di essere malvagio' il

1
@Gilles - Una macchina abbastanza lenta da non poter crittografare abbastanza velocemente da mantenere la pipe piena probabilmente si imbatte per prima in problemi di larghezza di banda del disco. In conclusione, mi piacerebbe vedere le misure. E prima che qualcuno pubblichi le misurazioni, assicurati di provare a raddoppiare la dimensione del trasferimento e assicurati che anche qualsiasi effetto che hai misurato raddoppi. In caso contrario, stai contando la negoziazione chiave, che concederò in anticipo richiede tempo misurabile.
Warren Young,

Parallelizzare rsync sarebbe l'opzione migliore con GNU parallelo in quel caso.
Nikhil Mulley,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.