Назад | Перейти на главную страницу

Резервное копирование машин Xen domU во время работы

Хост-компьютер работает под управлением CentOS 5.3 и использует LVM для создания логических томов (LV) и позволяет делать снимки этих LV в реальном времени. Моя мысль заключалась в том, чтобы хранить все файлы образов для доменов с ограниченными возможностями Xen (domU) на одном LV и периодически делать снимки этого LV и копировать образы дисков из снимка, чтобы сделать живую резервную копию этих систем. Это выполнимо? Есть ли способ лучше?

Спасибо!

Вероятно, лучший способ - сделать резервную копию каждого domU на уровне файлов, а не возиться со снимками LV. Или резервная копия снимка на уровне файлов.

Но если вы предпочитаете резервное копирование ваших domU на уровне блоков - сохранение всех дисков domU в виде файлов на одном LV вполне выполнимо, и я тоже это рассматривал, но я отказался от этого и пошел с тем, для чего ваш сервер уже настроен - один домУ на каждый LV по двум причинам:

  1. Создание новых файлов изображений domU займет вечность, если вы не используете разреженные файлы. Использование LVM для создания и удаления LV происходит мгновенно. При работе с разреженными файлами может не хватить места на диске.
  2. Один снимок для всех domU может занять много места для снимков. Пока вы ждете завершения резервного копирования, все изменения, вносимые вашими работающими domU, будут занимать место на вашем снимке. Я просто делаю моментальный снимок домена за раз, а затем выполняю резервное копирование.

Я создал сценарий для чего-то другого, чем вы объяснили

1) «xm сохранить домен domain.mem.backup» (с паузой) 2) снимок LVM 3) «xm восстановить домен domain.mem.backup» 4) «dd» снимка LVM в domain.dd.backup 5) удалить Снимок LVM

Чтобы восстановить: 1) Создайте LVM LV для домена 2) «dd» из domain.dd.backup на этот LV 3) «xm restore domain domain.dd.mem»

Домен возобновляется с состоянием памяти, которое было у него на момент резервного копирования. Затем, если есть какие-то данные, которые не были записаны, он сделает это сразу после восстановления ... как будто он никогда не останавливался.

Настоящее «живое» резервное копирование не совсем выполнимо.

Теоретически лучшее, что вы можете получить - при использовании LVM - это несколько секунд "паузы", что должно быть нормально: domU должен будет - синхронизировать свои диски, приостанавливать / приостанавливать, создавать резервные копии данных и возобновлять работу.

Однако при таком подходе есть несколько "ошибок" (в отличие от простого выключения машины), которые необходимо устранить.

Основная проблема - согласованность файловой системы domU - взгляните на мысли-xen-файловая система-конфигурация-рассмотрение-резервное копирование для более полного объяснения.

Это зависит от качества резервного копирования, которое вы хотите, и времени простоя, которое вы можете выдержать. Я бы сказал, что если вам нужна полностью согласованная резервная копия, вам необходимо выключить domU (если Win или Linux domUs, другие ОС могут отличаться).

Если вы просто хотите сделать резервную копию некоторых данных, вы можете дать шанс команде «xm pause». Просто запустите «xm pause domain», сделайте снимок и продолжайте с «xm unpause domain». Но вы рискуете потерять данные на уровне файловой системы, а также данные, которые хранятся в незаброшенных буферах приложений (например, samba).

Поскольку между уровнем хранения dom0 и ядром domU и приложениями нет системы связи (для синхронизации файловой системы и буфера), отключение domU - единственный способ добиться согласованного резервного копирования.

Почему бы вам просто не использовать отдельный LV для каждой виртуальной машины, а затем сделать снимок, смонтировать и скопировать / rsync содержимое каждой виртуальной машины по мере необходимости для целей резервного копирования?