destination rsync ionice

14

Pour éviter que rsync affame le système et le réseau que nous utilisons ionicelors du démarrage de rsync et définissons le --bwlimitparamètre. Par exemple:

ionice -c2 -n7 rsync -aH --bwlimit=30000 /foo [email protected]:/

Cela permet en effet de garantir que le serveur source reste réactif. Cependant, le serveur de destination devient très lent en raison du disque io à 100% (comme vu par l' atoputilitaire).

Est-il possible de l'utiliser d'une manière ou d'une autre ionicesur le serveur de destination? Peut-être via l' -eoption rsync ? Je préfère ne pas exécuter le démon rsync si possible.

Jason Smith
la source

Réponses:

11

Changer la commande rsync ou l'encapsuler dans un script shell pour inclure la commande / paramètres ionice est une option. Vous pouvez également tirer parti de l' --rsync-pathoption, qui indique à rsync la commande à exécuter sur le serveur distant. Quelque chose comme --rsync-path="ionice -c2 -n7 rsync"cela assurera que l'ionice fonctionne sur la destination.

J'ajouterai que l'ionice n'est pas toujours efficace, selon la configuration du serveur. Il ne fonctionne qu'avec l' ascenseur d'E / S CFQ par défaut . Si vous avez effectué un réglage du système de stockage, cette approche peut ne pas être applicable.

Pouvez-vous donner un exemple de la charge ou aider à expliquer comment les systèmes ont démarré pour les ressources pendant la copie? J'aurais tendance à approfondir et à voir pourquoi une synchronisation, particulièrement limitée au faible taux que vous avez indiqué dans votre exemple, causerait tant de problèmes.

Que copiez-vous? Quelle est la configuration matérielle / OS?

ewwhite
la source
Nous avons plusieurs hôtes OpenVZ. Il s'agit de machines Xeon à 16 cœurs exécutant CentOS. Chaque nuit, nous copions tous les conteneurs OpenVZ vers un autre hôte. Étant donné que nos adresses IP sont routables vers tous les hôtes, cela nous permet d'activer rapidement un VPS de sauvegarde en cas de défaillance d'un hôte.
Jason Smith
Quelle est la hauteur de la charge? S'agit-il de copies locales à locales? Des modifications ont-elles été apportées aux ascenseurs d'E / S de stockage?
ewwhite
D'après ce que j'ai vu, la limitation de la bande passante du réseau ne limite pas le disque io (des milliers de répertoires doivent être analysés, même si aucun fichier n'a changé). --Bwlimit devrait-il également limiter les E / S disque?
Jason Smith
Selon atople disque, io éclate constamment à 100%. Je ne suis pas sûr de ce que vous entendez par "ascenseurs d'E / S de stockage", donc j'exécute probablement les valeurs par défaut?
Jason Smith
2

Votre commande rsync lance également la rsynccommande sur la destination distante.

Essayez de mettre ce qui suit à votre utilisateur racine du serveur de destination .bashrc, en d'autres termes à /root/.bashrc

alias rsync="ionice -c2 -n7 rsync"
Janne Pikkarainen
la source
A ~/.bashrcn'est fourni que pour les sessions interactives et je ne m'attends pas à ce que la définition d'un alias modifie la façon dont rsync est exécuté.
HBruijn