Size: a a a

OpenNebula - русскоговорящее сообщество

2020 May 02

k

kvaps in OpenNebula - русскоговорящее сообщество
источник

k

kvaps in OpenNebula - русскоговорящее сообщество
kvaps
Afaik OpenNebula не умеет в live storage-migration.
Но можно взять драйвер linstor_un  и через PREFER_NODE заставить его шедулить тома на туже ноду где будет работать виртуалка.
А на live_migration повесить хук который будет реплики реаллокейтить
А ещё можно допилить сам драйвер, нужно отредактировать два скрипта: tm/premigrate и tm/postmigrate

В первом нужно добавить:

linstor_exec_and_log "resource create $DST_HOST $DST_RES"

вместо linstor_attach_diskless

во втором убрать проверку на diskless при детаче:
[[ " $SRC_RES_DISKLESS_HOSTS " =~ " $SRC_HOST " ]]

чтобы эта команда выполнялась всегда:
linstor_exec_and_log "resource delete $SRC_HOST $SRC_RES"
источник

k

kvaps in OpenNebula - русскоговорящее сообщество
А, ну и для tm/mv тоже самое чтобы оффлайн-миграция тоже  работала
источник

k

kvaps in OpenNebula - русскоговорящее сообщество
если сможете законтрибьютить, буду очень рад 😊
источник

p

pio in OpenNebula - русскоговорящее сообщество
kvaps
Afaik OpenNebula не умеет в live storage-migration.
Но можно взять драйвер linstor_un  и через PREFER_NODE заставить его шедулить тома на туже ноду где будет работать виртуалка.
А на live_migration повесить хук который будет реплики реаллокейтить
Правильно ли я понимаю, что речь идет о использовании linstor без drbd?
источник

k

kvaps in OpenNebula - русскоговорящее сообщество
pio
Правильно ли я понимаю, что речь идет о использовании linstor без drbd?
Нет, drbd понадобится, для того чтобы среплицировать данные при миграции
источник

p

pio in OpenNebula - русскоговорящее сообщество
спасибо, я понял мысль, фактически мы используем локальный пул, через shared_DS (а точнее через оркестратор linstor)
источник

p

pio in OpenNebula - русскоговорящее сообщество
фактически реализовать миграцию можно так же без drbd, используя nbd для qemu, из простейшего virsh migrate --live --copy-storage-all
источник

p

pio in OpenNebula - русскоговорящее сообщество
но в данном случае linstor надо сообщить, что волум сейчас находится на другом узле
источник

p

pio in OpenNebula - русскоговорящее сообщество
kvaps
Нет, drbd понадобится, для того чтобы среплицировать данные при миграции
у меня нет опыта в linstor, правильно ли я понимаю, что linstor может работать с леером drbd без копий, а для таргетирования могут выступать diskless resource ?
источник

k

kvaps in OpenNebula - русскоговорящее сообщество
pio
у меня нет опыта в linstor, правильно ли я понимаю, что linstor может работать с леером drbd без копий, а для таргетирования могут выступать diskless resource ?
да, всё так
источник

k

kvaps in OpenNebula - русскоговорящее сообщество
по умолчанию data-resource шедулится на рандомные ноды в кластере в неоходимом количестве реплик, если ты собираешься запустить виртуалку на какой-нибудь ноде на которой нет задеплоенного drbd-ресурса, создастся diskless-ресурс
источник

p

pio in OpenNebula - русскоговорящее сообщество
kvaps
да, всё так
да, интересный выход, спасибо. из того, что сразу приходит на ум.
data_resource надо держать по возможности на host с VM:
- при создании VM;
- при миграции VM.
источник

k

kvaps in OpenNebula - русскоговорящее сообщество
pio
да, интересный выход, спасибо. из того, что сразу приходит на ум.
data_resource надо держать по возможности на host с VM:
- при создании VM;
- при миграции VM.
При создании реализованно через опцию PREFER_NODE=true
источник

k

kvaps in OpenNebula - русскоговорящее сообщество
При миграции описал выше
источник

k

kvaps in OpenNebula - русскоговорящее сообщество
Ещё была идея реализовать умный шедулинг, чтобы виртуалка всегда шедулилась на ноды которые уже имеют data-ресурс, но для этого нужна поддержка со стороны OpenNebula
https://github.com/OpenNebula/one/issues/4415
источник

p

pio in OpenNebula - русскоговорящее сообщество
kvaps
Ещё была идея реализовать умный шедулинг, чтобы виртуалка всегда шедулилась на ноды которые уже имеют data-ресурс, но для этого нужна поддержка со стороны OpenNebula
https://github.com/OpenNebula/one/issues/4415
если VM содержит один диск, можно прикрутить миграцию на нужный хост, 'мысли в слух'
источник

k

kvaps in OpenNebula - русскоговорящее сообщество
pio
если VM содержит один диск, можно прикрутить миграцию на нужный хост, 'мысли в слух'
ну у вас кейс немного другой
источник

p

pio in OpenNebula - русскоговорящее сообщество
идея с шедулингом вполне рабочая, если допилят функционал
источник

p

pio in OpenNebula - русскоговорящее сообщество
linstor как я понимаю не умеет делать snapshot на lvm thick, это минус(
источник