Русский
Русский
English
Статистика
Реклама

Настройка резервного копирования на внешний HDD, используя Bareos, для Windows 10

Лирическое вступление

До недавнего беспокойного времени для создания резервных копий критичных данных я использовал стандартное средство операционной системы Windows 10 - "История файлов" ("File history"). Периодически данные со стационарного ПК сохранялись на внешний HDD, подключаемый через USB интерфейс, что меня вполне устраивало и успокаивало мою психику.

Одним субботним утром меня озадачил вопрос: "А смогу ли я восстановить свои данные на другой системе?" В качестве испытуемого был выбран ноутбук с системой Windows 10. После большой небольшой пляски с бубном данные были восстановлены, но неприятным сюрпризам стало то, что при сравнении количества папок и файлов было обнаружено расхождение. Данный факт меня опечалил и побудил подойти к вопросу организации резервного копирования данных более ответственно. После непродолжительного поиска в сети Internet мой выбор пал на Open Source систему Bareos. Процесс настройки системы не был для меня простым и интуитивным, было затрачено значительное количество времени. Память человеческая имеет прекрасную способность забывать информацию, что побудило меня составить "шпаргалку" на будущее, коей спешу с Вами поделиться.

Описание задачи

На стационарном ПК с ОС Windows 10 x64 на локальном диске DATA (D:) расположен каталог проекта "test". Необходимо организовать резервное копирование всех файлов вышеуказанного проекта на внешний HDD - BACKUP (E:), за исключением подкаталогов "target".

Разработка проекта ведётся в будние дни, поэтому копирование производить в автоматическом режиме по графику:

На компьютере на локальном диске C: установлена система Bareos версии 19.2.7 x64. Установка произведена "по умолчанию" (со всем соглашаемся и нажимаем "далее"), тип установки "Full SQLite":

Выполним нижеперечисленные действия по порядку.

Куда?

Создадим ресурс "Устройство" ("Device") и опишем его в файле C:\ProgramData\Bareos\bareos-sd.d\device\RemoteStorage.conf:

