oVirt — попытка воспользоваться Backup API

    2014-06-18 21:15 | Автор: jekader | Filed under: FedoraMD

    Резервное копирование в oVirt это абсолютно нехоженная тропа, и мои первые попытки её исследовать не закончились ничем хорошим.

    Начнём с официальных рекомендаций:
    http://www.ovirt.org/Features/Backup-Restore_API_Integration
    Скажем честно, это ужас. Вот что предлагается сделать чтобы забэкапить виртуалку:
    1) создаётся отдельная виртуалка, которая будет генерировать бэкапы
    2) берём виртуалку, что будем бэкапить
    3) создаём снэпшот
    4) подключаем диски снэпшота к отдельной виртуалке из п.1
    5) отдельная виртуалка видит новые диски и производит с ними уличную магию
    6) отключаем диски
    7) позже удаляем снэпшот

    Это всё при том, что к Engine у нас и так подключены все диски, а так-же Export Domain. То есть громко названного "backup API" на данный момент не существует. Пункт 5 плана по сути делает всю работу и отдан на откуп сторонним разработчикам.

    Простым языком, нам предлагается:
    1) установить/написать Backup Appliance
    2) подключить к нему диски виртуалок
    3) ...
    4) PROFIT

    Я принял вызов и решил выстроить костыли по этой документации! Поднял отдельную виртуалку с гордыми именем "oVirtBackupThingie" и начал писать Enterprise Backup Solution. Естественно на PHP!
    Успешно осилил третий пункт включительно. Моя поделка умела говорить с oVirt REST API, показывать список виртуалок и дисков, находить среди них себя а также создавать снэпшоты.


    Конечно я их создание тестировал на той виртуалке, где всё и писалось:

    За время тестирования было создано несколько снэпшотов и я решил их подчистить. Напомню, что на данный момент (oVirt 3.4) снэпшоты можно стереть только при выключенной виртуалке. Наличие-же снэпшотов ударяет по производительности. Потому заглушил виртуалку и поставил удаляться самый старый снэпшот, на чём пошёл домой. На утро я понял что это было моей роковой ошибкой. Снэпшот был в статусе "Broken", копирование прервано на полпути. Виртуалка была уничтожена. Всё что осталось - это вышеприведённый скриншот. Намёк я понял и пробовать заново не стал, хотя было утеряно не более ста строк кода в сумме.

    Далее мои выводы от увиденного, ради которых я и сел писать этот пост:
    1) oVirt Backup API это обманка. Никакие бэкапы он сам по себе делать не позволяет
    2) Неизбежная, и увы самая хрупкая часть процесса создания full-disk backup - это снэпшоты
    3) С каждым произведённым бэкапом будет увеличиваться цепочка снэпшотов, уменьшая производительность
    4) Удаление снэпшотов требует выключения виртуалки (обещают исправить в 3.5), повышает нагрузку на SPM хост, и в особо печальных случаях может привести к порче данных (мой случай)
    5) на данный момент нету свободного софта, использующего oVirt Backup API. Коммерческий вариант - Acronis
    6) бэкапьте ваши виртуалки изнутри
    7) ждём нормального backup api без плясок с отдельными виртуалками

    Если кому будет интересно, могу описать механизм работы снэпшотов в oVirt, их довольно широкую сферу применения и влияние на производительность.

    1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 5,00 out of 5)
    Loading...

    Метки: , ,

    8 комментариев »


    комментариев 8

    1. Нурбек:

      «механизм работы снэпшотов в oVirt»
      было бы отлично 🙂
      + сам скрипт для бэкапа который не прошел…

    2. jekader:

      Скрипт уничтожен вместе с виртуалкой. Пост про снэпшоты напишу: там всё работает не так очевидно как кажется.

    3. Edman Welch:

      Я тут призадумался.
      ovirt 3.5 умеет делать «горячие снэпшоты» и эта фитча действительно работает. А вот умеет ли он это делать по расписанию?
      Например у проксмокса за это хозяйство отвечал vzdump и он очень гибок в настройке.
      Есть ли что то подобное к ovirt?

    4. jekader:

      В proxmox бэкапы просто отлично работали. В ovirt из коробки такого даже близко нету. Должен быть внешний скрипт который будет обращаться к API и делать снэпшоты.

    5. Edman Welch:

      jekader, намекни им, что настало время для работы в этом направлении 😉

    6. jekader:

      Увы, на этом фронте ничего не предвидится на данный момент. Попытки запросить этот функционал пока оказывались безрезультатными.

    7. Алексей:

      С выходом ovirt 4 есть положительные сдвиги?

    8. jekader:

      Никаких изменений на этом фронте не замечено.

    Leave a comment

    *