Согласованность (консистентность) данных резервной копии — это сумма валидности, точности и целостности данных по отношению к файлам, данным приложений и операционной системе компьютера или виртуальной машины. Согласованность данных критична для любой системы резервного копирования, независимо от ее размера и политик безопасности компании. В этой статье я расскажу, как удостовериться, что ваша резервная копия согласована и может быть восстановлена в любой момент времени без каких-либо повреждений данных.
Уровни согласованности файлов резервного копирования
В файлах резервной копии есть несколько уровней согласованности данных. Уровни определяются по следующим критериям:
- тип системы (была ли сделана резервная копия «живой» или выключенной системы)
- учет файлов (могут ли взаимозависимые файлы быть четко определены относительно друг друга)
- учет приложений (была ли использована защита для предотвращения потерь данных на разных уровнях, в том числе уровне транзакций)
Рассмотрим все типы согласованности по порядку.
Несогласованная резервная копия
Первый и самый старый тип резервного копирования — использование несогласованных копий. Его можно представить как операцию копирования всех данных компьютера в процессе его работы на USB-флешку или сетевое хранилище. Если в течение копирования изменится хотя бы один файл, резервная копия станет несогласованной. Это значит, что сумма данных резервной копии будет отличаться от актуального состояния системы, а восстановление данных произойдет неточно или не полностью. Этот тип также не предполагает сохранение дампа оперативной памяти и может испытывать трудности с файлами, доступными «только для чтения».
Резервная копия без учета состояния приложений
Следующий тип резервных копий — так называемые копии без учета состояния приложений. Основное отличие от несогласованных копий заключается в том, что эта резервная копия создана в определенный промежуток времени. Такую копию можно представить как мгновенный снимок всего содержимого жесткого диска – как будто вы сделали фотографию.
Тем не менее, восстановление образа системы из такой копии приблизительно равносильно включению компьютера после сбоя в электропитании. Данные открытых на момент сбоя приложений и активные (на момент сбоя) операции ввода-вывода не могут быть восстановлены. В некоторых случаях при запуске приложений после восстановления нужно произвести специальные операции для восстановления их работоспособности. Особенно опасен такой случай для приложений баз данных. Например, Microsoft Exchange сервер может потребовать установки специальной группы восстановления и отдельной интеграции логов. Приложения Microsoft SQL или Oracle потребуют восстановления состояния баз данных с точностью до определенной транзакции, так как сбой в их работе нарушил последовательность операций, и некоторые транзакции нужно выполнить заново, чтобы они были зафиксированы системой.
Резервная копия, согласованная на уровне файлов
Согласованность на уровне файлов означает, что содержимое всех открытых на время начала резервного копирования файлов должно быть зафиксировано на жестком диске. Однако, даже в таком случае система по-прежнему не имеет представления о происходящих транзакциях с базами данных приложений.
Резервная копия, согласованная на уровне транзакций
У такой копии нет недостатков, описанных выше, и все данные ВМ точно определенного момента времени сохранены в резервную копию. Проблема создания такой копии в том, что операции согласования файлов и приложений необходимо проводить, когда нужная ВМ находится в работе и доступ к ней должен быть непрерывным для клиентов.
Для ВМ, работающих под управлением Windows, Veeam помогает сделать резервную копию полностью согласованной, используя службу теневых копий (VSS). Эта служба разработана компанией Microsoft и включена во все редакции операционных систем Windows, начиная с Windows Server 2003. Служба теневых копий координирует процессы, подготавливающие систему к заморозке. Она позволяет временно приостановить операции ввода-вывода на жесткий диск и, таким образом, помогает программному обеспечению для резервного копирования.
«Резервное копирование с учетом состояния приложений» (application-aware image processing) –технология Veeam, которая гарантирует успешное полное восстановление ВМ и данных приложений ВМ без потерь данных.
Veeam Backup & Replication не устанавливает программные агенты на ВМ. Вместо этого на гостевой машине запускается сервисное приложение для координации резервного копирования гостевой ОС. По окончании копирования приложение автоматически удаляется. Механизм разработан таким образом, чтобы предотвратить потенциальные трудности с предустановкой, поиском неисправностей и обновлением программных агентов.
Veeam Backup & Replication инициирует запуск службы теневых копий и посылает запрос на создание согласованного содержимого диска ВМ перед тем, как снять снимок ВМ. Затем провайдер службы теневых копий координирует подготовку приложений к резервному копированию. Так обеспечивается согласованность данных в точно определенный промежуток времени. Таким образом, гарантируется отсутствие незаконченных и неподтвержденных операций в базе данных или неполных файлов приложений в момент копирования содержимого ВМ.
Как убедиться, что резервная копия согласована?
На этапе конфигурирования задания резервного копирования или репликации нужно убедиться, что на вкладке “guest processing” активирована опция “enable application-aware processing” для ВМ, которые выбраны в это задание. Затем можно запускать задание в работу и проверять статус его выполнения.
Использование механизма «резервного копирования с учетом состояния приложений» для особенно критично в случае резервных копий SQL или Exchange серверов, так как позволяет контролировать рост логов транзакций и усекать их при необходимости. В противном случае контроль за ростом логов происходит в ручном режиме.
Служба теневых копий прекрасно работает для современных машин под управлением ОС Windows, но в случае Linux окружения необходимо использовать другой метод.
Функция заморозки (quiescence) от VMware
Например, для виртуальных машин, работающих на VMware ESXi серверах, VMware предоставляет опцию «заморозки» (quiescence). Эта функция позволяет заранее замораживать операции ввода-вывода гостевой ОС, когда сервер готовится снять копию виртуальной машины. Подробную инструкцию по работы с этой опцией можно прочитать в справочном руководстве.
В заданиях резервного копирования Veeam можно использовать одновременно опции «Резервное копирование с учетом состояния приложений» и «заморозку» от VMware. В таком случае Veeam Backup & Replication по умолчанию будет использовать первую опцию, а в случае неудачи или невозможности её использования переключится на другую.
Проверить возможность восстановления данных из резервной копии можно с помощью виртуальной лаборатории Veeam.
Полезные ресурсы
- Блог Veeam: Резервное копирование MySQL, работающей на ВМ Linux (англ.яз)
- Справочное руководство: «Резервное копирование с учетом состояния приложений» (англ.яз)