Veeam Availability Suite v8 включает в себя гораздо больше новых возможностей по сравнению с предыдущей версией, чем может показаться на первый взгляд. Сегодня речь пойдет о детекторе снапшотов (snapshot hunter) — новой полезной функциональности для администраторов VMware.
Технология работы снапшотов, в сочетании с другими технологиями VMware (vMotion, HA, итд… ) стала тем двигателем прогресса, благодаря которому виртуализация стала настолько популярной. Идея снапшотов насколько очевидна, что сегодня мы воспринимаем её как должное и уже не можем вспомнить, что делали без неё.
Снапшоты – это временные снимки состояния виртуальных машин (ВМ). После создания снапшота диск ВМ переходят в режим «только чтение», а все операции записи записываются на временный диск — файл снапшота. Таком образом, очень легко «откатить» ВМ к моменту создания снапшота, когда это потребуется.
Возможности, которые предоставляет такая функциональность, потрясают — она дает чувство контроля над временем! Установили обновление для ОС, но что-то пошло не так? Просто нажмите кнопку и верните ВМ к исходному состоянию, как будто ничего не случилось. Своего рода машина времени для виртуальной инфраструктуры.
Но чем больше мы используем снапшоты, чем больше мы открываем их “темную” сторону. Cнапшоты занимают место на СХД и могут снизить производительность ВМ при определенных условиях. Это может произойти, так как чтение и запись информации с ВМ происходит с двух разных дисков вместо одного изначально, а сам файл снапшота растет пропорционально интенсивности использования ВМ.
Администраторы VMware знают, что оставленный без присмотра и забытый снапшот — это одна из самых страшных вещей, которые могут случиться с системой. Поэтому отчет об активных снапшотах (Active snapshots report) в приложении Veeam ONE, позволяющий отслеживать такие активности — один из самых часто используемых отчетов:
С помощью это отчета мы можем держать снапшоты под контролем и избегать возможных проблем, но достаточно ли этого? На самом деле нет.
Потерянные снапшоты
По ряду причин vCenter может «потерять» снапшот. Снапшоты могут существовать на СХД, но мы не увидим никакой информации об этом через графический интерфейс vCenter. Это приведет к потере производительности ВМ, а также чрезмерному потреблению места на СХД этой виртуальной машиной.
Расскажем про одну из самых частых проблем, которую мы наблюдаем при обращении пользователей в службу технической поддержки.
В Veeam Backup & Replication любое задание начинается с создания снапшота ВМ. Так программа гарантирует корректную “заморозку” данных на дисках ВМ и обеспечивает их консистентность в резервной копии. В начале задания Veeam Backup & Replication посылает запрос на создание снапшота ВМ в vCenter, и, затем, копирует данные с “замороженного” виртуального диска. По окончании копирования отправляется второй запрос в vCenter на применение данных снапшота (snapshot commit) к диску и удаление снапшота.
На этом этапе может появиться проблема. Даже если vCenter отчитался об успешно проведенной операции по удалению снапшота, снимок мог остаться жить своей жизнью, расти и мешать системе. Иногда vCenter не может получить информацию об этом событии и предупредить администратора о потенциальной опасности.
Детектор снапшотов
Мы разработали детектор снапшотов, который в автоматическом режиме следит за появлением снапшотов-«невидимок» и удаляет их при необходимости.
Как только vCenter завершает работу с ВМ и производит консолидацию данных снапшота и виртуального диска, пользователь видит следующее сообщение в vSphere клиенте:
В этот же момент детектор снапшотов подключается к виртуальной инфраструктуре и считывает данные СХД, где хранятся файлы этой ВМ. Если снапшот, созданный во время резервного копирования, всё ещё находится на СХД, то детектор уведомляет об этом сервер резервного копирования, а пользователь получает оповещение в интерфейсе программы. После этого начинается процесс удаления снапшота.
Существует специальное расписание для детектора снапшотов. Первая попытка удалить скрытый снапшот происходит сразу после окончания задания резервного копирования. Если файл снапшота или другой зависимый файл был заблокирован во время консолидации, детектор может сразу справиться с этой проблемой. В противном случае, детектор снапшотов будет пытаться возобновить операцию еще 3 раза в течение 12 часов (через каждые 4 часа).
Для каждой следующей попытки будет применен такой алгоритм:
- “Мягкая консолидация” (обращаемся к нативному механизму консолидации VMware)
- “Жёсткая консолидация без заморозки” (создание и удаление снапшота-помощника)
- “Жёсткая консолидация с заморозкой” (создание и удаление снапшота-помощника с «заморозкой»)
Если и через 12 часов снапшот всё ещё не удален, детектор снапшотов уведомляет пользователя о “зависшем” снапшоте, так как существует вероятность, что проблема может быть решена только вручную. При настроенных письменных уведомлениях вы получите электронное письмо следующего содержания:
“ВМ (имя ВМ) нуждается в консолидации снапшотов, так как все автоматические попытки не привели к успеху. Скорее всего, причина в том, что файл снапшота заблокирован внешним процессом. Пожалуйста, выявите причину блокировки и устраните её в ручном режиме.”
Проверить активность детектора можно через интерфейс программы, на вкладке “история — система” (history — system). Используйте ключевое слово “snapshot”, чтобы отфильтровать только операции детектора снапшотов.
Каждое задание консолидации (VM snapshot consolidation) — это попытка детектора снапшотов удалить “зависший” снапшот.
Детектор снапшотов полностью автоматизирован, и вам ничего не нужно дополнительно настраивать. Он ищет и проверяет только те снапшоты, которые были созданы в результате деятельности заданий резервного копирования и репликации. Таким образом, пользовательские снапшоты не будут затронуты. Также детектор снапшотов использует «умный» алгоритм работы: в случае достижения максимального количества снапшотов на СХД или максимальной латентности по операциям ввода-вывода, детектор будет ждать изменения ситуации на СХД, чтобы начать консолидацию.
Помимо всего прочего, перед началом очередного цикла детектор проверяет не закрыто ли «окно резервного копирования», чтобы провести консолидацию строго в отведенное ей время.
Вдобавок, следует заметить, что детектор работает в соответствии с разработанными VMware процедурами и не причиняет вреда рабочему окружению.
Дополнительные материалы
Раздел о детекторе снапшотов в документации продукта (англ.яз)
Консолидация снапшотов VMware (VMware KB)