Avamar: El respaldo de NDMP falla con la señal fatal 11 falla de segmentación por el uso de la memoria del volumen
Summary: El respaldo de Avamar Network Data Management Protocol (NDMP) se puede anular con "Señal fatal 11" (falla de segmentación) cuando un volumen muy grande (como archivos de 5 TB o 3 M) ejecuta varios flujos, lo que consume aproximadamente 15 GB de memoria de acceso aleatorio (RAM)/SWAP y supera los límites de memoria. Para resolverlo, divida el volumen, reduzca los respaldos simultáneos o el conteo de archivos, respalde un nivel de directorio inferior o aumente los flujos paralelos. ...
Symptoms
Indicaciones de fallas de respaldo
Se observan los siguientes síntomas cuando un respaldo de NDMP de Avamar encuentra una falla de segmentación (señal 11):
- El trabajo de respaldo se anula con un mensaje de error irrecuperable similar al siguiente:
2017-10-13 19:42:00 avtar FATAL <5889>: Fatal signal 11 in pid 31103
- Las entradas de registro muestran conjuntos de datos inusualmente grandes que se están procesando, por ejemplo:
avtar Info <8688>: Status 2017-10-13 19:32:37, 3,050,352 files, 2,419,299 directories, 5,119 GB (3,050,352 files, 1.913 GB, 41.42% new) 15049MB 60% CPU (1 open files)
- Se informa un alto consumo de memoria, que a menudo supera los 15 GB de RAM/SWAP para un solo flujo de respaldo.
- Hay varios flujos de NDMP activos (hasta 8 por cliente), cada uno de los cuales puede utilizar 2 GB o más de memoria.
- Es posible que se ejecuten varios respaldos grandes simultáneamente, lo que aumenta la carga general del sistema.
- El volumen afectado contiene millones de archivos y directorios (por ejemplo, 3 millones de archivos en 2,4 millones de directorios que cubren 5,1 TB de datos).
- Incluso cuando solo ha cambiado una pequeña cantidad de datos (por ejemplo, 1,9 GB), el proceso de respaldo intenta enviar todos los archivos desde el NAS para su procesamiento.
Cause
Factores subyacentes que desencadenaron la señal fatal 11.
La señal 11 (falla de segmentación) se genera cuando un proceso accede a la memoria que no está asignada a él. Las siguientes condiciones causaron directamente este evento durante el respaldo de NDMP de Avamar:
- Se ejecutaban simultáneamente varios respaldos de tipo NDMP de gran tamaño.
- Un respaldo procesó 3 050 352 archivos y 2 419 299 directorios, lo que sumó un total de 5,1 TB de datos, mientras que solo 1,9 GB de esos datos habían cambiado.
- Cada flujo de NDMP puede consumir ≥ 2 GB de memoria. Al cliente se le permitían hasta 8 flujos y había varios clientes activos simultáneamente, lo que generaba una alta demanda de memoria agregada.
- El proceso de respaldo utilizó aproximadamente 15 GB de RAM/SWAP antes del bloqueo.
- Avamar limita la cantidad de flujos por cliente, pero NO aplica un límite global en la cantidad total de flujos. Esto permite que el uso combinado de la memoria supere los recursos disponibles.
Estas condiciones de uso intensivo de la memoria hacían que el proceso avtar encontrara una falla de segmentación, registrada en el registro como:
2017-10-13 19:42:00 avtar FATAL <5889>: Fatal signal 11 in pid 31103
Resolution
Reparación de fallas de respaldo NDMP de Avamar causadas por Signal 11 (falla de segmentación)
Paso 1: Evalúe la carga de respaldo actual.
Utilice la CLI o la consola de Avamar Administrator para identificar los volúmenes que generan respaldos de tipo NDMP grandes.
Enumere los trabajos de NDMP activos y su uso de recursos:
$ avtar -listjobs -type ndmp
Paso 2: Reduzca los respaldos de volúmenes simultáneos.
- Limite la cantidad de volúmenes respaldados simultáneamente para evitar el consumo excesivo de RAM/SWAP.
- En Avamar Administrator, edite el calendario de respaldo y anule la selección de las ventanas superpuestas.
Paso 3: Divida volúmenes grandes en subvolúmenes más pequeños
- Identifique los volúmenes con más de 3 millones de archivos o más de 5 TB de datos (como en el ejemplo).
- Cree subvolúmenes lógicos un nivel más bajo en el árbol de directorios.
- Configure cada subvolumen como un cliente NDMP independiente en Avamar.
- Ejemplo: Creación de un nuevo cliente NDMP para un subdirectorio
$ avtar -addclient -name subvol1 -path /data/level2/subvol1
Paso 4: Ajuste la configuración de flujo de NDMP.
- Aumente la cantidad máxima de flujos de NDMP por cliente si el NAS lo admite.
- En la configuración de NDMP de NAS, aumente el límite de flujo del valor predeterminado de 4 a 8 cuando sea posible.
Paso 5 - Limitar los archivos por flujo
- Cuando cree políticas de respaldo, establezca un umbral más bajo de "archivos por flujo" para mantener el espacio físico de memoria de cada flujo en menos de 2 GB.
- Utilice Avamar Administrator → Policies → Advanced Settings para ajustar este valor.
Paso 6: Monitorear el uso de la memoria durante las copias de seguridad
- Observe el consumo de RAM e intercambio en el servidor Avamar mientras se ejecuta el respaldo.
- Asegúrese de que el uso permanezca muy por debajo de la memoria total disponible (por ejemplo, menos de 12 GB para un trabajo de 15 GB).
- Monitoreo de memoria en tiempo real
$ top -b -n 1 | grep avtar
Paso 7: Valide la corrección
- Vuelva a ejecutar el respaldo fallido anteriormente.
- Confirme que el registro ya no contenga el
Fatal signal 11mensaje. - Verifique que el respaldo se complete correctamente y que el tamaño de los datos informado coincida con las expectativas.
- Compruebe si hay errores en el registro de respaldo más reciente
$ tail -n 50 /var/log/avtar/backup.log