Tengo un servidor CentOS 5.7 que realizará copias de seguridad de sus archivos todas las noches. Me preocupa que los visitantes de los distintos sitios que aloja el servidor experimentarán un rendimiento degradado mientras la copia de seguridad se transfiere a través de la red.
¿Es posible limitar el rendimiento máximo permitido de un proceso a una interfaz de red? Me gustaría limitar la transferencia de archivos basada en SSH a solo la mitad de mi ancho de banda disponible. Esto podría estar en el lado del servidor o del cliente; es decir, me complacería hacerlo en el cliente que inicia la conexión o en el servidor que recibe la conexión.
(Desafortunadamente, no puedo agregar una interfaz para dedicarla a las copias de seguridad. Podría aumentar mi rendimiento disponible, pero eso solo significaría que la transferencia de red se completaría más rápido, pero aún así maximizaría la capacidad total de la conexión al hacerlo).
Algunos antecedentes
Tal vez algunos antecedentes están en orden. Al retroceder, tuve un problema al no tener suficiente espacio local para crear la copia de seguridad. Ingrese SSHFS! La copia de seguridad se guarda en lo que aparentemente es una unidad local para que nunca haya bits de copia de seguridad en el servidor web.
¿Por qué es eso importante? Porque eso parecería invalidar el uso de lo venerable rsync --bwlimit
. rsync
en realidad no está haciendo la transferencia ni puede hacerlo porque ni siquiera puedo ahorrar espacio para guardar el archivo de copia de seguridad.
Puedo escucharle preguntar: "Espera, ¿por qué necesita hacer un archivo de respaldo? ¿Por qué no solo rsync
los archivos y carpetas de origen?" ¡Porque una cosa molesta llamada "Plesk" está en la mezcla! Este es mi proveedor de alojamiento web orientado al cliente que utiliza Plesk por conveniencia. Como tal, utilizo Plesk para iniciar las copias de seguridad porque Plesk agrega todo tipo de magia adicional a la copia de seguridad que hace que su consumo durante un procedimiento de restauración sea muy seguro.
cara triste
ionice
para estrangular las escrituras que puede hacer un proceso. Como estoy escribiendo en un sistema de archivos SSHFS, puedo reducir la clase del proceso de copia de seguridad a 3 para que dé paso a cualquier otro proceso que quiera escribir. De esa forma obtengo el efecto que quiero, que es nunca degradar la experiencia de un visitante del sitio debido al ancho de banda de acaparamiento de respaldo.