Optimice el equilibrio de carga en la infraestructura de Veeam Backup & Replication

Mis maravillosos colegas del departamento de soporte técnico escriben no solo dañinos, sino también consejos y trucos útiles para configurar Veeam Backup & Replication. Desde la publicación del artículo para usuarios novatos, su autor, Evgeny Ivanov, mientras continúa trabajando junto con el equipo rumano en Bucarest, pasó del puesto de ingeniero senior al puesto de líder del equipo. ¡Pero Eugene no abandonó el campo técnico y literario, por lo que muchas gracias a él!
El nuevo artículo de Zhenya contiene recomendaciones para especialistas en Veeam Backup & Replication ya experimentados que se enfrentan a la tarea de aprovechar al máximo los recursos de la infraestructura de respaldo. Sin embargo, el artículo será útil para aquellos que solo planean instalar y configurar nuestro producto.


Optimización de la distribución de carga en tiempos de tubos calientes.

Para consejos útiles, bienvenido a cat.

Sobre las ventajas de la instalación distribuida


Veeam Backup & Replication es un software modular que consta de varios componentes, cada uno de los cuales realiza funciones específicas. Entre estos componentes se encuentran el director administrativo central del servidor de respaldo Veeam, el servidor proxy, el repositorio, el acelerador WAN y otros. Se pueden instalar varios componentes en una máquina (por supuesto, bastante potente), lo que hacen muchos usuarios. Sin embargo, una instalación distribuida tiene sus ventajas, a saber:

  • Para las empresas con una red de sucursales, es posible instalar los componentes necesarios localmente en estas sucursales. Esto ayuda a optimizar el tráfico, organizando la mayor parte nuevamente a nivel local.
  • A medida que crece su infraestructura, necesita ampliar su solución de respaldo. Si la copia de seguridad tarda más (la "ventana de copia de seguridad" está creciendo), puede instalar un servidor proxy adicional. Si necesita aumentar la capacidad del repositorio de respaldo, puede configurar un repositorio de respaldo escalable y agregar nuevas extensiones según sea necesario.
  • Para algunos componentes, puede garantizar una disponibilidad constante (Alta disponibilidad); por ejemplo, si tiene varios servidores proxy implementados y uno de ellos se apaga repentinamente, otros continuarán funcionando y la copia de seguridad no se verá afectada.

Debe tenerse en cuenta que los sistemas distribuidos serán efectivos solo con una distribución de carga razonable. De lo contrario, pueden producirse cuellos de botella, sobrecarga de componentes individuales, y esto está plagado de una caída general de la productividad y la desaceleración.

¿Cómo se transmiten los datos?


Para tener una idea más clara de dónde y dónde se transfieren los datos durante el proceso de copia de seguridad, considere este diagrama (por ejemplo, tome la infraestructura en la plataforma vSphere):



Como puede ver, los datos se transfieren desde la ubicación de origen (origen) al destino (destino) utilizando los "agentes de transporte" (VeeamAgent.exe) que trabajan en ambas ubicaciones. Entonces, cuando se ejecuta la tarea de respaldo, sucede lo siguiente:

  • El agente de transporte "fuente" se ejecuta en un servidor proxy; lee datos de un almacén de datos, realiza compresión y deduplicación, y envía los datos de esta forma al agente de transporte "objetivo".
  • El agente de transporte "objetivo" se ejecuta directamente en el repositorio (Windows / Linux) o en la puerta de enlace (servidor de puerta de enlace), si se utiliza el recurso compartido CIFS. Este agente, a su vez, también realiza la deduplicación de su lado y guarda los datos en un archivo de respaldo (.VBK, .VIB, etc.).

Por lo tanto, 2 componentes siempre están involucrados en la transmisión de datos, incluso si en realidad están ubicados en la misma máquina. Esto debe tenerse en cuenta al planificar la implementación de una solución.

Equilibrio de carga entre el servidor proxy y el repositorio


Primero, definamos el concepto de "tarea". En la terminología de Veeam Backup & Replication, cada tarea está procesando un disco de una máquina virtual. Es decir, si tiene una tarea de respaldo (trabajo), que incluye 5 máquinas virtuales con 2 discos cada una, esto significa que debe procesar 10 tareas (y si la máquina tiene solo 1 disco, entonces 1 tarea = 1 máquina virtual). Veeam Backup & Replication es capaz de procesar varias tareas en paralelo, pero su número, por supuesto, no es infinito.

Para cada servidor proxy en sus propiedades, puede especificar el número máximo de tareas para ejecución paralela:



Para las operaciones de copia de seguridad estándar, la misma interpretación será para el repositorio: una tarea es transferir datos desde un disco virtual. En la interfaz, se ve muy similar:



Aquí debemos fijar una regla muy importante No. 1: ¡ asegúrese de equilibrar al asignar recursos de proxy y repositorio y al especificar el número máximo de tareas para el procesamiento paralelo!

Ejemplo


