VMware предоставляет API для упрощения защиты данных в предприятий виртуальных средах с функциями, которые позволяют проводить резервное копирование без агентов и улучшают эффективность инкрементного резервного копирования виртуальных машин. Инкрементные резервные копии помогают сэкономить значительное количество места на носителях по сравнению с полными резервными копиями.
Когда речь идет о современных решениях для резервного копирования VMware, большинство полагается на API VMware и использует технологию Changed Block Tracking (CBT) для ускорения создания инкрементных резервных копий виртуальных машин. В этом блоге мы объясним Changed Block Tracking, включая принцип работы и практические применения.
Что такое Changed Block Tracking?
Changed Block Tracking (CBT) – это встроенная функция VMware, которая регистрирует измененные блоки в файле отслеживания. CBT является частью фреймворка VMware vSphere Storage APIs – Data Protection, впервые выпущенного в версии 4.0, что позволяет сторонним приложениям для защиты данных использовать CBT для более эффективного резервного копирования и репликации.
CBT работает на уровне стека хранилищ ESXi и позволяет сторонним решениям для резервного копирования резервировать только измененные блоки данных с момента последнего резервного копирования, то есть создавать инкрементные резервные копии, или блоки, используемые, вместо полной виртуальной машины. Это позволяет существенно сократить объем данных для резервного копирования, особенно в больших средах с сотнями виртуальных машин, и ускорить процесс резервного копирования.
VMware CBT значительно сокращает время, необходимое для выполнения инкрементных резервных копий программным обеспечением, поскольку оно отслеживает изменения в специальном журнале. Сторонние решения для резервного копирования вызывают большую загрузку процессора на сервере ESXi, если они отслеживают изменения без использования CBT посредством других методов. Таким образом, CBT также оптимизирует производительность сервера ESXi при создании резервных копий данных.
CBT также используется процессом Storage vMotion от VMware, который позволяет перемещать файлы виртуальных дисков машин из одного хранилища данных в другое во время их работы.
Как работает технология отслеживания измененных блоков VMware
Функция CBT работает путем сравнения идентификаторов последнего и текущего наборов изменений и поиска секторов диска, которые были изменены между этими идентификаторами наборов изменений. VMware CBT также определяет все блоки файловой системы виртуальной машины (VMFS) по всему виртуальному диску, которые используются. Отслеживание выполняется самим гипервизором и происходит вне виртуальной машины.
Требования к CBT
Требования к отслеживанию измененных блоков включают:
- VMware vSphere (ESXi 4.0 или выше)
- Виртуальное оборудование версии 7 или выше
- Локальные хранилища данных VMFS, хранилища данных NFS или iSCSI
- Толстое или тонкое размещение
- Отсутствие прямых отображений дисков. Отображение устройства Raw (RDM) в режиме физической совместимости не поддерживается.
- A VM must not have snapshots to start using VMware CBT
Как включить отслеживание измененных блоков
По умолчанию CBT отключен, так как он потребляет небольшое количество процессорного времени хоста. Но для стороннего резервного решения, такого как NAKIVO Backup & Replication, CBT должен быть включен, чтобы продукт мог выполнять быстрое и надежное дифференциальное резервное копирование.
CBT включается в расширенных настройках виртуальной машины:
- Откройте настройки ВМ. Вы можете сделать это в клиенте VMware vSphere, щелкнув правой кнопкой мыши по ВМ и выбрав Изменить настройки.
- В окне Изменить настройки щелкните вкладку Опции ВМ.
- Выберите категорию Дополнительно, чтобы раскрыть настройки, и щелкните Изменить конфигурацию в строке Параметры конфигурации. Откроется окно Параметры конфигурации для ВМ, и оно содержит несколько строк, и каждая строка содержит имя параметра и значение.
- Активация CBT определяется следующей строкой в конфигурации .vmx:
ctkEnabled = “TRUE”
Кроме того, для каждого диска, для которого включен CBT, будет включена запись:
scsix:x.ctkEnabled = “TRUE”
Эти параметры должны быть установлены для включения отслеживания измененных блоков.
Примечание: Чтобы отключить CBT, измените TRUE на FALSE в строках ctkEnabled и scsi0:0.ctkEnabled (используйте соответствующий номер SCSI-устройства).
Когда CBT включен на ВМ, VMkernel создает дополнительный файл с именем -ctk.vmdk в каталоге ВМ, который используется для хранения отображения блоков виртуального диска. Этот файл связан с соответствующим диском .vmdk и содержит список блоков, измененных в этом виртуальном диске между определенным временем, указанным в последнем идентификаторе изменений, и текущим состоянием. Размер создаваемого файла CTK остается неизменным и не увеличивается за пределы исходного размера, если только не увеличивается размер виртуального диска. Размер файла CTK составляет примерно 5 МБ для каждых 10 ГБ размера диска ВМ.
Большинство решений для резервного копирования будут использовать метод VMware SDK для программного включения CBT для ВМ и использования цикла включения/выключения, который включает в себя либо включение/выключение, приостановку/возобновление или создание/удаление снимка. Во время цикла включения/выключения в специальный фильтр отслеживания изменений вставляется в стек хранения VMware для определенной ВМ, что позволяет CBT активироваться на ВМ.
Как проверить, включен ли CBT
В случаях, когда вы не включали CBT вручную, вы можете проверить, включило ли резервное программное обеспечение CBT для выполнения резервного копирования ВМ. Шаги по проверке настроек CBT аналогичны шагам для включения этой функции. Но здесь мы рассмотрим немного другой метод, используя файл конфигурации .vmx.
Чтобы проверить, включен ли CBT для ВМ, выполните следующие действия:
- Откройте VMware vSphere Client.
- Найдите нужную ВМ и убедитесь, что она выключена.
- Перейдите в папку ВМ на хранилище данных.
- Найдите файл конфигурации ВМ (.vmx).
С включенным CBT каждый виртуальный диск сопровождается файлом xxx-ctk.vmdk, где “xxx” – это имя виртуального диска. Если вы видите эти файлы CTK, это указывает на работающую функцию CBT.
В некоторых случаях, таких как неправильное выключение хоста или сбой питания, CBT может потерять отслеживание изменений при работающей ВМ. Это может привести к сбросу CBT, что означает, что все ранее собранные данные CBT будут сброшены, и сбор новых данных начнется с момента сброса. Если вы запускаете резервное копирование ВМ после сброса CBT, будет создана полная резервная копия. После создания полной резервной копии и отслеживания новых изменений вы сможете снова выполнять инкрементальные резервные копии.
Использование VMware CBT в NAKIVO Backup & Replication
NAKIVO Backup & Replication – это универсальное решение для защиты данных, которое может выполнять резервное копирование, восстановление и репликацию виртуальных машин в VMware vSphere. Для ускорения инкрементального резервного копирования, выполняемого с помощью решения NAKIVO, CBT по умолчанию включен в любую новую задачу резервного копирования.
Существует несколько случаев, когда NAKIVO Backup & Replication, как и любое другое решение резервного копирования vSphere, не может использовать VMware CBT:
- VMware CBT не поддерживается ВМ: Возможная причина – хост ESXi ниже v4.1 или версия виртуального оборудования ниже v7.
- Данные VMware CBT не были предоставлены: Возможная причина – сбой питания хоста ESXi и CBT потерял отслеживание инкрементальных изменений ВМ.
В дополнительных настройках отслеживания изменений можно найти действия, которые решение должно выполнить при обнаружении ошибки при использовании CBT.
Давайте ближе рассмотрим эти Действия при ошибке:
- Переключение на собственный метод: Будет использоваться собственный метод отслеживания изменений NAKIVO Backup & Replication, который медленнее, чем VMware CBT, и потребляет больше ресурсов хоста ESXi.
- Сбросить CBT: CBT будет сброшен в случае сбоя CBT.
- Остановка обработки ВМ: Обработка ВМ будет остановлена.
Также вы можете указать, когда применить выбранное Действие при ошибке:
- Немедленно: Действие при ошибке применяется немедленно (за исключением действия Сброс CBT).
- При следующей попытке: Действие при ошибке применяется при следующей попытке.
- При последней попытке: Действие при ошибке применяется при последней попытке.
Вы также можете выбрать флажок Проверить дважды измененные блоки, предоставленные CBT. В этом случае данные, предоставленные VMware CBT, будут дополнительно проверяться на собственном отслеживании изменений NAKIVO Backup & Replication. Этот подход более надежен, но может быть медленнее, чем обычный VMware CBT.
Заключение
Изменение блоков VMware – мощная функция, которая делает процесс резервного копирования быстрее и надежнее во всех отношениях. Эта технология хорошо протестирована и широко используется в нативных технологиях VMware, таких как Storage vMotion.
VMware CBT является неотъемлемой частью современных решений по резервному копированию, таких как NAKIVO Backup & Replication, обеспечивающих эффективное резервное копирование сред VMware без дополнительной нагрузки на хосты.
Source:
https://www.nakivo.com/blog/vmware-changed-block-tracking-works/