Avamar: NDMP-Backup von NetApp schlägt mit schwerwiegendem Signal für hohe Arbeitsspeicherauslastung fehl 11
Summary: Beim Sichern von NetApp-Volumes schlägt das Backup in der Initialisierungsphase fehl. Wenn avtar versucht, die inode.dir.map aus dem vorherigen Backup zu lesen, wird sie aufgrund der hohen Speicherauslastung mit dem fatalen Signal 11 beendet. ...
Symptoms
Symptome eines Backupfehlers
Das Backup von NetApp-Volumes schlägt in der Initialisierungsphase fehl, wenn avtar versucht, die Datei inode.dir.map aus dem vorherigen Backup zu lesen. Das Backup wird mit einem Fatal-Signal 11 beendet.
NetApp verwendet Inodes anstelle von Dateinamen, um die Dateien im Datenstrom zu dokumentieren. Bei einer großen Dateianzahl kann für die anfänglichen Managementprozesse nicht genügend Arbeitsspeicher vorhanden sein, da die Inode-Zuordnungen standardmäßig hier gespeichert werden.
Der Fehler tritt in der Regel während geplanter Backups auf. Ein manuelles Backup ist in der Regel erfolgreich.
Beispiel: Zwei Volumes werden gesichert. Das größere Volume (>200 TB) ist während eines geplanten Backups erfolgreich. Das kleinere Volume (~21 TB) schlägt bei geplanten Backups fehl. Dies ist bei manueller Ausführung erfolgreich.
In der Avamar-Dokumentation ist ein Limit von 200 Mio. Dateien angegeben. Dieses Beispiel enthielt 480 Mio. Dateien.
Relevante Protokollmeldungen
2022-04-20 13:00:36 avndmp Info : [snapup-/plz/Images] NDMP: DUMP: Using inowalk incremental dump for Full Volume
2022-04-20 13:01:14 avndmp Info : [ctl_spawn] Process 5718 (/usr/local/avamar/bin/avtar) finished (code 176: fatal signal)
2022-04-20 13:01:14 avndmp Warning : [ctl_spawn] CTL workorder "9am-3pm-Images-165044985231#1" non-zero exit status 'code 176: fatal signal'
2022-04-20 13:01:16 avndmp Error : [snapup-/plz/Images] Premature end of child. Changing exitcode from 176 to 157
Es gibt keinen Hinweis auf eine Ursache.
Avtar-Protokollmeldungen
log 2022-04-20 13:00:43 avtar Info : Using backup #49 timestamp 2022-04-19 18:08:46 UTC label "mages-165044985231#0" as base for incremental backup
2022-04-20 13:00:43 avtar Info : - Establishing a connection via token to the Data Domain system with encryption (Connection mode: A:3 E:2).
2022-04-20 13:00:43 avtar Info : CDSF backup does not use asynchronous reading of NetApp stream. Disabling that feature.
2022-04-20 13:00:43 avtar Info : Reading inode.dir.map from previous backup
2022-04-20 13:01:14 avtar FATAL : Fatal signal 11 in pid 5718
2022/04/20-13:01:14.76035 [avtar] FATAL ERROR: uapp::handlefatal: Fatal signal 11
2022/04/20-13:01:14.76064 [avtar] ERROR: uapp::handlefatal: aborting program pid=5718, sig=11
2022-04-20 13:01:14 avtar FATAL : handlefatal: Aborting program with code 176, pid=5718, sig=11
Cause
Ursache des Problems
Das Problem wird dadurch verursacht, dass die Inode-Zuordnung größer ist als der für die Zuordnung zugewiesene Arbeitsspeicher.
Beim Einlesen in den Arbeitsspeicher wird über die zugewiesene Speichergrenze hinaus geschrieben, was zur fatalen Fehlermeldung Signal 11 führt.
Dies tritt aufgrund der hohen Inode-Anzahl für das Backup auf, die das für die Inode-Zuordnung reservierte Arbeitsspeichersegment überläuft.
Die Fehlermeldungen in den Protokollen, z. B. "Fatal signal 11" und "uapp::handlefatal: Fatal signal 11" weisen darauf hin, dass das Programm aufgrund des Speicherüberlaufs auf einen schwerwiegenden Fehler gestoßen ist.
2022-04-20 13:01:14 avtar FATAL : Fatal signal 11 in pid 5718 2022/04/20-13:01:14.76035 [avtar] FATAL ERROR: uapp::handlefatal: Fatal signal 11 2022/04/20-13:01:14.76064 [avtar] ERROR: uapp::handlefatal: aborting program pid=5718, sig=11
Resolution
Konfigurieren von avtar für die Verwendung der Festplatte als Inode-Zuordnungsspeicher.
Der Workaround besteht darin, die Inode-Zuordnungen in einer Festplattendatei und nicht im Arbeitsspeicher zu speichern. Dies teilt avtar mit, dass die Inodes beim Lesen zugeordnet werden, um sie auf der Festplatte und nicht im Arbeitsspeicher zu speichern. Dadurch wird das SIG-11-Speicherproblem behoben.
Es gibt zwei Methoden, um das Flag stream-disk-buffer festzulegen, um avtar für die Verwendung von Festplatten als Inode-Zuordnungsspeicher zu konfigurieren.
Methode 1: Verwenden der Avamar-Administratorschnittstelle
Navigieren Sie zum Client-Datenvolumen, öffnen Sie das Dialogfeld On-Demand Backup Options und klicken Sie auf More Options. Das Dialogfeld Backup Command-Line Options wird angezeigt. Klicken Sie auf More. Geben Sie [avtar]stream-disk-buffer in Enter Attribute ein und wählen Sie true in den Feldern Enter Attribute Value aus. Klicken Sie auf Symbol für Hinzufügen, um das Attribut hinzuzufügen.
Methode 2: Verwenden von avtar.cmd
Erstellen Sie mithilfe eines UNIX-Texteditors im Verzeichnis var des NAS-Clients in /usr/local/avamar/var/CLIENT_NAME eine Datei avtar.cmd. Wenn die Datei vorhanden ist, bearbeiten Sie die vorhandene Datei. Geben Sie in der Datei in einer eigenen Zeile das folgende Flag ein:
--stream-disk-buffer
Überprüfen der Lösung
Überprüfen Sie nach dem Festlegen des Flags stream-disk-buffer, ob das Problem erfolgreich behoben wurde, indem Sie die Protokolldateien avndmp.log und avtar auf Fehler im Zusammenhang mit dem Inode-Zuordnungsspeicher überprüfen.