Supongamos que tiene 3 servidores proxy, cada uno de los cuales puede procesar 4 tareas en paralelo (es decir, un total de 12 discos virtuales de las máquinas virtuales de origen). Pero el repositorio está configurado para procesar solo 4 tareas en paralelo (este, por cierto, es el valor predeterminado). Con esta configuración, solo 4 unidades se guardarán en paralelo desde la ubicación de origen hasta el destino, aunque podrían ser para todos los 12. Es decir, los recursos estarán subcargados.

Sin embargo, cuando se trata de crear una copia de seguridad completa sintética (y operaciones similares), el concepto de una tarea relativa al repositorio adquiere un significado ligeramente diferente. Recordamos que tales operaciones no involucran proxies, sino que se realizan localmente en el repositorio (Windows o Linux) o (en el caso del recurso compartido CIFS) utilizando una puerta de enlace.

En esta opción, al construir una cadena de respaldo normal, tarea = tarea de respaldo. Es decir, un límite de 4 tareas para el procesamiento paralelo aquí significará que se pueden crear copias de seguridad sintéticas para 4 tareas de copia de seguridad simultáneamente en el repositorio.

Al construir una cadena de copias de seguridad descompuestas de acuerdo con las máquinas virtuales originales (el denominado "almacenamiento por almacenamiento" - por máquina virtual), la tarea = 1 VM. Es decir, un límite de 4 tareas para el procesamiento paralelo aquí significará que se pueden generar 4 archivos VBK para 4 máquinas virtuales en el repositorio al mismo tiempo.

Por lo tanto, llegamos a la regla No. 2: dependiendo de la configuración de la copia de seguridad, la misma cantidad de tareas puede significar una carga completamente diferente en el repositorio. Por lo tanto, cuando planifique recursos, definitivamente necesita verificar estas mismas configuraciones: modo de respaldo, cronograma de tareas, forma de organizar las cadenas de respaldo.

Nota: A diferencia de la configuración del proxy, el repositorio puede deshabilitar el límite en la cantidad de tareas. En este caso, el repositorio aceptará todos los datos provenientes de servidores proxy. Pero esto es solo una aparente libertad de restricciones, ya que existe el riesgo de sobrecarga del repositorio y fallas en el trabajo de las tareas de respaldo. Por lo tanto, no recomendamos abandonar este límite.

Otro ejemplo


Supongamos que tiene una tarea de respaldo que incluye una cantidad bastante grande de máquinas virtuales con un total de 100 discos virtuales. Al mismo tiempo, el repositorio está configurado para almacenar cadenas de respaldo "a mano" (por VM). La configuración de procesamiento paralelo es la siguiente: para un proxy - 10 discos a la vez, y para un repositorio - no hay restricciones. Durante una copia de seguridad incremental, la carga en el repositorio estará limitada debido a la configuración del proxy y, por lo tanto, se mantendrá el equilibrio. Pero luego llega el momento de crear una copia de seguridad completa sintética. Dicha copia de seguridad no utiliza un proxy, y todas las operaciones para crear "sintéticos" tienen lugar exclusivamente en el repositorio. Dado que no hay restricciones en el procesamiento paralelo de tareas para el repositorio, el servidor del repositorio intentará procesar los cien completos a la vez. Esto requerirá un estrés significativo en los recursos y probablemente conducirá a una sobrecarga.

Características del uso compartido de CIFS como repositorio


Si trabaja con un repositorio basado en un servidor Windows o Linux, el agente "objetivo" se inicia directamente en este servidor. Sin embargo, si utiliza la carpeta compartida CIFS (recurso compartido CIFS) como repositorio, el agente "objetivo" se inicia en una máquina especialmente diseñada para este propósito; este es el denominado "Gateway", que recibirá el flujo de datos entrantes del agente en el lado de la VM de origen. El agente "objetivo" recibirá estos datos y luego enviará bloques de datos a la bola CIFS. Esta máquina auxiliar debe colocarse lo más cerca posible de la máquina que proporciona las carpetas compartidas SMB; esto es especialmente importante para los scripts que usan conectividad WAN.

Regla número 3: no debe colocar la máquina auxiliar (proxy \ gateway) en un sitio, y el CIFS comparte la carpeta compartida en otro sitio (incluso en la nube); de lo contrario, tendrá constantes problemas de red.

También puede aplicar a las puertas de enlace todas las consideraciones anteriores sobre el equilibrio de la carga en el sistema. Además, debe tener en cuenta que la puerta de enlace tiene 2 configuraciones adicionales: el servidor se le puede asignar de forma explícita o automática:



En principio, cualquier servidor de Windows incluido en la infraestructura de respaldo de Veeam puede usarse como tal puerta de enlace. Dependiendo de su escenario de implementación, una de las opciones puede ser adecuada para usted:

  • Un servidor explícitamente especificado: esto, por supuesto, simplifica mucho, porque sabrá exactamente en qué máquina se está ejecutando el agente "objetivo". Esta opción se recomienda, en particular, para los casos en que el acceso al balón solo se permite desde ciertos servidores, así como para escenarios con una infraestructura distribuida; probablemente desee utilizar el agente en una máquina ubicada cerca del servidor de archivos con el objetivo como personas razonables la pelota
  • Servidor seleccionado automáticamente (opción de selección automática ). Aquí, las cosas toman un giro interesante: si usa varios servidores proxy, resulta que elegir esta opción conduce al hecho de que el programa usa más de una puerta de enlace, distribuyendo la carga. Observo que "automáticamente" no significa "arbitrariamente", aquí se aplican reglas de selección bastante específicas.

