Резервное копирование VM — снэпшоты vs классические резервные копии

1778.cloudstack.png-1024x0Итак, наконец то вы задумались о резервном копировании виртуального сервера. Ура! Наши поздравления… И у Вас вопрос: «Чем же мне это делать — снэпшотами VM или резервными копиями данных внутри VM?». Правильный ответ: «Оба способа имеют право на жизнь. It depends…». Рассмотрим оба способа, их плюсы и минусы:

Снимки VM

Плюсы:

  1. Простота. Настраивается в панели Cloudstack и не требует знаний администрирования VM.
  2. Надежность восстановления. Снэпшот — полный образ диска VM и восстановление системы из него производится созданием и развертыванием VM из шаблона или созданием тома и копированием данных с помощью dd в режиме восстановления (live cd iso).
  3. Создание при необходимости. Создав снимок перед апгрейдом системы, к примеру, вы обеспечиваете себе безопасное восстановление в случае поломки.

Вот плюсы и кончились. Минусы существенные:

  1. Freeze VM. При создании шаблона VM «замирает» до завершения создания. Для диска размером 10GB это будет не менее 100-150 секунд, дальше — больше. В это время VM нефункциональна.
  2. Занимают много места. Снимки занимают много места (фактически столько же, сколько и диск, с которого снимок снимается), как следствие — стоят много денег.
  3. Долго развертывать. Процедура создания шаблона из снимка большого размера займет много времени (~1-2 секунды на 100MB объема).
  4. Согласованность в многодисковой конфигурации. Если VM включает несколько дисков, объединенных с помощью MD, LVM2, ZFS или аналогичного менеджера в суперустройство, то при создании снэпшотов поочередно практически 100% получите в итоге неработающую систему. На сегодняшний день создать синхронную копию снимков сразу для всех дисков невозможно, если же механизмы объединения устройств не используются, то проблем быть не должно.

Тем не менее, мы делаем технические снэпшоты дисков для того, чтобы в случае, если клиент выстрелил себе в ногу или мы это сделали случайно, иметь запасной план спасения. Спасаем платно, поэтому расчитывать на это не рекомендуем.

Подробнее о работе со снимками (снэпшотами) можно прочитать здесь.

Резервное копирование VM

Мы неоднократно писали о различных вариантах резервного копирования, а в интернет можно найти еще уйму инструментов о том, как это делать. Перечислим наши статьи ниже:

  1. Использование duplicity (linux, *nix);
  2. Использование duplicati — наш сайт, посвященный этой системе (MS Windows, Linux);

А теперь рассмотрим плюсы и минусы такого подхода:

Плюсы:

  1. Не влияет на работоспособность VM. VM может отвечать медленнее, но остается функциональной, кроме того, Вы можете управлять скоростью копирования через IOnice.
  2. Эффективное использование дискового пространства. Системы резервного копирования поддерживают инкрементное или дифференциальное резервное копирование, сохраняя только изменения, которые происходят относительно последней полной копии. Это позволяет более эффективно (а значит дешевле) хранить резервные копии.
  3. Избирательность восстановления. Можно восстановить только какие-то группы файлов без необходимости полного отката к состоянию.
  4. Скорость восстановления. Следствие п.3.
  5. Согласованность. Если все делать правильно, данные будут «хорошие» и подходящие для восстановления.
  6. Политика. Применяйте те инструменты и политику хранения, какая Вам нравится.

Минусы:

  1. Надо трудиться и разбираться в сути проблемы. В общем, одни проблемы с этой настройкой… Надо и бэкапы баз в виде дампов сохранить и снимок LVM2 сделать (возможно), да еще и замонтировать его дополнительно, а потом отмонтировать — сплошной геморрой неудобства, особенно когда не очень-то разбираешься.
  2. Надо регулярно проверять, что бэкапы создаются. Может и сломаться, вот решил восстановиться, а бэкапы уже не делались два месяца, например, потому что хранилище закончилось…
  3. Длительное время полного восстановления. Если требуется восстановить все — это займет много времени… В случае 10GB много времени, конечно, это не займет, если конечно в бэкапе нет 100500 сессионных файлов PHP или архива почты… Но для серьезных данных может занять много времени.

Вот и все. Надеемся, данная статья ответит на некоторые вопросы новичков в сфере резервного копирования. Будем рады Вашим вопросам.