Avamar: Il backup NDMP ha esito negativo con errore di segmentazione del segnale irreversibile 11 dall'utilizzo della memoria del volume
Summary: Il backup NDMP (Network Data Management Protocol) di Avamar può interrompersi con "Fatal signal 11" (errore di segmentazione) quando un volume molto grande (ad esempio file da 5 TB e 3 M) esegue più flussi, consumando circa 15 GB di memoria RAM (Random Access Memory)/SWAP e superando i limiti di memoria. Risolvere il problema suddividendo il volume, riducendo i backup simultanei o il conteggio dei file, eseguendo il backup di un livello di directory inferiore o aumentando i flussi paralleli. ...
Symptoms
Indicazioni di errore del backup
I seguenti sintomi vengono osservati quando un backup Avamar NDMP rileva un errore di segmentazione (segnale 11):
- Il processo di backup viene interrotto con un messaggio di errore irreversibile simile al seguente:
2017-10-13 19:42:00 avtar FATAL <5889>: Fatal signal 11 in pid 31103
- Le voci di registro mostrano dataset di dimensioni insolitamente grandi in fase di elaborazione, ad esempio:
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)
- Viene segnalato un elevato consumo di memoria, spesso superiore a 15 GB di RAM/SWAP per un singolo flusso di backup.
- Sono attivi numerosi flussi NDMP (fino a 8 per client), ognuno dei quali utilizza potenzialmente 2 GB o più di memoria.
- È possibile che vengano eseguiti contemporaneamente più backup di grandi dimensioni, aumentando il carico complessivo del sistema.
- Il volume interessato contiene milioni di file e directory (ad esempio, 3 milioni di file in 2,4 milioni di directory che coprono 5,1 TB di dati).
- Anche quando è stata modificata solo una piccola quantità di dati (ad esempio, 1,9 GB), il processo di backup tenta di inviare ogni file dal NAS per l'elaborazione.
Cause
Fattori sottostanti che hanno innescato il segnale fatale 11.
Il segnale 11 (errore di segmentazione) viene generato quando un processo accede a una memoria non allocata. Le seguenti condizioni hanno causato direttamente questo evento durante il backup NDMP Avamar:
- Più backup NDMP di grandi dimensioni erano in esecuzione contemporaneamente.
- Un backup ha elaborato 3.050.352 file e 2.419.299 directory, per un totale di 5,1 TB di dati, mentre solo 1,9 GB di tali dati sono stati modificati.
- Ogni flusso NDMP può consumare ≥ 2 GB di memoria. Al client erano consentiti fino a 8 flussi e diversi client erano attivi contemporaneamente, determinando un'elevata richiesta di memoria aggregata.
- Il processo di backup utilizzava circa 15 GB di RAM/SWAP prima dell'arresto anomalo.
- Avamar limita il numero di flussi per client, ma NON applica un limite globale al numero totale di flussi. Ciò consente all'utilizzo combinato della memoria di superare le risorse disponibili.
Queste condizioni a uso intensivo di memoria hanno causato un errore di segmentazione nel processo avtar, registrato nel registro come:
2017-10-13 19:42:00 avtar FATAL <5889>: Fatal signal 11 in pid 31103
Resolution
Correzione degli errori di backup NDMP di Avamar causati dal segnale 11 (errore di segmentazione)
Passaggio 1 - Valutare il carico di backup corrente.
Utilizzare la console o la CLI di Avamar Administrator per identificare i volumi che generano backup NDMP di grandi dimensioni.
Elencare i processi NDMP attivi e il relativo utilizzo delle risorse:
$ avtar -listjobs -type ndmp
Passaggio 2 - Ridurre i backup simultanei dei volumi.
- Limitare il numero di volumi di cui è stato eseguito il backup simultaneamente per evitare un consumo eccessivo di RAM/SWAP.
- In Avamar Administrator, modificare la pianificazione del backup e deselezionare le finestre sovrapposte.
Passaggio 3 - Suddivisione di volumi di grandi dimensioni in sottovolumi più piccoli
- Identificare i volumi con più di 3 milioni di file o più di 5 TB di dati (come nell'esempio).
- Creare sottovolumi logici un livello più in basso nell'albero di directory.
- Configurare ciascun sottovolume come client NDMP separato in Avamar.
- Esempio: Creazione di un nuovo client NDMP per una sottodirectory
$ avtar -addclient -name subvol1 -path /data/level2/subvol1
Passaggio 4: regolare le impostazioni del flusso NDMP.
- Aumentare il numero massimo di flussi NDMP per client se il NAS lo supporta.
- Nella configurazione NDMP NAS, aumentare il limite di flusso da 4 a 8 predefinito, ove possibile.
Passaggio 5 - Limitare i file per flusso
- Quando si creano policy di backup, impostare una soglia inferiore di "file per flusso" per mantenere l'ingombro di memoria di ogni flusso a meno di 2 GB.
- Utilizzare Avamar Administrator → Policies → Advanced Settings per regolare questo valore.
Passaggio 6 - Monitorare l'utilizzo della memoria durante i backup
- Controllare il consumo di RAM e swap sull'Avamar Server durante l'esecuzione del backup.
- Assicurarsi che l'utilizzo rimanga ben al di sotto della memoria totale disponibile (ad esempio meno di 12 GB per un lavoro da 15 GB).
- Monitoraggio della memoria in tempo reale
$ top -b -n 1 | grep avtar
Passaggio 7 - Convalidare la correzione
- Eseguire nuovamente il backup non riuscito in precedenza.
- Verificare che il registro non contenga più
Fatal signal 11. - Verificare che il backup sia stato completato correttamente e che le dimensioni dei dati riportati corrispondano alle aspettative.
- Controllare il registro di backup più recente per verificare la presenza di errori
$ tail -n 50 /var/log/avtar/backup.log