Device {  # имя устройства, обязательное  Name = RemoteDevice                  # тип данных, обязательное   Media Type = File                # где хранить тома, обязательное    Archive Device = E:/             # тома устройства именуются автоматически  LabelMedia = yes;                    # поддерживает произвольный доступ  Random Access = yes;                  # сканируется на наличие томов  AutomaticMount = yes;            # может ли быть отсоединено    RemovableMedia = yes;          }

Создадим ресурс "Хранилище" ("Storage"), соответствующий ресурсу Device, и опишем его в файле C:\ProgramData\Bareos\bareos-dir.d\storage\Remote.conf:

Storage {  # имя устройства, обязательное   Name = Remote                        # имя или IP адрес, обязательное  Address = localhost                  # пароль для доступа к Storage-сервису, обязательное  # ВЗЯТЬ ОТСЮДА C:\ProgramData\Bareos\bareos-sd.d\director\bareos-dir.conf  Password = "TFso/Fr6YDeuei/QYtg2bDLaS9dDkMgRvSPefKr88FnR"   # имя соответствующего ресурса Device, обязательное  Device = RemoteDevice  # тип данных, должен совпадать с типом данных соответствующего Device, обязательное  Media Type = File}

Создадим ресурс "Пул" ("Pool") для полного копирования и опишем его в файле C:\ProgramData\Bareos\bareos-dir.d\pool\TestFull.conf:

Pool {  # имя пула, обязательное  Name = TestFull  # повторное использование устаревших томов  Recycle = yes                         # усечение устаревших томов  AutoPrune = yes            # срок хранения данных в томах  Volume Retention = 365 days           # предельный размер тома  Maximum Volume Bytes = 50G      # предельное количество томов  Maximum Volumes = 100                 # формат имени для томов "TestFull-<id-тома>"  Label Format = "TestFull-"          }

Создадим ресурс "Пул" ("Pool") для инкрементального копирования и опишем его в файле C:\ProgramData\Bareos\bareos-dir.d\pool\TestIncr.conf:

Pool {  # имя пула, обязательное  Name = TestIncr  # повторное использование устаревших томов  Recycle = yes                         # усечение устаревших томов  AutoPrune = yes            # срок хранения данных в томах  Volume Retention = 30 days           # предельный размер тома  Maximum Volume Bytes = 1G      # предельное количество томов  Maximum Volumes = 100                 # формат имени для томов "TestIncr-<id-тома>"  Label Format = "TestIncr-"          }

Что?

Создадим ресурс "Набор файлов" ("FileSet") и опишем его в файле C:\ProgramData\Bareos\bareos-dir.d\fileset\TestFileSet.conf:

FileSet {  # имя набора файлов, обязательное  Name = "TestFileSet"  # что будем копировать  Include {  Options {    Signature = MD5         # хеширование, применяемое для файлов    WildDir = "*target"     # шаблон для исключения каталога    Exclude = yes           # исключить файлы по шаблону    }    File = "D:/test"          # каталог, подлежащий копированию  }}

Когда?

Создадим ресурс "Расписание" ("Schedule") и опишем его в файле C:\ProgramData\Bareos\bareos-dir.d\schedule\TestSchedule.conf:

Schedule {  # имя расписания, обязательное  Name = "TestSchedule"  # тип копирования, используемый пул и время запуска  Run = Level=Full Pool=TestFull fri at 18:30  # тип копирования, используемый пул и время запуска    Run = Level=Incremental Pool=TestIncr mon-thu at 18:30}

Кто? Как?

Создадим ресурс "Задание" ("Job") и опишем его в файле C:\ProgramData\Bareos\bareos-dir.d\job\backupTest.conf:

Job {  # имя задания, обязательное  Name = "backupTest"  # имя используемой File-службы  Client = "bareos-fd"  # набор файлов  FileSet = "TestFileSet"  # имя используемого Message-ресурса, обязательное  Messages = "Standard"  # пул, обязательное  Pool = "TestFull"  # расписание  Schedule = "TestSchedule"  # устройство  Storage = "Remote"  # тип, обязательное  Type = "Backup"  # где хранить файл начальной загрузки  Write Bootstrap = "E:/%c.bsr"}

Активация задания копирования

Перезапустим службы Bareos, чтобы применить внесённые нами изменения:

  • Bareos Storage Service ("Bareos-sd");

  • Bareos Director Service ("Bareos-dir").

После этого наше задание "backupTest" активировано, проверим это. Зайдём в панель управления Bareos по адресу http://127.0.0.1:9100/ (логин: admin, пароль: admin). Перейдём в раздел "Расписание" ("Schedules") на вкладку "Статус планировщика" ("Status schedules") и убедимся, что наше задание присутствует в расписании.

Запуск копирования вручную

Перейдем в раздел "Задания" ("Jobs") на вкладку "Запуск" ("Run"). В поле "Задание" ("Job") выберем наше задание "backupTest". В поле "Уровень" ("Level") выберем значение "Full" и запустим задание, нажав "Submit".

При этом будет выполнено полное копирование. Для выполнения инкрементального копирования выберите в поле "Уровень" ("Level") значение "Incremental", в поле "Пул" ("Pool") - "TestIncr".

Ход выполнения любых заданий можно контролировать в разделе "Панель" ("Dashboard"):

Запуск восстановления данных

Перейдем в раздел "Восстановление" ("Restore") на вкладку "Восстановить на клиент" ("Restore multiple files"). В поле "Клиент" ("Client") выберем значение "bareos-fd". В поле "Задания резервного копирования " ("Backup jobs") выберем желаемую точку восстановления. В поле "Объединить все наборы файлов клиента" ("Merge all clients filesets") выберем значение "Нет" ("No"). В поле "Папка восстановления на клиенте" ("Restore location on client") укажем куда восстановить данные ("D:/test_restore") и запустим восстановление, нажав "Restore".

Источник: habr.com
К списку статей
Опубликовано: 30.03.2021 16:11:46
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Системное администрирование

Резервное копирование

Bareos

Windows

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru