unwrecker
@unwrecker

Что сделать чтоб в OpenNebula работала автоматическая миграция?

Я так понимаю, что раз тег "Opennebula" до меня на Тостере не упоминался, то шансов немного, но всё же может хотя бы на второй вопрос ответ будет....

1. Итак, поставил на 3 сервера Opennebula по инструкции с официального сайта. Включил параметры, отвечающие за HA: FEDERATION, RAFT_LEADER_HOOK, RAFT_FOLLOWER_HOOK, HOST_HOOK. Первая часть заработала: общий ip перекидывается при отключении одного из хостов. А вот с HOST_HOOK вообще затык.

В конфиге это выглядит так:
HOST_HOOK = [
    NAME      = "error",
    ON        = "ERROR",
    COMMAND   = "ft/host_error.rb",
    ARGUMENTS = "$ID -m -p 5",
    REMOTE    = "no" ]


При гашении одного из серверов, утилита onezone выдаёт вполне себе правильную информацию:
# onezone show 0
ZONE 0 INFORMATION                                                              
ID                : 0                   
NAME              : OpenNebula          


ZONE SERVERS                                                                    
ID NAME            ENDPOINT                                                       
 0 server-0        http://10.0.0.50:2633/RPC2
 1 server-1        http://10.0.0.51:2633/RPC2
 2 server-2        http://10.0.0.52:2633/RPC2

HA & FEDERATION SYNC STATUS                                                     
ID NAME            STATE      TERM       INDEX      COMMIT     VOTE  FED_INDEX 
 0 server-0        leader     64         1345       1340       0     -1
 1 server-1        follower   64         1340       1340       -1    -1
 2 server-2        error      -          -          -          -     -

ZONE TEMPLATE                                                                   
ENDPOINT="http://localhost:2633/RPC2"


А вот onehost почему-то считает что хост жив:
# onehost list
  ID NAME            CLUSTER   TVM      ALLOCATED_CPU      ALLOCATED_MEM STAT  
   1 cl0             default     0      0 / 2400 (0%)   0K / 187.6G (0%) on    
   2 cl1             default     0      0 / 2400 (0%)   0K / 187.6G (0%) on    
   3 cl2             default     1    200 / 2400 (8%)   2G / 187.6G (1%) on


И onevm считает, что виртуалка на этом хосте работает:
# onevm list
    ID USER     GROUP    NAME            STAT UCPU    UMEM HOST             TIME
     0 oneadmin oneadmin ubuntu 1        runn  0.0      2G cl2          0d 18h26


Лог oned.log заполнен информацией об ошибках репликации:
Thu Mar 14 13:02:55 2019 [Z0][ReM][D]: Req:1872 UID:0 one.zone.raftstatus invoked
Thu Mar 14 13:02:55 2019 [Z0][ReM][D]: Req:1872 UID:0 one.zone.raftstatus result SUCCESS, "<RAFT><SERVER_ID>0</..."
Thu Mar 14 13:02:55 2019 [Z0][ReM][D]: Req:4176 UID:0 one.vmpool.info invoked , -2, -1, -1, -1
Thu Mar 14 13:02:55 2019 [Z0][ReM][D]: Req:4176 UID:0 one.vmpool.info result SUCCESS, "<VM_POOL><VM><ID>0</..."
Thu Mar 14 13:02:55 2019 [Z0][ReM][D]: Req:7744 UID:0 one.vmpool.info invoked , -2, -1, -1, -1
Thu Mar 14 13:02:55 2019 [Z0][ReM][D]: Req:7744 UID:0 one.vmpool.info result SUCCESS, "<VM_POOL><VM><ID>0</..."
Thu Mar 14 13:02:56 2019 [Z0][RCM][D]: Faild to replicate log record at index: 566 on follower: 2, error: Error replicating log entry 566 on follower 2: RPC call timed out and aborted
Thu Mar 14 13:03:00 2019 [Z0][RCM][D]: Faild to replicate log record at index: 566 on follower: 2, error: Error replicating log entry 566 on follower 2: RPC call timed out and aborted
Thu Mar 14 13:03:04 2019 [Z0][RCM][D]: Faild to replicate log record at index: 566 on follower: 2, error: Error replicating log entry 566 on follower 2: RPC call timed out and aborted
Thu Mar 14 13:03:07 2019 [Z0][RCM][D]: Faild to replicate log record at index: 566 on follower: 2, error: Error replicating log entry 566 on follower 2: RPC call timed out and aborted
Thu Mar 14 13:03:11 2019 [Z0][RCM][D]: Faild to replicate log record at index: 566 on follower: 2, error: Error replicating log entry 566 on follower 2: RPC call timed out and aborted
Thu Mar 14 13:03:15 2019 [Z0][RCM][D]: Faild to replicate log record at index: 566 on follower: 2, error: Error replicating log entry 566 on follower 2: RPC call timed out and aborted
Thu Mar 14 13:03:18 2019 [Z0][RCM][D]: Faild to replicate log record at index: 566 on follower: 2, error: Error replicating log entry 566 on follower 2: RPC call timed out and aborted
Thu Mar 14 13:03:22 2019 [Z0][RCM][D]: Faild to replicate log record at index: 566 on follower: 2, error: Error replicating log entry 566 on follower 2: RPC call timed out and aborted

Но ни слова про вызов хука.

Соответственно opennebula считает, что виртуалка работает, и ничего никуда не мигрирует. Вот что это и как с этим бороться?

2. Я долго выбирал подходящее решение, но может неправильно - у OpenNebula очень маленькое сообщество. Может есть другое аналогичное решение? Нужен opensouce, не очень монструозный (как openstack) - у меня будет только 3 сервера, и главное - при падении одного узла ничего не должно ломаться (или быстро подниматься), даже если на этом узле была единственная ипостась какой-нибудь нужной виртуалки.
  • Вопрос задан
  • 1235 просмотров
Пригласить эксперта
Ответы на вопрос 2
@bartelby
Живу в Новосибирске
onezone show 0
Это команды показывает статус серверов управления где вертится oned.
onehost list
Показывает статус хостов где крутится ВМ.
Обычно это физически разные сервера.

В качестве дадасторе что используете?
Если "ssh" - то файл/диск ВМ остался на том хосте который вы выключили.
Ответ написан
Комментировать
unwrecker
@unwrecker Автор вопроса
Тут был уже большой трэд с перепиской, но, видимо, автор его стёр. Все очевидные проблемы были исключены. Решения не найдено.

А у Вас всё работает как надо? Что для этого сделано кроме инструкции от opennebula? Какая конфигурация сети?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы