LINUX.ORG.RU
ФорумAdmin

[pacemaker][libvirt] Тестирование failover

 ,


0

1

Доброе утро.

Настройки одной из ВМ в кластере:

primitive Linux-amd64-syslog ocf:heartbeat:VirtualDomain \
        params config="/etc/libvirt/qemu/gentoo-amd64-syslog.xml" migration_transport="ssh" \
        meta target-role="Started" allow-migrate="true" \
        op monitor interval="10"

После тестирования онлайн-миграции ВМ программным путём (т.е. через консоль resource migrate и node standby), было проведено испытание жёстче: нода, на которой работала ВМ, была внезапно выключена через кнопку питания, имитируя kernel panic.

Вот что наблюдалось при этом на живой ноде:

Node fs_1: online
        Linux-amd64-ldapm       (ocf::heartbeat:VirtualDomain) Started
        Win2003 (ocf::heartbeat:VirtualDomain) Started
        ssh-fencing:0   (stonith:ssh) Started
Node fs_2: UNCLEAN (offline)
        ssh-fencing:1   (stonith:ssh) Started
        Linux-amd64-ldaps       (ocf::heartbeat:VirtualDomain) Started
        Linux-amd64-syslog      (ocf::heartbeat:VirtualDomain) Started

Inactive resources:

 Clone Set: Fencing [ssh-fencing]
     Started: [ fs_1 ]
     Stopped: [ ssh-fencing:1 ]
 Resource Group: ClusterIP
     InternalIP (ocf::heartbeat:IPaddr2):       Stopped
     ExternalIP (ocf::heartbeat:IPaddr2):       Stopped
Linux-amd64-syslog      (ocf::heartbeat:VirtualDomain): Started fs_2
Linux-amd64-ldaps       (ocf::heartbeat:VirtualDomain): Started fs_2

Migration summary:
* Node fs_1:

т.е. миграция двух виртуалок не прошла. Я понимаю, почему: данные, которые они занимали в памяти, неоткуда было брать. Дисковые устройства раздаются по сети с другого хоста, так что, с этим всё ок. Проблема только с процессом ВМ.

Итак, существует ли решение подобной проблемы? Или же kernel panic, отвалившаяся внезапно сетевая карта и т.п. штуки означают невозможность миграции всех ВМ с такой ноды?

Если же миграция невозможна, то можно ли упавшую виртуалку запустить на живой ноде автоматически? Как это указать pacemaker'у?

Я посмотрел: вроде как железячные решения, обеспечивающие failover существуют, могут ли их заменить программные?



Последнее исправление: HolyBoy (всего исправлений: 2)

> Итак, существует ли решение подобной проблемы?

разве что снапшоты делать периодически?

Если же миграция невозможна, то можно ли упавшую виртуалку запустить на живой ноде автоматически?


heartbeat например

r0mik
()
Ответ на: комментарий от r0mik

ниче не понял, ваш pacemaker и есть менеджер HA-кластера. вот и курите мануалы как указать...

r0mik
()

Я не думаю что есть универсальные софтварные решения, ведь для полного failover надо будет постоянно содержимое памяти синкать, это убьёт производительность в ноль. На всякий случай погуглил, сходу ничего не нашлось.

А что у тебя в vm крутится? Может тупо запускать виртуалку на другой ноде раз сторадж у них общий?

А вообще, не слышал об универсальных решениях «сделать мне зашибись». Надо для каждой программы решать этот вопрос отдельно. Базы данных, например, реплицируются, файлопомойки каким-нить rsync-ом синкаются или распределённые хранилища юзают. Итп.

true_admin ★★★★★
()

> данные, которые они занимали в памяти, неоткуда было брать.

Если же миграция невозможна, то можно ли упавшую виртуалку запустить на живой ноде автоматически?

Пипец у тебя задачи. Если тебе не страшен даунтайм в минуту — ковыряй pacemaker на тему автоподъёма, это должна быть одна из базовых фич. Если страшен — готовь сотни денег на внедрение какой-нибудь чудо-хрени типа RDMA.

muon ★★★★
()
21 декабря 2011 г.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.