Модуль резервного копирования (dar, с версии 5.34.0 по 5.52.0 )

Материал из ISPWiki
(перенаправлено с «Резервное копирование в ISPmanager»)
Перейти к: навигация, поиск

В ISPmanager, с версии 5.34 по 5.52, реализована новая система резервного копирования, построенная на основе DAR.

С версии 5.52 эта система заменена на ISPtar (документация).

Содержание

Что нового

Основные отличия от предыдущей реализации:

  • Каждый пользователь бэкапится отдельно
  • Упразднена сложная система фильтров. Оставлена возможность для администратора сервера исключать из резервной копии файлы, каталоги, базы данных (по умолчанию делается резервная копия всех данных пользователя) или исключать из резервного копирования выбранного пользователя
  • Хранилище теперь может быть только одно. Но вы можете легко и быстро переключаться между хранилищами. В этом случае вы теряете доступ к одним резервным копиям (первого хранилища) и получаете доступ к резервным копиям второго хранилища
  • Резервное копирование делается ежедневно. Первая резервная копия за неделю (неделя начинается с воскресенья) - полная, остальные - дифференциальные. Вы можете сделать резервное копирование реже изменив настройки планировщика (cron)
  • Добавлена возможность ограничить общий объем резервных копий. При достижении данного ограничения система начнет удалять наиболее старые резервные копии. При этом, если это возможно, будет сохраняться одинаковое количество ежедневных и еженедельных копий
  • Если общий объем резервных копий не ограничен, а на хранилище закончится место, система предпримет попытку освободить необходимое количество, удаляя наиболее старые резервные копии.
  • Общее количество хранимых резервных копий: 14 копий - 7 полных еженедельных и 7 дифференциальных ежедневных. Данное ограничение может быть изменено через параметр BackupCountLimit конфигурационного файла etc/ispmgr.conf
  • У пользователя появилась возможность скачать свою резервную копию, чтобы в последствии самостоятельно залить её на тот же или другой сервер.

Использование DAR позволяет реализовать ряд существенных улучшений:

  • Резервная копия разбивается на небольшие тома (по умолчанию 20Мб), что позволяет при частичном восстановлении существенно сократить время ожидания. А также сокращает количество необходимого свободного пространства на диске, которое требуется при создании и извлечении из резервной копии
  • Не сжимать некоторые типы файлов. Это существенно сокращает затраты ресурсов ЦП при резервном копировании. Вы также можете настроить тип используемого архиватора и уровень компрессии через настройки DAR /etc/darrc
  • Файлы из резервных копий могут быть извлечены без использования ISPmanager при помощи консольного приложения DAR

Переход от старой системы резервного копирования к новой

Чтобы использовать новую систему резервного копирования, необходимо удалить все планы резервных копий от прошлой системы. Если пункт меню Резервные копии не появился в списке, необходимо удалить директорию /usr/local/mgr5/etc/.ispmgr-backup и перезапустить панель.

Настройка модуля

Открыть настройки модуля резервного копирования можно непосредственно в самом модуле, нажав на кнопку Настройки. В настройках можно установить тип хранилища, параметры хранилища, общий объем резервных копий в хранилище, файлы и базы данных, которые стоит исключить из процесса копирования.

Временем запуска можно управлять из модуля Планировщик, выбрав пункт ISPmanager backup task.

Приоритетами запуска можно управлять с помощью утилит nice и ionice. Приоритеты указываются в конфигурационном файле etc/ispmgr.conf параметром BackupCommandPrefix имеющее значение по умолчанию nice -n 10 ionice -c2 -n7.

Детально описание модуля можно прочитать на странице Резервное копирование в ISPmanager

Просмотр старой версии файла

Чтобы посмотреть содержимое старого файла, скачайте файл из резервной копии.

Перенос данных от провайдера к провайдеру

