add-job-to-bareos-director
добавить-работу-в-бареос-директор
Эта роль предназначена для тех, кто использует Bareos Backup System, которая является открытой системой управления резервным копированием корпоративного уровня и имеет удобный веб-интерфейс, что упрощает восстановление любых резервных копий. Самый медленный процесс при работе с Bareos — это добавление новых машин и/или файлов в систему.
Эта роль обеспечивает быстрый и простой способ добавления новых машин или объектов для систематического резервного копирования. Хост Ansible для выполнения этой роли должен быть вашим сервером Bareos (где хранятся файлы bareos-dir и bareos-sd).
Bareos является производной от Bacula. Эта роль Ansible может работать с Bacula, но была протестирована только с Bareos.
Bareos может резервировать ноутбуки (Mac, Linux и Windows) и другие устройства, которые не имеют статически назначенных IP-адресов, но в этой роли эти случаи не рассматриваются. Эта роль предполагает, что компонент bareos director (bareos-dir) сможет обратиться к server_fqdn
во время резервного копирования и взаимодействовать с демон-клиентом bareos (bareos-fd) для получения необходимых файлов и передачи их демону хранения bareos (bareos-sd) для постоянного хранения.
Требования
Вам необходимо использовать и иметь полностью настроенную Bareos Backup System версии 17.x или выше. Я начал использовать Bareos до того, как познакомился с Ansible, и не использовал Ansible для настройки своих экземпляров, но недавно нашел эту роль Ansible для установки системы Bareos.
Переменные роли
Имя хоста машины, которую вы резервируете.
add_job_to_bareos_director_host_name: "мой-важный-crm-сервер"
```
Полное доменное имя или IP-адрес машины, которую вы добавляете для резервного копирования.
add_job_to_bareos_director_server_fqdn: "crm.example.com"
Полное доменное имя или IP-адрес, где работает ваш демон/сервис хранения Bareos. Для большинства пользователей это, вероятно, будет то же самое FQDN, где работает демон/сервис директора Bareos (ваш сервер Bareos), но может быть и отдельная машина.
add_job_to_bareos_director_bareos_storage_daemon_fqdn: "нужно заполнить"
Это очень важно. Он должен соответствовать `client_password`, введенному при добавлении клиентской программы bareos на машину, которую вы хотите резервировать. Вам может быть интересно посмотреть [роль Ansible, что я написал для этой цели (установить-bareos-клиент) здесь](https://github.com/stancel/install-bareos-client). Значение для этого обычно представляет собой очень длинную строку (47 символов) случайных символов, как ниже.
add_job_to_bareos_director_client_password: "kAgt2SJTysbg5iRpcnj5XRexuEnDieGCetCXNQrYGuzNxCf"
Пароль директора хранения — это пароль bareos-dir, найденный на вашем сервере Bareos. Хорошей практикой является использование переменной окружения (как ниже) или Ansible Vault для хранения этого значения и извлечения его в переменную `storage_director_password`.
add_job_to_bareos_director_storage_director_password: "{{ lookup('env', 'BAREOS_STORAGE_PASSWORD') }}"
Уровень резервного копирования - Полный, Инкрементальный, Дифференциальный
* Инкрементальный - все файлы, измененные с момента последнего полного, дифференциального или инкрементального резервного копирования
* Дифференциальный - все файлы, указанные в наборе файлов, которые изменились с момента последнего успешного полного резервного копирования
* Полный - все файлы в наборе, независимо от изменений, будут резервироваться
add_job_to_bareos_director_level: Инкрементальный
Разрешает вам контролировать порядок, в котором будут выполняться ваши работы, указывая положительное ненулевое число. Чем выше число, тем ниже приоритет работы.
add_job_to_bareos_director_priority: 6
Расписание резервного копирования, которое вы хотите выполнить для этой работы/машины, добавляемой с помощью этой роли. [Официальная документация здесь](http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-1380009.4)
add_job_to_bareos_director_backup_schedule:
- Run = Full sun at 02:00
- Run = Incremental mon-sat at 02:00
Как вы увидите в примере ниже, я использую это как путь к файлу, но у вас есть и другие интересные опции. Рекомендую ознакомиться с ними в [документации Bareos здесь](http://doc.bareos.org/master/html/bareos-manual-main-reference.html#directiveSdDeviceArchive%20Device). Вы также можете резервировать на распределенные файловые системы, такие как GlusterFS и облачное хранилище (AWS S3), лента и т.д.
add_job_to_bareos_director_archive_device: "/z-storage/backups/{{ add_job_to_bareos_director_host_name }}"
Список директорий и/или файлов, которые будут обработаны в заданиях резервного копирования. [Официальная документация здесь](http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-1410009.5.1)
add_job_to_bareos_director_filesets_to_backup:
- File = "/var/www/html"
- File = "/path/to/your/directory"
- File = "/backups/mysql/current"
Список директорий и/или файлов, которые нужно исключить из задания резервного копирования. [Официальная документация здесь](http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-1430009.5.2). На самом деле не храните свои файлы/каталоги git в директории DocumentRoot веб-сервера. Это просто пример использования исключения файлов или директорий из каталога, который вы резервируете.
add_job_to_bareos_director_filesets_to_exclude:
- File = "/var/www/html/.github"
- File = "/var/www/html/.git"
- File = "/var/www/html/.gitignore"
Существуют несколько дополнительных прямых переменных, значения которых устанавливаются в [defaults/main.yml файле](../blob/master/defaults/main.yml). Они:
add_job_to_bareos_director_backup_name: "{{ add_job_to_bareos_director_host_name }} Резервное копирование"
Срок хранения отдельных файлов - влияет на просмотр файлов в графическом интерфейсе
add_job_to_bareos_director_file_retention: 90 дней
Записи о заданиях в БД - как долго хранить информацию/метаданные о этих резервных копиях
add_job_to_bareos_director_job_retention: 6 месяцев
Как долго фактически хранить файлы резервной копии
add_job_to_bareos_director_volume_retention_full: 12 месяцев
Максимальный размер каждого объемного файла/резервной копии
add_job_to_bareos_director_maximum_volume_bytes_full: 10G
Лимит на количество томов в пуле
add_job_to_bareos_director_maximum_volumes_full: 10
Как долго фактически хранить файлы резервной копии
add_job_to_bareos_director_volume_retention_incremental: 12 месяцев
Максимальный размер каждого объемного файла/резервной копии
add_job_to_bareos_director_maximum_volume_bytes_incremental: 10G
Лимит на количество томов в пуле
add_job_to_bareos_director_maximum_volumes_incremental: 10
Зависимости
------------
Нет зависимостей от других ролей Ansible.
Пример плейбука
----------------
- hosts: ваш_сервер_bareos
vars_files:
- vars/main.yml
roles:
- { role: stancel.add-job-to-bareos-director }
или
- hosts: ваш_сервер_bareos
vars:
add_job_to_bareos_director_host_name: "мой-важный-crm-сервер"
add_job_to_bareos_director_server_fqdn: "crm.example.com"
add_job_to_bareos_director_client_password: "kAgt2SJTysbg5iRpcnj5XRexuEnDieGCetCXNQrYGuzNxCf"
add_job_to_bareos_director_storage_director_password: "{{ lookup('env', 'BAREOS_STORAGE_PASSWORD') }}"
add_job_to_bareos_director_level: Инкрементальный
add_job_to_bareos_director_priority: 6
add_job_to_bareos_director_backup_schedule:
- Run = Full sun at 02:00
- Run = Incremental mon-sat at 02:00
add_job_to_bareos_director_archive_device: "/z-storage/backups/{{ host_name }}"
add_job_to_bareos_director_filesets_to_backup:
- File = "/var/www/html"
- File = "/path/to/your/directory"
- File = "/backups/mysql/current"
add_job_to_bareos_director_filesets_to_exclude:
- File = "/var/www/html/.github"
- File = "/var/www/html/.git"
- File = "/var/www/html/.gitignore"
roles:
- { role: stancel.add-job-to-bareos-director }
```
Лицензия
GPLv3
Информация об авторе
The role allows for a fast and easy way to add new machines or items to be systematically backed up by Bareos.
ansible-galaxy install stancel/add-job-to-bareos-director