Содержание
- Dell EMC Avamar
- IBM Spectrum Protect
- Commvault Complete Backup & Recovery
- Veeam Backup Essentials
- Acronis Backup
- HPE StoreOnce
- Arcserve UDP
- Unitrends Backup
- Veritas Backup Exec
- Barracuda Backup
- Краткий итог
- 1.Описание демонов Bacula
- ОС и железо
- Описание схемы резервного копирования и настроек демонов Bacula
- Важно отметить, что каждый из клиентов должен резолвить fqdn имя сервера в его ip адрес! Обеспечте это средствами dns или пропишите в hosts!
- Пример процедуры востановления
Айтишная мудрость гласит, что люди делятся на две категории: тех, кто не делает резервные копии и тех, кто уже делает. В корпоративном секторе ситуация примерно такая же. Несмотря на очевидную важность регулярного бэкапа, далеко не все компании обращают на это внимание.
В данном материале вы узнаете о самых популярных инструментах для резервного копирования и восстановления данных и сможете сравнить их при помощи специальной таблицы.
На самом деле важность регулярного бэкапа и хранения резервных копий критически важных данных можно проиллюстрировать на простом примере. После прошлогодних атак вирусов-шифровальщиков WannaCry и NotPetya быстрее всего к работе возвращались те организации, которые просто восстановили резервные копии своих систем. А самый курьезный случай, наверное, случился с компанией Maersk — крупным международным транспортным предприятием. За несколько дней сотрудники в главном офисе восстановили из резервных копий почти все сервера. Но у них не было бэкапов главных контроллеров, которые управляли всей сетью. Единственный экземпляр сохранился в Гане: в день атаки местный офис остался без электричества и не пострадал от атаки. Заветный жесткий диск с копией контроллеров пришлось передавать в Лондон самолетом через Нигерию, так как на отправку по интернету из-за его медленной скорости в Гане ушли бы дни.
Потерять данные можно не только из-за вирусов и хакерских атак, как в случае с компанией Maersk. Такое может произойти вследствие ошибок пользователей и администраторов сети, поломок оборудования, форс-мажорных обстоятельств (краж, пожаров, стихийных бедствий). Защитить от этого призваны системы резервного копирования и восстановления данных (Backup and Recovery). Они с заданной периодичностью копируют определенную системными администраторами информацию на резервные носители или в облако. Резервировать можно как конкретные файлы и папки, так и образы систем и серверов, содержимое баз данных и приложений. В случае проблем подобные системы умеют восстанавливать необходимые данные на исходных устройствах. Причем происходит это очень быстро. Современные решения позволяют продолжить работу уже через несколько минут после происшествия.
Для хранения резервных копий используются разные носители. Зачастую — жесткие и твердотельные диски (HDD и SSD) в составе различных специализированных устройств (NAS, RAID-массивов и т. д.). Не обходятся без внимания и облачные хранилища. Можно, конечно, использовать и другие носители, например, Blu-ray, DVD или ленточные устройства хранения. Но у них есть существенные недостатки. Компакт-диски слишком малы по объему (не подходят для крупных предприятий), а ленточные устройства хоть и обеспечивают высокую надежность и долговечность хранения, имеют очень маленькую скорость восстановления. Данные способы подходят для домашнего резервирования и использования в небольших фирмах, где объем данных не так велик. А вот в крупных компаниях они будут весьма неудобны.
Также нужно обратить внимание на модель работы системы резервного копирования и восстановления данных. Это может быть отдельная программа, программно-аппаратный комплекс или услуга по модели SaaS (Software as a Service). У каждой из них есть свои особенности. Программное решение стоит дешево, но в любом случае требует наличия мест для хранения информации в ИТ-инфраструктуре клиента. Программно-аппаратные комплексы предоставляют такие устройства, но и стоят намного дороже. SaaS-решение избавляет от проблем с наличием места, но политика ИБ многих компаний запрещает хранить некоторые типы данных на сторонних серверах. Так что при выборе той или иной модели нужно отталкиваться от собственных потребностей и имеющегося оборудования. Теперь давайте рассмотрим детальнее, какие решения есть на рынке. При их отборе для нашего обзора мы отталкивались от экспертного мнения специалистов Gartner и других ведущих ресурсов.
Dell EMC Avamar
Одна из ведущих ИТ-компаний — Dell EMC — для резервного копирования и восстановления данных предлагает программно-аппаратное средство под названием Avamar. Оно является частью Data Protection Suite Family — набора фирменных решений для защиты информации. Avamar работает со всеми типами корпоративных устройств (стационарными ПК, ноутбуками и серверами), разнообразными виртуальными средами (в том числе VMware и Microsoft Hyper-V) и корпоративными приложениями (SAP, Oracle, MS SQL и т. д.). Для эффективного использования дискового пространства при хранении резервных копий применяется дедупликация данных, а трафик оптимизируется в зависимости от типа рабочих сетей. По заявлениям разработчиков, интеграция данного средства с Dell EMC Data Domain, увеличивает скорость копирования на 50% и снижает нагрузку на сеть на сеть на 99%.
Система позволяет централизованно работать не только с главным, но и с удаленными офисами. Бэкап в них происходит по стандартной модели. Например, чтобы восстановить данные в удаленном офисе, администратору нужно сделать те же действия, что и при работе на месте. Сама процедура восстановления довольно проста, зачастую для этого необходим всего один шаг. Резервные копии в Dell EMC Avamar можно зашифровать, что обеспечивает повышенный уровень безопасности данных. При этом система хранения Avamar Data Store масштабируется до 124 ТБ. Также решение работает с облачными сервисами AWS и Azure. Поддерживается резервное копирование в облако и аварийное восстановление, имеется функция длительного хранения в облаке.
IBM Spectrum Protect
Восстановление информации с IBM Spectrum Protect происходит очень просто. Управлять резервированием и восстановлением можно как при помощи фирменного программного средства Spectrum Protect Operatons Center, так и с использованием стороннего ПО. Также в IBM Spectrum Protect есть предустановленные планы и конфигурации. Они упрощают развертывание и настройку решения, а также помогают в управлении: можно сразу задать необходимые сценарии работы для тех или иных сред. Так что даже администраторы, которые ранее не сталкивались с подобными задачами, могут без проблем разобраться в системе и управлять ней. Сам разработчик заявляет, что простота — это одна из ключевых особенностей платформы.Компания IBM для резервного копирования и восстановления данных предлагает программно-аппаратный комплекс Spectrum Protect с возможностью масштабирования до 4 ПБ (петабайт). Система работает как с физическими серверами и устройствами, так и в виртуальных средах Microsoft Hyper-V и VMware. Также поддерживается работа с облачными сервисами. IBM Spectrum Protect позволяет хранить резервные копии на самых разнообразных носителях — отдельных жестких дисках, флешках, ленточных накопителях, в сетевых и облачных хранилищах. Причем пользователи могут работать с гибридными моделями и задавать оптимальное сочетание разных мест хранения. Само резервное копирование объектов происходит довольно быстро. По информации разработчика, с помощью инструмента IBM Spectrum Protect Snapshot можно выполнить резервное копирование пяти сотен образов виртуальных машин VMware за семь минут. Действительно, хороший показатель.
Commvault Complete Backup & Recovery
Commvault Complete Backup & Recovery обеспечивает резервирование и архивирование данных с физических и виртуальных серверов, облачных и гибридных сред, обычных ПК и ноутбуков, и даже корпоративных мобильных устройств. Решение поддерживает большинство операционных систем, приложений и баз данных (Documentum, Oracle, MySQL, SAP, Microsoft), виртуальных и облачных сред (AWS, Microsoft Hyper-V, Red Hat Virtualization, VMware и многие другие). Обо всех процедурах продукт выдает детальные отчеты и аналитику, что позволяет оптимизировать его работу и функционирование всего предприятия. Во время процесса резервирования данные автоматически дедуплицируются, причем как при обращении к источнику, так и на серверах резервных копий. Такой подход существенно снижает нагрузку на сеть и экономит место в хранилищах. Решение позволяет создавать резервные копии и «снимки» приложений и оборудования без прерывания работы и с минимальной нагрузкой на систему. А управление всеми процессами осуществляется через единую консоль управления.Средство резервного копирования и восстановления информации от компании Commvault поставляется в виде программного продукта и облачной услуги по модели SaaS. Решение имеет модульный характер, но в то же время все его части созданы на основе единого кода. Такой подход гарантирует бесперебойную совместную работу разных частей данного средства.
Veeam Backup Essentials
Компания Veeam предлагает одно из самых функциональных программных решений для резервного копирования и восстановления данных. В него входят два инструмента: Veeam Backup & Replication и Veeam ONE. Как понятно из названия, первый умеет не только делать бэкапы, но и репликации — синхронизацию содержимого нескольких копий объекта. Данная функция позволяет быстро и безопасно восстанавливать виртуальные машины, данные и приложения после сбоя. Причем восстанавливаются они практически в то же состояние, в котором были до аварии. Таким образом можно быть уверенным, что результаты работы не будут потеряны. Также средство умеет делать откат реплик и позволяет просто переключаться на реплику при отказе виртуальной машины и так же легко возвращаться обратно.
Veeam ONE — решение, позволяющее мониторить инфраструктуру, создавать отчеты и планировать распределение ресурсов платформ VMware vSphere и Microsoft Hyper-V. Оно может сообщать о потенциальных проблемах с виртуальными машинами, физическими серверами и облачными ресурсами до того, как они помешают работе пользователей. То есть позволяет устранить проблемы до их появления и таким образом избежать процедуры восстановления данных, которая наверняка вызовет перебои в работе.
Кроме этих инструментов, Veeam Backup Essentials предлагает стандартные возможности по резервному копированию и восстановлению данных. Программа умеет работать с популярными бизнес-приложениями и базами данных, поддерживает работу с 19 распространенными файловыми системами. Она имеет удобный веб-портал, который позволяет восстанавливать файлы и приложения в один клик. Причем делать это могут не только администраторы, но и обычные пользователи, если речь идет о данных, с которыми они работали и к которым у них есть права доступа.
Acronis Backup
Продукты для резервного копирования и восстановления данных от компании Acronis хорошо известны домашним пользователям. Но и для корпоративного сегмента у данного разработчика есть что предложить. К примеру, программа Acronis Backup поддерживает 21 платформу, включая виртуальные среды (Red Hat, Citrix, VMware и др.), облачные сервисы (Amazon, Microsoft), конечные точки и даже мобильные устройства (Android, iPhone и iPad). Для бизнес-приложений и виртуальных машин доступна функция репликации (для ее работы используются специальные шаблоны для ОС Windows и Linux), а также облачное хранилище Acronis Cloud. Восстанавливать образы рабочих станций и серверов можно на оборудование, которое отличается от того, с которого была снята резервная копия. Также для любого критически важного приложения или массива информации можно создать точки восстановления, которые при необходимости (например, из-за выхода оборудования из строя или необходимости его замены) могут быть оперативно развернуты в облаке и позволят продолжить работу лишь с небольшим перерывом.
Сама по себе платформа очень проста в управлении. Она быстро развертывается и, по словам разработчиков, не требует специального обучения для работы с ней. Управлять системой можно централизованно, при помощи единого интерфейса. Помимо непосредственно функций резервного копирования и восстановления, в Acronis Backup есть несколько полезных дополнительных инструментов. Это, например, Acronis Notary — средство, которое с помощью технологии блокчейн подтверждает аутентичность пересылаемой и получаемой информации. А для защиты данных от вирусов-вымогателей используется инструмент Acronis Active Protection.
HPE StoreOnce
Для резервного копирования и восстановления данных компания HPE предлагает систему HPE StoreOnce — линейку устройств, которые обеспечивают надежное хранение данных объемом до 104 ПБ и скорость резервного копирования до 139ТБ/час. Данные устройства используются для работы в облачной и виртуальной среде, а также при использовании гибридных моделей. Для работы с устройствами StoreOnce подходит как фирменное ПО HPE Recovery Manager Central, так и решения сторонних разработчиков, например, Veeam или Commvault. Модельный ряд StoreOnce довольно широк и масштабируем. Он покрывает потребности как небольших удаленных офисов, так и крупных корпоративных дата-центров. В устройствах применяется интеллектуальная технология дедупликации, которая (по заявлениям разработчиков) позволяет сократить занимаемый объем данных на 95%.
В рамках этой линейки также предлагается программно-определяемая резервная система хранения данных емкостью до 500 ТБ под названием HPE StoreOnce VSA. Ее объем может регулироваться с шагом в 1 ТБ. Запускается она в виртуальной среде, и может быть бесплатно протестирована на протяжении 90 дней. Также пользователям в качестве отдельного решения доступно облачное хранилище HPE Cloud Bank Storage, которое используется как дополнение к основной системе и интегрируется с веб-службами Amazon и Microsoft.
Arcserve UDP
Компания Arcserve — один из старожилов рынка средств резервного копирования и восстановления информации. Этим делом она занимается с 1990 года и, естественно, имеет колоссальный опыт. Сегодня ведущее решение компании — платформа Arcserve Unified Data Protection. В ее рамках предлагаются программные, аппаратные (объемом до 240 ТБ) и облачные решения для бэкапа и восстановления информации с единой веб-консолью управления, работать с которой можно отовсюду, где есть интернет. Система обеспечивает дедупликацию данных, репликацию в реальном времени, поддерживает виртуальные (VMware, Microsoft Hyper-V, Xen) и физические среды, а также восстановление на различные гипервизоры. В качестве хранилищ для резервных копий могут использоваться дисковые массивы, ленточные хранилища и облачные сервисы. Причем данные способы можно комбинировать, например, проводить одновременно облачный и локальный бэкап. Что же касается фирменных устройств Arcserve UDP Appliance серии 8000, они предлагают 16 разных по объему хранимых данных конфигураций, а также широкие возможности масштабирования.
Платформа Arcserve UDP позволяет проводить резервное копирование как отдельных файлов и папок, так и полных баз данных, например, SQL или Exchange. Для повышения информационной безопасности резервные копии данных могут быть зашифрованы с использованием протоколов SSL и AES. Доступ пользователей к данным также защищается системой двухфакторной аутентификации, когда для входа в систему нужно не только ввести свой логин и пароль, но и подтвердить вход с помощью мобильного устройства.
Unitrends Backup
Компания Unitrends — известный производитель систем резервного копирования и восстановления. В ее арсенале есть как программные, так и аппаратные средства для этих задач. Устройства Recovery Series Appliances являются масштабируемыми решениями, которые предлагают пользователям от двух до 120 ТБ дискового пространства для хранения резервных копий. Работают они под управлением ПО Unitrends Backup (но эта программа может работать и без привязки к ним). Система поддерживает работу с физическими и виртуальными средами, обеспечивают бэкап баз данных и бизнес-приложений, обеспечивает интеграцию с облачными сервисами и умеет работать с репликами Windows и VMware. Также в ней есть защита от вирусов-вымогателей и шифрование хранящихся данных при помощи 256-битного протокола AES.
Unitrends предлагает и бесплатную версию продукта под названием Unitrends Free. Там действуют некоторые ограничения. Например, объем резервируемой информации не может превышать 1 ТБ. Но для небольших предприятий (да и просто ознакомления с продуктом) такого объема вполне достаточно.
Veritas Backup Exec
Компания Veritas предлагает для резервного копирования и восстановления данных инструмент под названием Backup Exec. Этот продукт уже довольно давно зарекомендовал себя на рынке. Разработчик постоянно обновляет его и добавляет новые функции, о чем говорит номер версии: на сегодня доступна двадцатая редакция этой программы. Backup Exec обеспечивает все основные функции, которые требуются от подобного рода решений. Средство работает с физическими и виртуальными средами, большинством распространенных облачных сервисов (Amazon S3, Google Cloud, Microsoft Azure и др.), умеет дедуплицировать данные, моментально создавать копии виртуальных машин и очень быстро восстанавливать их. Например, с помощью технологии мгновенного гранулярного восстановления, виртуальные машины с поддержкой vSphere 2016 возобновляют работоспособность за считанные секунды. Также поддерживаются многие популярные базы данных и бизнес-приложения.
Veritas Backup Exec имеет гибкую систему лицензирования. Всего пользователям доступно три редакции программы: Bronze, Silver и Gold, которые различаются по функциональности. Таким образом, Bronze рассчитана в основном на предприятия среднего и малого бизнеса, редакции Silver и Gold — для более крупных компаний. Также Veritas Backup Exec предлагает удобную систему масштабирования с шагом в 1 TБ. Именно от количества работающих серверов и заказанного объема резервируемой информации и зависит конечная цена для потребителя. Это позволяет эффективно использовать свои ресурсы и платить только за то, чем пользуешься.
Barracuda Backup
Barracuda Backup является унифицированным, экономичным решением по защите данных для физических, виртуальных и облачных (SaaS) сред. Это комплексное решение с удаленным хранилищем, которое легко приобрести, установить и использовать. Barracuda Backup является единым решением для защиты физических серверов и виртуальных машин (VMware и Hyper-V) с функциями моментального отчета о состоянии и выборочного восстановления файлов – с унифицированным управлением для репликации и хранения. Barracuda Backup является комплексным решением от одного поставщика. Оно объединяет в себе программное обеспечение, встраиваемую дедупликацию, внешнюю облачную или частную репликацию без лицензионных сборов за сервер или за приложение.
Barracuda Backup доступно как в виде универсального физического аппаратного комплекса, так и в виде виртуального устройства.
Администрирование управление политиками осуществляется через центральное управление через облачный сервис Barracuda Cloud Control, реализована модель ролевого администрирования.
Облачные сервисы Barracuda Cloud Storage, Cloud Control и Cloud LiveBoot recovery позволяют производить простую удаленную репликацию, бесшовное распределенное администрирование и быстрый доступ к виртуальным машинам во время аварийных сбоев.
Используя решения Barracuda Backup, заказчик получает преимущества в виде простой модели тарификации без лицензионных сборов за каждое приложение или за каждый сервер, ПО для резервного копирования, быстро развертываемые (менее чем за час) локальное хранилище и удаленное хранилище, центральное управление на основе облачного хранилища для беспроблемного распределенного администрирования, быстрое локальное или удаленное восстановление, предотвращение потери данных и минимизация времени простоя, доступность в виде виртуального устройства, которое может быть развернуто без необходимости использования дополнительного оборудования.
Краткий итог
Как видим, системы резервного копирования и восстановления данных предлагают самые разнообразные возможности для пользователей. Главные из них — поддержка разнообразных сред и устройств, интеграция с облачными сервисами, быстрота работы, экономичность при хранении данных, а также удобство пользователей. Несмотря на общие приоритеты и схожий набор функций, у каждой из этих систем есть свои изюминки, которые могут быть полезны для одних компаний, но при этом оставаться невостребованными для других. Так что при выборе подобных инструментов в первую очередь обращайте внимание на потребности своей фирмы. Именно они в конечном итоге играют ключевую роль.
Таблица сравнения по характеристикам продуктов для защиты и восстановления данных (Backup and Recovery).
Владислав Миронович, для ROI4CIO
Приветствую всех хаброжителей!
Как нетрудно догадаться, речь пойдет о бекапах.
Своевременный бекап — крайне важная часть работы системного администратора. Своевременный бекап делает сон спокойным, а нервы стальными, придает сил и оберегает здоровье.
Думаю вполне резонным будет предположение, что данная тема уже набила оскомину, но все же я рискну поделиться своим опытом. На суд читателя будет представлена клиент-серверная реализация схемы резервного копирования. В качестве инструмента я выбрал open source проект Bacula. По более чем полугодовому опыту его использования остаюсь доволен своим выбором.
Bacula состоит из нескольких демонов, каждый из которых несет свою функциональную нагрузку. На рисунке ниже схематично представлена взаимосвязь этих демонов.
Под хабракатом я опишу все демоны подробно
В моем случае резервному копированию подлежат:
- Конфигурационные файлы различных демонов со всех серверов.
- MySQL базы данных.
- Документооборот с файлового сервера Windows.
- Различные важные данные с nix серверов(движки сайтов/форумов, etc..)
1.Описание демонов Bacula
Система построена по технологии клиент-сервер, и для передачи данных использует протокол TCP. Резервные копии создаются в собственном, полностью открытом формате.
Система резервирования данных Bacula состоит из четырёх основных элементов: Director Daemon, Storage Daemon, File Daemon и Bacula Console. Все эти элементы реализованы в виде самостоятельных приложений.
Director Daemon (DD) – это центральный элемент системы, осуществляющий управление её остальными компонентами. В его задачи входит управление процессом резервирования/восстановления данных, обеспечение интерфейса управления для администраторов и многое другое. Говоря проще – это диспетчер, который инициирует все процессы и отслеживает ход их выполнения.
Storage Daemon (SD) – приложение, отвечающее за чтение/запись данных непосредственно на устройства хранения информации. Принимает управляющие команды от DD, а также резервируемые данные от/к File Daemon.
File Daemon (FD) – этот элемент ещё можно назвать Агентом. Ведь именно он работает в рамках операционной системы, данные которой необходимо резервировать. File Daemon выполняет всю рутину, осуществляя обращение к резервируемым файлам и их дальнейшую передачу к SD. Также на стороне FD выполняется шифрование резервных копий, если это определено конфигурацией.
Bacula Console (BC) – интерфейс администратора сиcтемы. По своей сути, это командный интерпретатор для управления Bacula. Строго говоря, Bacula Console может быть расширена с помощью графических систем управления, которые, как правило, являются всего лишь надстройкой над BC. К таким системам можно отнести Tray Monitor и Bat. Первая устанавливается на компьютере администратора системы и осуществляет наблюдение за работой системы резервирования, а вторая обеспечивает возможность управления посредством графического интерфейса.
Bacula Catalog – база данных, в которой хранятся сведения обо всех зарезервированных файлах и их местонахождении в резервных копиях. Каталог необходим для обеспечения эффективной адресации к требуемым файлам. Поддерживаются MySql, PostgreSql и SqLite.
Такое структурное деление позволяет организовать очень гибкую систему резервирования, когда Storage Daemon разворачивается на выделенном сервере с несколькими устройствами хранения данных. Также Bacula Director может управлять несколькими экземплярами SD, обеспечивая резервирование части данных на одно устройство хранения, а части – на другое.
ОС и железо
Теперь, когда у читателя сформировалось представление о работе демонов Bacula, я перейду к описанию того, как я реализовал всю эту красоту у себя.
В качестве аппаратного обеспечения для DD, SD и Bacula Catalog у меня выступает PC со следующими характеристиками
Устройство | Модель | количество | Емкость/Частота |
HDD | Hitachi HDS723020BLA642 | 3 | 2Tb |
CPU | AMD Phenom(tm) II X4 970 Processor | 1 | 3500 Mhz |
Motherboard | Gigabyte GA-880GA-UD3H | 1 | — |
RAM | 3541 Mb |
О используемых на сервере ОС и версиях ПО
# lsb_release -a LSB Version: :core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-ia32:printing-4.0-noarch Distributor ID: CentOS Description: CentOS release 5.7 (Final) Release: 5.7 Codename: Final # uname -a Linux backupsrv.domain.ru 2.6.18-274.7.1.el5PAE #1 SMP Thu Oct 20 17:03:59 EDT 2011 i686 athlon i386 GNU/Linux # rpm -qa |grep -E «syslog-ng|bacula|mysql-ser» bacula-libs-5. 0.3-1 syslog-ng-2.1.4-9.el5 bacula-mysql-5. 0.3-1 mysql-server-5. 0.77-4.el5_6.6
Хранением данных занимаются несколько software(mdadm) RAID массивов.
Под систему три партиции на трех дисках, грузится можно с любого из них, под бекапы один массив из двух партиций.
Описание схемы резервного копирования и настроек демонов Bacula
Всего у меня сконфигурированы 19 клиентов Bacula, но подробно я остановлюсь на описании бекапа сервера биллинга и документов с файлового сервера Windows. Фокус на эти два сервера обусловлен тем, что остальные клиенты настроены аналогично, и на примере этих серверов-клиентов можно строить свои конфигурации.
Резервное копирование сервера биллинга это, по сути, бекап базы данных mysql и конфигурационных файлов демонов.
BD позволяет выполнять локальный скрипт на клиенте как до, так и после задания.
Каждую ночь, при старте задания на бекап сервере, запускается локальный(на самом сервере биллинга) скрипт, который создает архив базы биллинга, далее этот архив забирает BD и помещает на соответствующий пул томов(на самом деле операциями с чтением/записью управляет SD, но это сейчас не важно). Сразу же после выполнения задания запускается еще один скрипт, который в свою очередь, перемещает созданный архив в отдельную папку на сервере биллинга, для пущей надежности. Таким образом архив БД будет как у Bacula, так и локально на сервере биллинга(да, я параноик). Подробнее эти механизмы и скрипты будут описаны ниже.
С файлового сервера Windows сохраняем весь необходимый документооборот. В воскресенье создается Full бекап, каждый последующий день, с понедельника по субботу, Diff бекапы.
Теперь о конфигурационных файлах демонов Bacula. Начнем с самого объемного — bacula-dir.conf.
Файлы конфигурации всех демонов Bacula состоят из описаний, так называемых, ресурсов. Каждый из ресурсов характеризует определенный функционал демона.
Я буду комментировать каждую строчку в конфиге, поэтому далее будут следовать блоки-ресурсы файлов Bacula(bacula-dir.conf, bacula-sd.conf, bacula-fd.conf), если что-то нужно объяснить более подробно укажите это в комментариях.
Ресурс Dirtector
Director { # имя bacula director’а Name = backupsrv.domain.ru-dir # какой порт слушать, у нас default DIRport = 9101 # путь к скрипту, где лежат sql запросы для работы с Bacula Catalog(mysql database) QueryFile = «/usr/lib/bacula/query.sql» # здесь хранятся статус файлы демона WorkingDirectory = «/backup/bacula-work/» # pid файл демона PidDirectory = «/var/run» # сколько заданий может запускаться одновременно Maximum Concurrent Jobs = 1 # пароль для доступа в BC и управления демонами Password = «bacula_paS$w0rD10*» # куда слать mail’ы, описано в ресурсе Messages Messages = Daemon # на какой адрес биндится процессу DirAddress = 10.1.19.2 }
Ресурс catalog, описываем подключение к БД
Catalog { Name = MyCatalog dbname = «bacula»; dbuser = «bacula»; dbpassword = «edsfweo8vhwpe» }
Ресурс Messages
Messages { # это имя прописано в ресурсе Director, помните? Name = Daemon # команда для отправки email mailcommand = «/usr/sbin/bsmtp -f \»\(Bacula\) \<%r\>\» -s \»Bacula daemon message\» %r» # шлем все на майл админам(root алиас на admins@domain.ru) # высылаются только алярмы, ероры и прочую важность mail = root@backupsrv.domain.ru = alert,error,fatal,terminate, !skipped # что выводить на консоль console = all, !skipped, !saved # что в лог append = «/var/lib/bacula/log» = alert,error,fatal,terminate, !skipped }
Для каждого клиента в заданиях указаны Pool и Storage.
Pool, извините за тавтологию, это пул томов(volume) на который размещаются резервные копии данных клиентов. У меня тома — это файлы в формате bacula, размещенные на software raid массиве. Для разных клиентов могут быть определены разные пулы томов. К примеру у меня созданы 6 пулов, для разных типов клиентов. В примере ниже описан лишь один из них, для данных биллинга.
Storage описывает какие физические устройства будут использованы в качестве томов.
(Storage BGB-ST описан в конфиге SD)
Ресурс Pool
Pool { # имя пула, указывается в заданиях резервного копирования Name = bgb # тип пула, емнип этой версии только такой поддерживается Pool Type = Backup # # повторно использовать тома(сначала пишет в 1-ый, потом в 2-ой, # потом 3-й, 3-й закончился — снова в 1-й) Recycle = yes # удалять записи из bacula catalog(из mysql базы бакулы) # старше нижеуказанных значений AutoPrune = yes # период в течении которого информация о томах(volumes) # хранится в базе данных, по истечению периода эта информация # удаляется Volume Retention = 90 days # максимальный объем тома Maximum Volume Bytes = 100G # максимальное количество томов в пуле Maximum Volumes = 3 # с каких символов начинается имя тома LabelFormat = «Vol» }
Ресурс Storage
Storage { # имя хранилища и пароль (о соответствии имен и паролей в разных конфигах # демонов Bacula, я расскажу позже) Name = BGB-F Password = «StoRage_PaSSw0rD» # fqdn имя сервера Address = backupsrv.domain.ru # порт оставляем стандартный SDPort = 9103 # имя девайса описанного в конфиге SD Device = BGB-ST # у нас все пишется на софтовый рэйд в файлы собственного формата # bacula(например /backup/bgbilling/Vol0001) Media Type = File }
Задание на примере бекапа базы данных биллинга.
Ресурс Client
Client { # имя Name = bgbilling-fd # ip адрес клиента Address = 10.103.2.5 # порт, который клиент слушает FDPort = 9102 # имя mysql базы данных Bacula Catalog = MyCatalog # пароль для FD Password = «Fd_paSSw0rd» # период в течении которого информация о файлах задания # хранится в базе данных, по истечению периода эта информация # удаляется(но не сами данные!!) File Retention = 45 days # тоже самое, только для самого задания Job Retention = 90 days # удалять записи из каталога(бд mysql) старше вышеуказанных значений AutoPrune = yes }
Само задание.
Ресурс Job
Job { # имя задания Name = «BGBilling» # тип(backup or restore) Type = Backup # уровень(полный, диференциальный или инкрементный) Level = Full # имя клиента Client=bgbilling-fd # имя файл-сета(там рассказано что бекапить, а что не бекапить) FileSet=»bgbilling-set» # имя SD ресурса Storage = BGB-F # имя пула(для разных клиентов разные пулы томов(volume) куда пишутся сами # бекапы) Pool = bgb # скрипт запускающийся ДО выполнения задания (путь до скрипта — # это путь НА КЛИЕНТЕ!) ClientRunBeforeJob = «/root/sh/before_bg_db_backup.sh» # скрипт запускающийся ПОСЛЕ выполнения задания ClientRunAfterJob = «/root/sh/after_bg_db_backup.sh» # имя ресурса messages, который будет использоваться для этого задания Messages = Standard # имя шедулера Schedule = «DaylyFullBGBilling» # в этом файле содержится информация о том, какие файлы должны будут # востанавливаться, на каком вольюме находятся файлы, # где конкретно они находятся — это очень важные файлы, их нужно бэкапить Write Bootstrap = «/backup/bsr-files/bgbilling.bsr» }
Я обещал подробнее остановиться на скриптах выполняющихся до и после задания.
Скрипт до задания
$ sudo cat /root/sh/before_bg_db_backup.sh #!/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin mysql -e «flush tables with read lock» —user=root —password=»ololo» bgbilling lvcreate -L20G -s -n backup_db /dev/BGB-LVM1/billing_db mysql -e «unlock tables» —user=root —password=»ololo» bgbilling mount /dev/BGB-LVM1/backup_db /backup tar -czf /usr/backups/`date +%Y-%m-%d_%H-%M`.bgb.tgz /backup/bgbilling/ umount /backup lvremove -f /dev/BGB-LVM1/backup_db
Скрипт после задания
$ sudo cat /root/sh/after_bg_db_backup.sh #!/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin rm /usr/backups/after_run_bacula_backup/* mv /usr/backups/*.tgz /usr/backups/after_run_bacula_backup/
Ресурс FileSet(что бекапим, а что нет)
FileSet { Name = «bgbilling-set» Include { Options { # разработчики яро рекомендуют юзать это опцию, # создается сигнатура забекапленных файлов в md5 signature = MD5 } # перечисляем то, что нужно бекапить File = /usr/backups File = /etc File = /root/sh } Exclude { # а это бекапить нет нужды File = /usr/backups/after_run_bacula_backup/* File = /usr/backups/after_run_bacula_backup } }
Расписание запуска задания.
Ресурс Schedule
Schedule { # имя расписания Name = «DaylyFullBGBilling» # когда запускать задание Run = Full sun-sat at 1:10 }
Подробно комментировать ресурсы для резервного копирования документов с сервера Windows я не буду, приведу соответствующую часть конфига bacula-dir.conf полностью
Storage { Name = WINDOWS-F Address = backupsrv.domain.ru # N.B. Use a fully qualified name here SDPort = 9103 Password = «StoRage_PaSSw0rD» Device = WINDOWS-ST Media Type = File } Pool { Name = windows Pool Type = Backup Recycle = yes # Bacula can automatically recycle Volumes AutoPrune = yes # Prune expired volumes Volume Retention = 60 days Maximum Volume Bytes = 30G # Limit Volume size to something reasonable Maximum Volumes = 5 # Limit number of Volumes in Pool LabelFormat = «Vol-Windows» } Job { Name = «centra-bdk» Type = Backup Level = Full Client= centra-bdk-fd FileSet=»centra-bdk-fd-fs» Storage = WINDOWS-F Pool = windows Messages = Standard Schedule = «Windows_Centra-bdk» Write Bootstrap = «/backup/bsr-files/centra-bdk.bsr» } FileSet { Name = «centra-bdk-fd-fs» Include { Options { signature = MD5 Compression=GZIP } # обратите внимание на двойной бекслэш и ковычки! File = «D:\\Public\\!!!Абонентский\ Отдел» File = «D:\\Public\\Отдел\ ИТ» File = «D:\\Public\\tex\\Maps» File = «D:\\Public\\сервис\ мены » File = «D:\\Public\\Отдел\ продаж1» } Exclude { File = «*.mp3» File = «*.avi» File = «*.wmv» } } Client { Name = centra-bdk-fd Address = 10.1.19.50 FDPort = 9102 Catalog = MyCatalog Password = «Fd_paSSw0rd» # password for FileDaemon File Retention = 30 days # 30 days Job Retention = 2 months # two months AutoPrune = yes # Prune expired Jobs/Files } Schedule { Name = «Windows_Centra-bdk» Run = Level=Full on sun at 07:10 Run = Level=Differential on mon-sat at 22:15 }
Конфигурационный файл BD на этом завершен. Переходим к конфигурации SD — описанию файла bacula-sd.conf
Ресурс Storage
Storage { # имя для SD Name = backupsrv.domain.ru-sd # порт стандартный SDPort = 9103 # рабочая директория процесса(для статус файлов) WorkingDirectory = «/var/lib/bacula» # pid будет здесь Pid Directory = «/var/run/bacula» # биндится на этом ip SDAddress = 10.1.19.2 }
Ресурс Director(связь с BD описанном в конфиге bacula-dir.conf)
Director { # имя DD, того самого, который был описан ранее Name = backupsrv.domain.ru-dir # пароль Password = «StoRage_PaSSw0rD» }
Начинается описание различных девайсов, всего у меня используется 4 разных девайса. Я приведу в качестве примера два, для биллинга и для Windows.
Ресурс Device для биллинга.
Device { # имя, о соответствии имен и паролей будет сказано ниже Name = BGB-ST # тип Media Type = File # директория где лежат файлы этого устройства(тома, volumes) Archive Device = /backup/bgbilling # новые тома будут обзываться согласно настроек Pool’а(здесь Vol*) см. # конфиг DD LabelMedia = yes; # для устройства типа File должно быть так Random Access = Yes; # если устройство открыто, использовать его AutomaticMount = yes; # думаю понятно =) RemovableMedia = no; # открывать только тогда, когда стартует соответствующие задание AlwaysOpen = no; }
Ресурс Device для файлового сервера Windows
Device { Name = WINDOWS-ST Media Type = File Archive Device = /backup/windows LabelMedia = yes; Random Access = Yes; AutomaticMount = yes; RemovableMedia = no; AlwaysOpen = no; }
Ресурс Messeges.
Messages { # имя Name = Standard # отправлять DD = имя директора = слать все director = backupsrv.domain.ru-dir = all }
Конфигурационный файл bconsole.conf, доступ в консоль Bacula.
Director { Name = backupsrv.ray-com.ru-dir DIRport = 9101 address = 10.1.19.2 Password = «bacula_paS$w0rD10*» }
Не забудьте создать соответствующие Storage папки и назначить bacula владельцем этих папок.
Совет из комментариев
@/usr/local/etc/bacula/client.conf
@/usr/local/etc/bacula/job.conf
@/usr/local/etc/bacula/pool.conf
@/usr/local/etc/bacula/fileset.conf
Конфиги можно разделить на разные файлы,
Options { signature = MD5 compression = GZIP }
и включить компрессию.
Конфигурирование серверной части завершено.
Конфиг клиента.
Важно отметить, что каждый из клиентов должен резолвить fqdn имя сервера в его ip адрес! Обеспечте это средствами dns или пропишите в hosts!
Ресурс Director.
Director { # имя BD Name = backupsrv.domain.ru-dir # пароль для доступа к BD к клиенту(указан в ресурсе Client у BD) Password = «Fd_paSSw0rd» } Ресурс FileDaemon FileDaemon { # имя клиента Name = bgbilling-fd # слушаем порт 9102 FDport = 9102 WorkingDirectory = /usr/lib/bacula Pid Directory = /var/run/bacula FDAddress = 10.103.2.5 } Ресурс Messeges Messages { Name = Standard director = backupsrv.domain.ru = all, !skipped, !restored append = «/var/bacula/log» = all, !skipped }
В комментариях конфигурационных файлов я упоминал о схеме соответствия паролей и имен демонов в различных конфирурационных файлах, так вот, если вы где-то запутались — воспользуйтесь картинкой ниже.
Пример процедуры востановления
Для мониторинга и востановления ваших резервных копий удобно использовать утилиту bat.
В Ubuntu она ставиться так
# sudo aptitude install bacula-console-qt
В портажах Gentoo я её не нашел, поэтому собирал из исходников.
Конфигурационный файл bat.conf полностью аналогичен bconsole.conf, приведенному ранее.
Итак, к примеру я хочу востановить архив базы данных биллинга за определенное число. Алгоритм, которым пользуюсь я, таков:
1. Открываем bat и находим нужное задание
2. вводим команду list files jobid=3059 для того чтобы убедиться что в задании есть нужные файлы
3. Теперь переходим в консоль(мне так удобнее просто=)). В консоли я восстановлю архив биллинга на другого клиента
$ sudo bconsole password for onotole: Connecting to Director 10.1.19.2:9101 1000 OK: backupsrv.domain.ru-dir Version: 5.0.3 (30 August 2010) Enter a period to cancel a command. *restore Automatically selected Catalog: MyCatalog Using Catalog «MyCatalog» First you select one or more JobIds that contain files to be restored. You will be presented several methods of specifying the JobIds. Then you will be allowed to select which files from those JobIds are to be restored. To select the JobIds, you have the following choices: 1: List last 20 Jobs run 2: List Jobs where a given File is saved 3: Enter list of comma separated JobIds to select 4: Enter SQL list command 5: Select the most recent backup for a client 6: Select backup for a client before a specified time 7: Enter a list of files to restore 8: Enter a list of files to restore before a specified time 9: Find the JobIds of the most recent backup for a client 10: Find the JobIds for a backup for a client before a specified time 11: Enter a list of directories to restore for found JobIds 12: Select full restore to a specified Job date 13: Cancel Select item: (1-13): 9 Defined Clients: 1: 192.168.15.12-fd 2: 1.1.1.1-fd 3: 1.1.1.75-fd 4: ASTERISK-configs-fd 5: DHCPD-configs-fd 6: GW1-configs-fd 7: GW2-configs-fd 8: NAS-20-configs-fd 9: NAS-21-configs-fd 10: NAS-6-configs-fd 11: NAS-ololo-configs-fd 12: NS_AND_MAIL-configs-fd 13: RADIUS-ololo-configs-fd 14: VIRTSRV1-configs-fd 15: bgbilling-fd 16: configs-fd 17: domain.ru-fd 18: mydomain.ru-fd 19: tv.domain.ru-fd 20: zabbix.domain.ru-fd Select the Client (1-20): 15 Automatically selected FileSet: bgbilling-set +——-+——-+———-+—————-+———————+————+ | JobId | Level | JobFiles | JobBytes | StartTime | VolumeName | +——-+——-+———-+—————-+———————+————+ | 3,292 | F | 1,666 | 10,874,552,420 | 2011-12-19 02:31:08 | Vol0014 | +——-+——-+———-+—————-+———————+————+ To select the JobIds, you have the following choices: 1: List last 20 Jobs run 2: List Jobs where a given File is saved 3: Enter list of comma separated JobIds to select 4: Enter SQL list command 5: Select the most recent backup for a client 6: Select backup for a client before a specified time 7: Enter a list of files to restore 8: Enter a list of files to restore before a specified time 9: Find the JobIds of the most recent backup for a client 10: Find the JobIds for a backup for a client before a specified time 11: Enter a list of directories to restore for found JobIds 12: Select full restore to a specified Job date 13: Cancel Select item: (1-13): 12 Enter JobId to get the state to restore: 3059 Selecting jobs to build the Full state at 2011-12-06 02:28:47 You have selected the following JobId: 3059 Building directory tree for JobId(s) 3059 … +++++++++++++++++++++++++++++++++++++++++++++ 1,535 files inserted into the tree. You are now entering file selection mode where you add (mark) and remove (unmark) files to be restored. No files are initially added, unless you used the «all» keyword on the command line. Enter «done» to leave this mode. cwd is: / $ ls etc/ root/ usr/ $ ls usr usr/ $ mark usr 1,667 files marked. $ done Bootstrap records written to /backup/bacula-work//backupsrv.domain.ru-dir.restore.8.bsr The job will require the following Volume(s) Storage(s) SD Device(s) =========================================================================== Vol0010 BGB-F BGB-ST Volumes marked with «*» are online. 1,667 files selected to be restored. Run Restore job JobName: restore Bootstrap: /backup/bacula-work//backupsrv.domain.ru-dir.restore.8.bsr Where: /usr/restore Replace: always FileSet: bgbilling-set Backup Client: bgbilling-fd Restore Client: bgbilling-fd Storage: BGB-F When: 2011-12-26 15:01:38 Catalog: MyCatalog Priority: 10 Plugin Options: *None* OK to run? (yes/mod/no): mod Parameters to modify: 1: Level 2: Storage 3: Job 4: FileSet 5: Restore Client 6: When 7: Priority 8: Bootstrap 9: Where 10: File Relocation 11: Replace 12: JobId 13: Plugin Options Select parameter to modify (1-13): 5 The defined Client resources are: 1: bgbilling-fd 2: GW1-configs-fd 3: GW2-configs-fd 4: NAS-6-configs-fd 5: NAS-20-configs-fd 6: NAS-21-configs-fd 7: NAS-ololo-configs-fd 8: DHCPD-configs-fd 9: ASTERISK-configs-fd 10: NS_AND_MAIL-configs-fd 11: VIRTSRV1-configs-fd 12: mydomain.ru-fd 13: tv.domain.ru-fd 14: domain.ru-fd 15: 1.1.1.1-fd 16: 1.1.1.75-fd 17: zabbix.domain.ru-fd 18: 192.168.15.12-fd Select Client (File daemon) resource (1-18): 2 Run Restore job JobName: restore Bootstrap: /backup/bacula-work//backupsrv.ray-com.ru-dir.restore.8.bsr Where: /usr/restore Replace: always FileSet: bgbilling-set Backup Client: bgbilling-fd Restore Client: GW1-configs-fd Storage: BGB-F When: 2011-12-26 15:01:38 Catalog: MyCatalog Priority: 10 Plugin Options: *None* OK to run? (yes/mod/no): yes Job queued. JobId=3453 You have messages. *
4. Ждем успешного выполнения задания, статус можно отслеживать в том же bat
Еще несколько скриншотов
Благодарю всех кто дочитал мой опус до конца.
В качестве завершения позволю себе еще несколько советов.
Важно не только делать бекапы и отслеживать что они выполнились без ошибок, но так же и регулярно их разворачивать и проверять. Подобная практика даёт еще +100 к указанным в начале спокойствию, крепкости нервов и здоровью. Так же очень хорошей практикой является регулярное резервное копирование базы данных bacula и bsr файлов.
С наступающим Новым Годом вас!!!
Использованые источники:
Компания БЭКАП ИТ – разработчик и провайдер программных решений для управления кейсами и бизнес процессами в коммерческих и государственных компаниях, работает с 1990 года.
Главный офис компании находится в Новосибирске. Занесены в реестр разработчиков отечественного ПО. Класс ПО — Системы управления процессами организации.
Основное направление деятельности компании БЭКАП ИТ – это проектирование, разработка и внедрение современных систем адаптивного кейс менеджмента как инструмента формирования корпоративных знаний.
Основной продукт — программная платформа для управления цифровыми ресурсами DAM (Digital Asset Management).Платформа предназначена для создания кастомных решений, предна-значенных для сбора, хранения и распространения цифровых данных. Применима в области создания больших хранилищ данных и управлением маркетинговой деятельностью компании.
Состоит из модулей:
• Управления цифровыми активами компании;
Консолидация в одной информационной системе документов и материалов, созда-ваемых и используемых всеми подразделениями организации, независимо от зоны ответственности и территориального расположения.
• Управления бизнес-процессами;
Инструмент по Управлению заданиями и рабочими процессами любого уровня и масштаба. Модуль поддерживает стандарт BPMN, который позволяет создавать мо-дель бизнес-процесса в графическом виде.
• Управления проектами и бюджетами;
Инструмент для планирования задач, кампаний и проектов любого масштаба. Воз-можность создавать наглядные планы, устанавливать ключевые показатели эффек-тивности (KPI) и оптимально распределять ресурсы.
• Управления рецензиями;
Модуль Управление рецензиями позволяет организовать параллельную совместную работу с любым текстовым или графическим документом с целью его согласования.
Контактная информация:
Адрес: Новосибирск, ул. Писарева, 102/1