Резервные копии можно перенести с другого сервера. Для этого в списке резервных копий нужно нажать на кнопку Импорт, установить тип источника, указать значение источника и нажать Ок.

Восстановление сервера

Для восстановления резервных копий на сервере в настройках модуля резервного копирования нужно выбрать тип хранилища и указать его параметры. Если вы хранили резервные копии, например, на Amazon S3, то после настройки модуля резервные копии будут снова доступны на вашем сервере.

Полное восстановление пользователя

Чтобы восстановить пользователя и все его данные, нажмите на кнопку Импорт, которая находится в списке резервных копий. Установите источник, его значение и флажок Восстановить после загрузки. По окончанию импорта архива, данные будут восстановлены.

Исключение файлов из резервного копирования

Задать список исключаемых файлов можно в настройках модуля резервного копирования. Пути задаются относительно домашнего каталога пользователя, например data/.filemgr-tmp. Указанные файлы не будут участвовать в процессе резервного копирования.

Как изменить время запуска резервного копирования

По умолчанию резервное копирование делается ежедневно. В модуле Планировщик можно изменить время запуска резервного копирования для задания ISPmanager backup task.

Как ограничить время резервного копирования

Задать временной диапазон, когда должно выполняться резервное копирование, можно через параметр (BackupTimeIterval). Например: BackupTimeIterval 03:00:00-06:00:00 указывает, что резервное копирование должно проводиться с 3х до 6 часов ночи. Резервное копирование отдельного пользователя прерываться не будет. Если система не успеет скопировать всех пользователей в указанный промежуток времени, резевное копирование оставшихся пользователей будет продолжено на следующий день. При этом новых копий за этот день создаваться не будет.

Например: в понедельник 14.09.2015 мы успели скопировать 10 пользователей из 15. Значит, во вторник будут скопированы оставшиеся 5, а следующая резервная копия для всех пользователей будет сделана уже в только в среду 16.09.2015. Резервные копии всех пользователей будут иметь дату 14.09.2015, несмотря на то, что часть пользователей будет скопирована только 15.09.2015

Как освободить место в хранилище

Если нужно освободить место в хранилище, задайте Общий объем в настройках модуля резервного копирования. После применения настроек старые версии бэкапов будут удаляться до тех пор, пока общий размер не будет соответствовать установленному значению параметра.

Как ускорить процесс резервного копирования

При необходимости скопировать большой объем данных, вы можете изменить приоритет резервного копирования в конфигурационном файле etc/ispmgr.conf, за который отвечает параметр BackupCommandPrefix. По умолчанию значение параметра nice -n 10 ionice -c2 -n7.

nice — утилита командной строки, запускающая программу с измененным приоритетом для планировщика задач. Подробности смотрите здесь

ionice используется для получения и установки класса и приоритета процесса. Подробности смотрите здесь

Служебные файлы резервной копии

После создания резервной копии, в директории /usr/local/mgr5/var/backup/ispmgr создаются файлы вида 2015-08-12.user.1.dar и 2015-08-12.user.info. Эти файлы не содержат саму резервную копию, а предназначены для хранения служебной информации.

Файл с расширением dar хранит данные о файлах резервной копии.

Файл с расширением info хранит информацию о дате создания, имени последнего файла копии, размере и типе бэкапа.

Наличие этих файлов позволяет отображать резервные копии в списке и ускоряет работу за счет обращения к необходимым данным.

Нечетное количество хранимых резервных копий

Если параметр BackupCountLimit имеет нечетное значение, например 15, то будет 8 полных и 7 ежедневных дифференциальных бэкапов. При превышении лимита будет удаляться в первую очередь ежедневный дифференциальный бэкап.

Объекты исключенные из резервного копирования

По техническим причинам исключены из резервного копирования сортировщики почтовых ящиков.

Как часто можно сделать новую резервную копию

Под пользователем создать резервную копию можно не чаще чем один раз в час. Иначе будет скачиваться предыдущая резервная копия.