Como funciona


El agente "objetivo" se inicia en el servidor proxy que realiza la copia de seguridad.

  • En el caso de la cadena de respaldo habitual, la lógica es la siguiente: si hay varias tareas que se ejecutan simultáneamente, cada una con su propio servidor proxy, puede ejecutar varios agentes "objetivo". Sin embargo, dentro de un trabajo, la lógica es diferente: incluso si las máquinas virtuales que contiene son procesadas por diferentes servidores proxy, el agente "objetivo" se lanzará solo en uno, en el que comenzará a funcionar primero.
  • En el caso de una cadena de respaldo "en cadena", se inicia un agente "objetivo" separado para cada VM. Por lo tanto, incluso dentro de la misma tarea, se produce la distribución de carga.

Al crear copias de seguridad sintéticas, no se utilizan servidores proxy, y aquí la máquina para iniciar el agente "objetivo" se selecciona de la siguiente manera: tome un servidor de montaje auxiliar (servidor de montaje en el que se montan los archivos, por ejemplo, durante las operaciones de recuperación) asociado con el repositorio, y Se inicia el agente. Si el servidor de montaje no está disponible por alguna razón, es posible cambiar al norte de la copia de seguridad de Veeam. Como comprenderá, no habrá distribución de carga en esta versión.

Por lo tanto, repito: ( ¡IMPORTANTE! ) No se recomienda para tales escenarios eliminar el límite en la cantidad de tareas que se procesan en paralelo, porque al realizar operaciones con "sintéticos" esto puede conducir a una tremenda sobrecarga del servidor de montaje o incluso del servidor de respaldo Veeam.

Características adicionales


Repositorio escalable. SOBR es un conjunto de repositorios estándar (aquí se denominan "extensiones"). Si ya usa SOBR, especifíquelo en la tarea de copia de seguridad y no en extensión. En cierta medida, puede usar algunas configuraciones, por ejemplo, equilibrio de carga.

Todos los principios básicos que funcionan para repositorios regulares también funcionan para SOBR. Para optimizar el uso de los recursos, puede recomendar configurar SOBR con almacenamiento "criptográfico" de copias de seguridad (por VM: esta es la opción predeterminada), con la política de ubicación "Rendimiento" ("optimizar para un mejor rendimiento") y la distribución en cadena a través de repositorios-extensión-s.

Transferencia de copias de seguridad (copia de seguridad). Aquí, los agentes "fuente" trabajarán en el repositorio fuente. Todo lo mencionado anteriormente también es aplicable a los repositorios de origen (excepto por el hecho de que en el caso de un trabajo de transferencia de Copia de seguridad de trabajo, las operaciones con "sintéticos" no se realizan en el repositorio de origen).

Nota: Si el repositorio de origen es un recurso compartido CIFS, entonces el agente de "origen" se inicia en el servidor de montaje apropiado (con la capacidad de cambiar al servidor de respaldo Veeam).

Dispositivos con deduplicación incorporada. Para los sistemas de almacenamiento DataDomain y StoreOnce (y probablemente para otros en el futuro), para los que se configura la integración con Veeam, se aplican las mismas consideraciones que para el recurso compartido CIFS. Para un repositorio en StoreOnce con deduplicación en el lado de origen (modo de ancho de banda bajo ), solo el requisito de colocar la puerta de enlace lo más cerca posible del depósito está perdiendo relevancia: la puerta de enlace en un sitio se puede configurar para enviar datos a StoreOnce en otro sitio a través de la WAN.

Servidor proxy preferido. Esta característica apareció, como recordará, en la versión 9.5, y es responsable de mantener la "lista de prioridades de proxy" a la que se adherirá el programa cuando trabaje con un repositorio específico.



Si el proxy de esta lista no está disponible, la tarea funcionará con cualquier otra disponible. Sin embargo, si hay acceso al proxy, pero el servidor proxy no tiene espacios libres para procesar la tarea, entonces la tarea de respaldo se suspenderá en espera de esos. Por lo tanto, debe usar esta función con mucho cuidado (y no en el estilo "encendido y olvidado"), tuvimos usuarios que "colgaron" las tareas de copia de seguridad. Puede leer más sobre la función aquí (en inglés).

En conclusión


No importa si instala Veeam Backup & Replication por primera vez o si es un usuario de larga data. Quiero creer que en este artículo encontrará información que le será útil y con su ayuda para optimizar el funcionamiento de la infraestructura de respaldo o incluso eliminar los riesgos potenciales de pérdida de datos. Aquí hay algunos enlaces más útiles:

Source: https://habr.com/ru/post/es428069/


All Articles