Avamar. Сбой резервного копирования NetApp по протоколу NDMP из-за большого использования памяти Fatal Signal 11
Summary: Резервное копирование томов NetApp завершается сбоем на этапе инициализации. Когда avtar пытается прочитать inode.dir.map из предыдущей резервной копии, он завершается с неустранимым сигналом 11 из-за большого использования памяти. ...
Symptoms
Признаки сбоя резервного копирования
Резервное копирование томов NetApp завершается сбоем на этапе инициализации, когда avtar пытается прочитать inode.dir.map из предыдущей резервной копии. Резервное копирование завершается сигналом Fatal 11.
NetApp использует индексные дескрипторы вместо имен файлов для документирования файлов в потоке данных. При большом количестве файлов в начальных процессах управления может не хватить памяти, так как именно там по умолчанию хранятся сопоставления индексных дескрипторов.
Сбой обычно происходит во время запланированного резервного копирования. Резервное копирование вручную, как правило, завершается успешно.
Пример. Выполняется резервное копирование двух томов. Во время запланированного резервного копирования работа для большего тома (>200 Тбайт). Меньший том (~21 Тбайт) не может выполнить запланированное резервное копирование. При ручном запуске все будет выполнено.
В документации Avamar упоминается ограничение в 200 млн файлов. В этом примере было 480 миллионов файлов.
Актуальные сообщения журнала
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
Это не является указанием на причину.
Сообщения журнала 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
Основная причина проблемы
Проблема вызвана тем, что размер сопоставления индексных дескрипторов превышает объем памяти, выделенной для сопоставления.
Когда он считывается в память, он записывает данные за выделенную границу памяти, вызывая сообщение о неустранимой ошибке Signal 11.
Это происходит из-за большого числа индексных дескрипторов для резервного копирования, из-за чего сегмент памяти, зарезервированный для сопоставления индексных дескрипторов, переполнен.
Сообщения об ошибках в журналах, такие как «Fatal signal 11» и «uapp::handlefatal: Fatal signal 11", указывают на то, что в программе произошла неустранимая ошибка из-за переполнения памяти.
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
Настройка avtar для использования диска для хранения карт индексных дескрипторов.
Временное решение заключается в том, чтобы сохранять отображение индексных дескрипторов в файле диска, а не в памяти. Это говорит avtar, что при чтении карт индексных дескрипторов их нужно хранить на диске, а не в памяти. Это устраняет проблему с памятью SIG-11.
Существует два метода установки флага stream-disk-buffer, чтобы настроить avtar для использования диска для хранения карты индексных дескрипторов.
Способ 1. Использование интерфейса администратора Avamar
Перейдите к клиентскому набору данных, откройте диалоговое окно Параметры резервного копирования по требованию и щелкните Дополнительные параметры. Откроется диалоговое окно Параметры командной строки резервного копирования. Нажмите Дополнительно. Введите [avtar]stream-disk-buffer в поле Enter Attribute, выберите true в полях Enter Attribute Value. Щелкните значок Добавить, чтобы добавить атрибут.
Способ 2. Использование avtar.cmd
С помощью текстового редактора UNIX в каталоге var клиента сетевой системы хранения данных в /usr/local/avamar/var/CLIENT_NAME создайте avtar.cmd файлов. Если файл существует, отредактируйте его. В файле, в своей строке введите следующий флаг:
--stream-disk-buffer
Проверка решения
После установки флага stream-disk-buffer убедитесь, что проблема успешно устранена, проверив файлы журнала avndmp.log и avtar на наличие ошибок, связанных с хранением сопоставлений индексных дескрипторов.