destino rsync ionice


14

Para evitar que rsync muera de hambre el sistema y la red que usamos ionicecuando iniciamos rsync y establecemos el --bwlimitparámetro. Por ejemplo:

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

De hecho, esto ayuda a garantizar que el servidor de origen siga respondiendo. Sin embargo, el servidor de destino se vuelve muy lento debido al disco io al 100% (como lo ve la atoputilidad).

¿Es posible usar de alguna manera ioniceen el servidor de destino también? ¿Quizás a través de la -eopción rsync ? Prefiero no ejecutar el demonio rsync si es posible.

Respuestas:


11

Cambiar el comando rsync o envolverlo en un script de shell para incluir el comando / parámetros ionice es una opción. Además, puede aprovechar la --rsync-pathopción, que le dice a rsync qué comando ejecutar en el servidor remoto. Algo así --rsync-path="ionice -c2 -n7 rsync"asegurará que el ionice se ejecute en el destino.

Agregaré que ionice no siempre es efectivo, dependiendo de la configuración del servidor. Solo funciona con el elevador de E / S CFQ predeterminado . Si ha realizado algún ajuste en el sistema de almacenamiento, este enfoque puede no ser aplicable.

¿Puede dar un ejemplo de la carga o ayudar a explicar cómo comenzaron los sistemas para obtener recursos durante la copia? Tendería a profundizar más y ver por qué un rsync, especialmente limitado a la baja tasa que mencionó en su ejemplo, podría causar tantos problemas.

¿Qué estás copiando? ¿Qué es la configuración de hardware / SO?


Tenemos varios hosts OpenVZ. Estas son máquinas Xeon de 16 núcleos con CentOS. Cada noche copiamos todos los contenedores OpenVZ a otros hosts. Dado que nuestras direcciones IP son enrutables a todos los hosts, esto nos permite activar rápidamente un VPS de respaldo en caso de que falle un host.
Jason Smith

¿Qué tan alto llega la carga? ¿Son estas copias locales a locales? ¿Se han realizado cambios en los elevadores de E / S de almacenamiento?
ewwhite

Por lo que he visto, limitar el ancho de banda de la red no limita el disco io (se deben escanear miles de directorios, incluso si no ha cambiado ningún archivo). ¿Debería --bwlimit también limitar la E / S de disco?
Jason Smith

Según atopel disco, io está constantemente explotando al 100%. No estoy seguro de lo que quiere decir con "elevadores de E / S de almacenamiento", ¿así que probablemente ejecuto los valores predeterminados?
Jason Smith

2

Su comando rsync también inicia el rsynccomando en el destino remoto.

Intente poner lo siguiente en el usuario raíz del servidor de destino .bashrc, en otras palabras /root/.bashrc

alias rsync="ionice -c2 -n7 rsync"

A ~/.bashrcsolo se obtiene para sesiones interactivas y no espero que establecer un alias allí modifique cómo se ejecuta rsync.
HBruijn
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.