Avamar : Échec de la sauvegarde NDMP de NetApp avec un signal fatal d’utilisation élevée de la mémoire 11
Summary: Lors de la sauvegarde de volumes NetApp, la sauvegarde échoue lors de la phase d’initialisation. Lorsque avtar tente de lire inode.dir.map à partir de la sauvegarde précédente, il se termine par le signal fatal 11 en raison d’une utilisation élevée de la mémoire. ...
Symptoms
Symptômes de l’échec de sauvegarde
La sauvegarde des volumes NetApp échoue lors de la phase d’initialisation lorsque avtar tente de lire inode.dir.map à partir de la sauvegarde précédente. La sauvegarde se termine par un signal fatal 11.
NetApp utilise des inodes au lieu de noms de fichiers pour documenter les fichiers dans le flux de données. Avec un grand nombre de fichiers, les processus de gestion initiaux peuvent manquer de mémoire, car c’est là que les cartes d’inode sont stockées, par défaut.
La défaillance se produit généralement lors de sauvegardes planifiées. Une sauvegarde manuelle réussit généralement.
Exemple : Deux volumes sont sauvegardés. Le volume le plus important (>200 To) réussit lors d’une sauvegarde planifiée. Le volume le plus petit (~21 To) fait échouer les sauvegardes planifiées. Il réussit lorsqu’il est exécuté manuellement.
La documentation Avamar indique une limite de 200 millions de fichiers. Cet exemple comportait 480 millions de fichiers.
Messages de journal pertinents
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
Il n’y a aucune indication d’une cause.
Messages du journal Avtar
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
Cause première du problème
Le problème est dû au fait que la carte d’inode est supérieure à la mémoire allouée pour la carte.
Lorsqu’il est lu dans la mémoire, il écrit au-delà de la limite de mémoire allouée, ce qui provoque le message d’erreur fatale Signal 11.
Cela est dû au nombre élevé d’inodes pour la sauvegarde, qui dépasse le segment de mémoire réservé à la carte d’inodes.
Les messages d’erreur dans les journaux, tels que « Fatal signal 11 » et « uapp ::handlefatal : Fatal signal 11", indique que le programme a rencontré une erreur fatale due au dépassement de la mémoire.
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
Configuration d’avtar afin d’utiliser le disque pour le stockage de la carte d’inode.
La solution de contournement consiste à stocker les cartes d’inode dans un fichier disque plutôt que dans la mémoire. Cela indique à avtar que lors de la lecture des inodes, il faut les stocker sur le disque plutôt que dans la mémoire. Cela élimine le problème de mémoire SIG-11.
Il existe deux méthodes pour définir la balise stream-disk-buffer afin de configurer avtar afin qu’il utilise le disque pour le stockage des mappages d’inodes.
Méthode 1 : Utilisation de l’interface d’administration d’Avamar
Accédez au jeu de données client, ouvrez la boîte de dialogue On-Demand Backup Options, puis cliquez sur More Options. La boîte de dialogue Backup Command-Line Options s’affiche. Cliquez sur More. Saisissez [avtar]stream-disk-buffer dans le champ Enter Attribute, puis sélectionnez true dans le champ Enter Attribute Value. Cliquez sur l’icône Ajouter pour ajouter l’attribut.
Méthode 2 : Utilisation de avtar.cmd
À l’aide d’un éditeur de texte UNIX, créez un fichier avtar.cmd dans le répertoire var du client NAS dans /usr/local/avamar/var/CLIENT_NAME. Si le fichier existe, modifiez-le. Dans le fichier, sur sa propre ligne, entrez l’indicateur suivant :
--stream-disk-buffer
Vérification de la résolution
Après avoir défini la balise stream-disk-buffer, vérifiez que le problème a bien été résolu en vérifiant les fichiers journaux avndmp.log et avtar pour détecter toute erreur liée au stockage de mappage d’inode.