У меня есть три KVM-сервера, каждый с 1 гостевой виртуальной машиной, работающей непосредственно в локальном хранилище (так что каждый из них, по сути, получает выделенную вычислительную мощность). В случае отказа хоста я хотел бы, чтобы гости реплицировались по крайней мере на один из других хостов, чтобы я мог развернуть его там, пока неисправный хост не будет исправлен.
Мне любопытно клонирование KVM. Я могу клонировать виртуальную машину вживую или когда она приостановлена / выключена. Очевидно, что приостановленные виртуальные машины, естественно, будут быстрее клонироваться, но эти три виртуальные машины составляют три части одного решения, поэтому я не хочу, чтобы какая-либо из них отключалась.
Как я могу эффективно клонировать эти виртуальные машины между серверами?
У меня было несколько идей, но они безумны или есть лучший метод, который я пропустил для своего сценария?
Настройте раздел DRDB между блоком 1 и 2, откуда запускается ВМ 1, и таким образом реплицируется между блоком 1 и блоком 2, повторите между блоками 2 и 3 и блоком 3 и 1 (это может быть безумием, я никогда не использовал только DRDB прочтите об этом)
Просто используйте стандартные параметры клонирования KVM CLI для выполнения живых клонов (я сомневаюсь в этом, потому что я не знаю, сколько времени это займет и какое влияние на производительность будет во время)
Запустите копию каждой виртуальной машины хотя бы на одном другом хосте и попросите гостя на одном хосте экспортировать свои данные соответствующему гостю на другом хосте, где он может импортировать эти данные, написав это на гостевом компьютере)
Другой способ? Идеи приветствуются!
Примечание
Эти серверы имеют диски SAS 4x15k в RAID 10, поэтому они не работают быстро, и, как я уже упоминал, каждая виртуальная машина запускается из локального хранилища хоста, без NAS или SAN и т. . Кроме того, речь идет не об аварийном восстановлении. Гости будут экспортировать свои данные на NAS через VPN, поэтому я ищу способы их быстрого развертывания в ситуации отказа хоста.
Я бы не стал возиться с локальным хранилищем, а вместо этого настроил бы кластер с общим доступом. oVirt и RHEV обеспечивают высокую доступность виртуальных машин и балансировку нагрузки из коробки, все, что вам нужно, - это настроить виртуальные машины, и если хост выходит из строя, виртуальные машины, которые вышли из строя, будут автоматически запущены на другом хосте.
Для хранения вы можете получить подходящую SAN, но если бюджет ограничен, подойдет RHEL-модуль, экспортирующий iSCSI или NFS.
Этот сервер iSCSI или NFS можно легко реплицировать, создавать резервные копии и, как правило, хранить в безопасности.
@Zoredache Не отвечает, но в итоге воспользовался Ganeti и влюбился в него;
http://code.google.com/p/ganeti/
Я не могу рекомендовать это достаточно людям, которые хотят использовать KVM в качестве гипервизора кластера с бесшовной репликацией и миграцией.