Avamar: NDMP-säkerhetskopiering misslyckas med allvarligt signal 11-segmenteringsfel från volymminnesanvändning
Summary: NDMP-säkerhetskopiering (Avamar Network Data Management Protocol) kan avbrytas med "Fatal signal 11" (segmenteringsfel) när en mycket stor volym (t.ex. 5 TB, 3 M filer) kör flera strömmar, förbrukar cirka 15 GB RAM-minne (Random Access Memory)/SWAP och överskrider minnesgränserna. Lös problemet genom att dela upp volymen, minska antalet samtidiga säkerhetskopieringar eller filer, säkerhetskopiera en lägre katalognivå eller öka parallella strömmar. ...
Symptoms
Indikationer för säkerhetskopieringsfel
Följande symptom observeras när en Avamar NDMP-säkerhetskopia påträffar ett segmenteringsfel (signal 11):
- Säkerhetskopieringsjobbet avbryts med ett allvarligt felmeddelande som liknar:
2017-10-13 19:42:00 avtar FATAL <5889>: Fatal signal 11 in pid 31103
- Loggposter visar ovanligt stora datamängder som bearbetas, till exempel:
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)
- Hög minnesförbrukning rapporteras, ofta över 15 GB RAM/SWAP för en enda säkerhetskopieringsström.
- Många NDMP-strömmar är aktiva (upp till 8 per klient), var och en använder potentiellt 2 GB eller mer minne.
- Flera stora säkerhetskopieringar kan köras samtidigt, vilket ökar den totala systembelastningen.
- Den berörda volymen innehåller miljontals filer och kataloger (till exempel 3 miljoner filer i 2,4 miljoner kataloger som täcker 5,1 TB data).
- Även när endast en liten mängd data har ändrats (t.ex. 1,9 GB) försöker säkerhetskopieringen att skicka alla filer från NAS-enheten för bearbetning.
Cause
Bakomliggande faktorer som utlöste den ödesdigra signalen 11.
Signal 11 (segmenteringsfel) genereras när en process får åtkomst till minne som inte är allokerat till den. Följande förhållanden orsakade direkt den här händelsen under Avamar NDMP-säkerhetskopieringen:
- Flera stora NDMP-säkerhetskopieringar kördes samtidigt.
- En säkerhetskopia bearbetade 3 050 352 filer och 2 419 299 kataloger, totalt 5,1 TB data, medan endast 1,9 GB av dessa data hade ändrats.
- Varje NDMP-ström kan förbruka ≥ 2 GB minne. Klienten tilläts upp till 8 strömmar och flera klienter var aktiva samtidigt, vilket ledde till en hög aggregerad minnesefterfrågan.
- Säkerhetskopieringen använde cirka 15 GB RAM/SWAP före kraschen.
- Avamar begränsar antalet strömmar per klient men tillämpar INTE en global gräns för det totala antalet strömmar. Detta gör att den kombinerade minnesanvändningen överskrider tillgängliga resurser.
Dessa minnesintensiva förhållanden gjorde att avtar-processen stötte på ett segmenteringsfel som registrerades i loggen som:
2017-10-13 19:42:00 avtar FATAL <5889>: Fatal signal 11 in pid 31103
Resolution
Åtgärda fel i Avamar NDMP-säkerhetskopiering som orsakas av signal 11 (segmenteringsfel)
Steg 1 – Utvärdera den aktuella säkerhetskopieringsbelastningen.
Använd Avamar-administratörskonsolen eller CLI för att identifiera volymer som genererar stora NDMP-säkerhetskopior.
Visa en lista över aktiva NDMP-jobb och deras resursanvändning:
$ avtar -listjobs -type ndmp
Steg 2 – Minska antalet samtidiga volymsäkerhetskopior.
- Begränsa antalet volymer som säkerhetskopieras samtidigt för att undvika överdriven RAM-/SWAP-förbrukning.
- I Avamar Administrator redigerar du schemat för säkerhetskopiering och avmarkerar överlappande fönster.
Steg 3 – Dela upp stora volymer i mindre undervolymer
- Identifiera volymer med fler än 3 miljoner filer eller mer än 5 TB data (som i exemplet).
- Skapa logiska undervolymer en nivå lägre i katalogträdet.
- Konfigurera varje undervolym som en separat NDMP-klient i Avamar.
- Exempel: Skapa en ny NDMP-klient för en underkatalog
$ avtar -addclient -name subvol1 -path /data/level2/subvol1
Steg 4 - Justera NDMP-ströminställningarna.
- Öka det maximala antalet NDMP-strömmar per klient om NAS:en stöder det.
- Höj strömningsgränsen från standardvärdet 4 till 8 i NAS NDMP-konfigurationen där det är möjligt.
Steg 5 - Begränsa filer per ström
- När du skapar säkerhetskopieringspolicyer ska du ange ett lägre tröskelvärde för "filer per ström" för att hålla varje ströms minnesavtryck på mindre än 2 GB.
- Använd Avamar Administrator → Policies → Advanced Settings för att justera det här värdet.
Steg 6 – Övervaka minnesanvändning under säkerhetskopiering
- Titta på RAM-minne och byt förbrukning på Avamar-servern medan säkerhetskopieringen körs.
- Se till att användningen ligger långt under det totala tillgängliga minnet (till exempel mindre än 12 GB för ett jobb på 15 GB).
- Minnesövervakning i realtid
$ top -b -n 1 | grep avtar
Steg 7 – Validera korrigeringen
- Kör den tidigare misslyckade säkerhetskopieringen igen.
- Bekräfta att loggen inte längre innehåller
Fatal signal 11meddelande. - Kontrollera att säkerhetskopieringen har slutförts och att den rapporterade datastorleken matchar förväntningarna.
- Kontrollera om det finns fel i den senaste säkerhetskopieringsloggen
$ tail -n 50 /var/log/avtar/backup.log