Резервная копия удаленного пользователя

При удалении пользователя, который содержится в резервной копии, напротив него в списке сохраненных данных появится пиктограмма в виде восклицательного знака. Пиктограмма содержит дату удаления пользователя. После восстановления пользователя пиктограмма не исчезнет.

Соотношение полных и ежедневных резервных копий

При первом запуске резервного копирования создается полная резервная копия. В последующие дни, если день недели не воскресение, создаются ежедневные дифференциальные резервные копии. В воскресение в любом случае создается полная резервная копия. В первые 14 дней получится соотношение 3 полных и 11 дифференциальных. По прошествии 14 дней начнут удаляться в первую очередь самые старые дифференциальные резервные копии. После того как у полного бэкапа не останется дифференциальных частей, он будет удален. Следовательно, соотношение 7 полных и 7 дифференциальных бэкапов будет достигнуто приблизительно через 2 месяца.

Как удалить резервные копии

Начиная с версии 5.42 под администратором в списке резервных копий доступна кнопка "Удалить".

Для того, чтобы удалить резервную копию вручную, необходимо перейти в директорию /usr/local/mgr5, выполнить команду sbin/backup2_cp --delete указав путь к info файлу резервной копии, тип хранилища и токен. Тип хранилища и токен хранится в etc/ispmgr.conf в параметрах BackupType и BackupToken соответственно.

Пример удаления резервной копии локального хранилища для конкретного пользователя:

sbin/backup2_cp --delete var/backup/ispmgr/2015-09-08.username.info --type local --token /var/backup

Пример удаления всех резервных копий в локальном хранилище:

ls -1 var/backup/ispmgr/*.info | xargs -I {} sbin/backup2_cp --delete {} --type local --token /var/backup

Как изменить размер тома резервной копии

Начиная с версии 5.38 доступна возможность изменить размер тома резервной копии через конфигурационный файл etc/ispmgr.conf.

Пример установки размера резервной копии 30 мегабайт

BackupSliceSize 30M

Восстановление базы данных под пользователем

Для того, чтобы восстановить базу данных под пользователем, необходимо, чтобы существовала пустая одноименная база данных. Также должны существовать пользователи базы данных. После того, как необходимые элементы созданы, можно приступить к восстановлению базы данных из резервной копии.

Восстановление баз данных с одинаковым пользователем

При восстановлении двух баз данных разных серверов, например, MySQL и PostgreSQL имеющих пользователя с одинаковым именем, будет восстановлена только одна база данных.

Как восстановить системный файл

Архив с системными файлами находится в файлах вида F2015-09-16.root.1.dar. Перейти в хранилище, например /var/backup. Выбрать файл архива корневого пользователя за нужную дату. Посмотреть содержимое архива командой:

dar -l F2015-09-16.root

Пример извлечения файла ispmgr.root.dashboard.xml:

dar -R / -w -x  F2015-09-16.root -g usr/local/mgr5/var/userconf/ispmgr.root.dashboard.xml

Изменить временную директорию

Временные данные при резервном копировании по умолчанию пишутся в директорию /usr/local/mgr5/var/backup/ispmgr . При создании бэкапа сначала складываются временные данные, потом делается архив, потом он кладется на хранилище. То есть во временной директории должно быть места в два раза больше, чем данные, которые бэкапим. Изменить путь до временной директории можно, указав в конфигурационном файле панели /usr/local/mgr5/etc/ispmgr.conf строку

path BackupLocalDir путь

и перезапустить панель

killall core

Если утилита killall отсутствует, то выполнить

/usr/local/mgr5/sbin/mgrctl -m ispmgr exit

Для включения старой версии бэкапов (необходимо, если на вашем хранилище остались копии, сделанные старым способом) в файл конфигурации панели добавьте Option EnableOldBackup - использовать параллельно и старую, и новую реализацию резервного копирования.