destinazione rsync ionice


14

Per evitare che rsync muoia di fame il sistema e la rete che usiamo ioniceall'avvio di rsync e impostiamo il --bwlimitparametro. Per esempio:

ionice -c2 -n7 rsync -aH --bwlimit=30000 /foo root@dest.com:/

Questo aiuta davvero a garantire che il server di origine rimanga reattivo. Tuttavia, il server di destinazione diventa molto lento a causa del disco io al 100% (come visto atopdall'utilità).

È possibile in qualche modo utilizzare anche ionicesul server di destinazione? Forse tramite l' -eopzione rsync ? Preferirei non eseguire il demone rsync, se possibile.

Risposte:


11

È possibile modificare il comando rsync o racchiuderlo in uno script shell per includere il comando / parametri ionice. Inoltre, è possibile sfruttare l' --rsync-pathopzione, che indica a rsync quale comando eseguire sul server remoto. Qualcosa del genere --rsync-path="ionice -c2 -n7 rsync"assicurerà che la ionice corra sulla destinazione.

Aggiungerò che ionice non è sempre efficace, a seconda della configurazione del server. Funziona solo con l' ascensore I / O CFQ predefinito . Se hai eseguito l'ottimizzazione del sistema di archiviazione, questo approccio potrebbe non essere applicabile.

Potete fornire un esempio del carico o aiutare a spiegare come sono diventati i sistemi per le risorse durante la copia? Tenderei ad approfondire e capire perché un rsync, specialmente limitato alla bassa frequenza che hai elencato nel tuo esempio, causerebbe così tanti problemi.

Che cosa stai copiando? Cos'è la configurazione hardware / SO?


Abbiamo diversi host OpenVZ. Queste sono macchine Xeon a 16 core con CentOS. Ogni notte copiamo tutti i contenitori OpenVZ su un altro host. Poiché i nostri indirizzi IP sono instradabili a tutti gli host, questo ci consente di attivare rapidamente un VPS di backup in caso di errore di un host.
Jason Smith,

Quanto aumenta il carico? Sono copie da locale a locale? Sono state apportate modifiche agli elevatori I / O di archiviazione?
ewwhite,

Da quello che ho visto, limitare la larghezza di banda della rete non limita il disco io (migliaia di directory devono essere scansionate, anche se nessun file è cambiato). --Bwlimit dovrebbe anche limitare l'I / O del disco?
Jason Smith,

Secondo atopil disco, lo io esplode costantemente al 100%. Non sono sicuro del significato di "elevatori I / O di archiviazione", quindi probabilmente eseguo i valori predefiniti?
Jason Smith,

2

Il tuo comando rsync avvia anche il rsynccomando nella destinazione remota.

Prova a mettere quanto segue all'utente root del server di destinazione .bashrc, in altre parole a /root/.bashrc

alias rsync="ionice -c2 -n7 rsync"

A ~/.bashrcviene fornito solo per sessioni interattive e non mi aspetto che l'impostazione di un alias cambierà il modo in cui viene eseguito rsync.
HBruijn,
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.