Резервное копирование и восстановление
Для работы с резервными копиями используется подкоманда backup.
| См. общее описание процесса резервного копирования и восстановления домена в разделе «Резервное копирование и восстановление». |
Доступны следующие операции:
Создание резервной копии в автономном режиме
Для создания резервной копии (с установкой соответствующих блокировок) БД службы каталогов на определенном контроллере домена в виде файла в формате TAR используется следующий формат вызова:
samba-tool domain backup offline --targetdir=<output-dir> [options]
Подкоманда создает резервную копию текущего домена, используя локальные файлы на диске на определенном контроллере домена и устанавливая соответствующие блокировки в базе данных для обеспечения согласованности.
В случае выхода домена из строя полученный файл может использоваться для его восстановления.
Основные отличия создания резервной копии в автономном режиме от создания резервной копии в онлайн-режиме:
-
резервная копия может быть создана, в том числе, и при неработающем контроллере домена (то есть когда сервисы службы каталогов не работают);
-
в копию включаются метаданные репликации, специфичные для данного конкретного контроллера домена;
-
в копию попадают атрибуты, которые еще не были обработаны процессом репликации;
-
используются «сырые» файлы базы данных, что означает сохранение в резервной копии всех их особенностей, включая возможные проблемы и ошибки.
Для корректной работы команды требуется пакет lmdb-utils.
|
Выполнение команды на новом контроллере домена, которому еще не был выдан относительный идентификатор (RID), может привести к ошибке. В этом случае достаточно инициировать принудительную выдачу RID, например, путем добавления временного пользователя (samba-tool user create).
|
Создание резервной копии в онлайн-режиме
Для создания резервной копии текущего состояния БД работающего контроллера домена в виде файла в формате TAR используется следующий формат вызова:
samba-tool domain backup online --server=<DC-to-backup> --targetdir=<output-dir> [options]
Подкоманда создает резервную копию текущего состояния домена, обращаясь к работающему контроллеру домена. Содержимое копии аналогично содержимому базы данных вновь присоединенного контроллера домена.
В случае выхода домена из строя полученный файл может использоваться для его восстановления.
Подкоманда может выполняться как локально, так и в удаленном режиме. Во втором случае для включения в резервную копию требуемых настроек может быть передан конфигурационный файл smb.conf с помощью опции -s|--configfile.
При использовании подкоманды следует обратить внимание на следующее:
-
перед созданием резервной копии рекомендуется выполнить команду
samba-tool dbcheckи исправить обнаруженные ошибки; -
в резервную копию включаются все секреты домена;
-
несмотря на возможность разархивировать содержимое файла с резервной копией базы данных вручную, перед запуском контроллера домена из резервной копии требуется выполнить команду
samba-tool domain backup restore.
Параметры
Параметры вызова:
-
--server=SERVER— имя контроллера домена, на основе данных которого требуется создать резервную копию; -
--targetdir=TARGETDIR— каталог для сохранения резервной копии; -
--no-secrets— исключение из резервной копии секретов; -
--backend-store=BACKENDSTORE— тип базы данных каталога; возможные значения:tdb | mdb; значение по умолчанию —tdb.
Примеры
Пример создания резервной копии домена в онлайн-режиме на локальном контроллере домена:
mkdir online-domain-backups samba-tool domain backup online \ --targetdir=online-domain-backups \ --server=dc01 \ -UAdministrator
Пример создания резервной копии домена в онлайн-режиме на удаленном контроллере домена:
scp dc01.samdom.example.com:/app/inno-samba/etc/smb.conf ./smb.conf.dc01 mkdir online-domain-backups samba-tool domain backup online \ --server=dc01.samdom.example.com \ --configfile=smb.conf.dc01 \ --realm=SAMDOM.EXAMPLE.COM \ --username=administrator@SAMDOM.EXAMPLE.COM \ --targetdir=online-domain-backups
Создание резервной копии с переименованием
Для создания резервной копии текущего состояния БД работающего контроллера домена с одновременным переименованием домена (<new-domain> — новое NetBIOS-имя для домена, <new-dnsrealm> — новая область безопасности для домена) используется следующий формат вызова:
samba-tool domain backup rename <new-domain> <new-dnsrealm> --server=<DC-to-backup> --targetdir=<output-dir> [options]
Подкоманда работает аналогично подкоманде samba-tool backup online, создавая копию базы данных работающего контроллера домена. Однако при ее использовании также может быть выполнено переименование всех доменных записей в базе данных. Переименование домена позволяет восстановить и запустить новый контроллер домена без нарушения работы существующего домена. Например, данный вариант может использоваться для клонирования домена, эксплуатируемого в рабочем окружении, для создания его аналога в тестовом окружении.
Подкоманда может выполняться как локально, так и в удаленном режиме. Во втором случае для включения в резервную копию требуемых настроек может быть передан конфигурационный файл smb.conf с помощью опции -s|--configfile.
При использовании подкоманды следует обратить внимание на следующее:
-
перед созданием резервной копии рекомендуется выполнить команду
samba-tool dbcheckи исправить обнаруженные ошибки; -
в резервную копию включаются все секреты домена;
-
несмотря на возможность разархивировать содержимое файла с резервной копией базы данных вручную, перед запуском контроллера домена из резервной копии требуется выполнить команду
samba-tool domain backup restore; -
объекты групповых политик (GPO) и информация в sysvol будут по-прежнему ссылаться на старую область безопасности, поэтому потребуется обновить их вручную;
-
при указании опции
--keep-dns-realmпотребуется вручную обновить DNS-записи, так как они по-прежнему будут ссылаться на IP-адрес старого контроллера домена.
Параметры
Параметры вызова:
-
<new-domain>— новое NetBIOS-имя для домена; -
<new-dnsrealm>— новая область безопасности для домена; -
--server=SERVER— имя контроллера домена, на основе данных которого требуется создать резервную копию; -
--targetdir=TARGETDIR— каталог для сохранения резервной копии; -
--keep-dns-realm— сохранение в резервной копии DNS-записей, относящихся к старой области безопасности; -
--no-secrets— исключение из резервной копии секретов; -
--backend-store=BACKENDSTORE— тип базы данных каталога; возможные значения:tdb | mdb; значение по умолчанию —tdb.
Восстановление домена из файла с резервной копией
Для восстановления домена из файла с резервной копией используется следующий формат вызова:
samba-tool domain backup restore --backup-file=<tar-file> --targetdir=<output-dir> --newservername=<DC-name> [options]
Подкоманда позволяет восстановить на новом контроллере домена базу данных домена из ранее созданной резервной копии.
Восстановленная база данных не будет содержать исходный контроллер домена, на основе которого была создана резервная копия (или какой-либо другой из контроллеров, существовавших в исходном домене). В восстановленной базе данных будет присутствовать только новый контроллер домена, указанный в параметре --newservername.
После восстановления база данных может использоваться для запуска службы каталогов. Перед запуском нового контроллера домена требуется остановить все существующие в домене контроллеры. После этого для восстановления работы сети к новому контроллеру домена могут быть присоединены остальные контроллеры.
Восстановление конфигурационных файлов и файлов базы данных домена должно производиться в пустой каталог. Это может быть новый каталог или предварительно очищенный каталог /app/inno-samba. Во втором случае рекомендуется предварительно скопировать содержимое /app/inno-samba для возможного анализа в будущем.
Если размер каталога не позволяет выполнить требования к времени восстановления (RTO), рекомендуется использовать для восстановления новый каталог.
В случае восстановления в новый каталог при запуске службы inno-samba достаточно передать ей путь к файлу smb.conf в новом каталоге с помощью опции -s|--configfile.
По умолчанию контроллер домена, на котором выполняется операция восстановления, добавляется в сайт Default-First-Site-Name. Если сайт в восстанавливаемой БД не существует, он будет создан. Для указания другого сайта при вызове подкоманды восстановления передайте его имя с помощью опции --site.
Перед запуском inno-samba на контроллере домена после восстановления обязательно проверьте корректность настроек в созданном при восстановлении файле smb.conf.
Параметры
Параметры вызова:
-
--backup-file=BACKUPFILE—путь к файлу резервной копии; -
--targetdir=TARGETDIR— путь к каталогу, в котором следует вести запись данных; -
--newservername=NEWSERVERNAME— имя нового сервера для контроллера домена; -
--host-ip=IPADDRESS— IPv4-адрес сервера; -
--host-ip6=IP6ADDRESS— IPv6-адрес сервера; -
--site=SITE— сайт, в который должен быть добавлен новый сервер.