Как стать автором
Обновить

Миграция с минимальным простоем виртуальных машин KVM между отдельными кластерами Proxmox VE

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров15K
Всего голосов 12: ↑12 и ↓0+12
Комментарии9

Комментарии 9

Если у proxmox подключён zfs на хранилище и zfs на backup server, то очень часто проще, предсказуемее и эффективнее сделать через backup/restore. Потому что в 99% случаев минимальные простои ни на что не влияют, кроме красивых 9 после запятой.

Но в этой статье решение интересное. Правильно ли я понял, что структуру хранилищ на конечном кластере можно тоже безопасно изменить, подключив, например, диски к разным хранилищам?

Просто выглядит как заход с чёрного хода и начинаешь в такие моменты думать где потом сломается.

Согласен, что если нет жестких требований по непрерывности сервиса, то мигрировать проще, через backup/restore.

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

Да, мы мигрировали на кластер с отдельным хранилищем.

Не, статья про то как мигрировать VM без даунтайма (почти) на другой кластер. В рамках одного кластера миграция работает без Storage Replication.

В актуальной ветке (начиная с 7.3) задача решается штатными средствами:

Hidden text
root@pve1:~# qm help remote-migrate
USAGE: qm remote-migrate <vmid> [<target-vmid>] <target-endpoint> --target-bridge <string> --target-storage <string> [OPTIONS]

  Migrate virtual machine to a remote cluster. Creates a new migration
  task. EXPERIMENTAL feature!

  <vmid>     <integer> (1 - N)

             The (unique) ID of the VM.

  <target-vmid> <integer> (1 - N)

             The (unique) ID of the VM.

  <target-endpoint> apitoken=<A full Proxmox API token including the secret
             value.> ,host=<Remote Proxmox hostname or IP>
             [,fingerprint=<Remote host's certificate fingerprint, if not
             trusted by system store.>] [,port=<integer>]

             Remote target endpoint

  -bwlimit   <integer> (0 - N)   (default=migrate limit from datacenter or
             storage config)

             Override I/O bandwidth limit (in KiB/s).

  -delete    <boolean>   (default=0)

             Delete the original VM and related data after successful
             migration. By default the original VM is kept on the source
             cluster in a stopped state.

  -online    <boolean>

             Use online/live migration if VM is running. Ignored if VM is
             stopped.

  -target-bridge <string>

             Mapping from source to target bridges. Providing only a single
             bridge ID maps all source bridges to that bridge. Providing
             the special value '1' will map each source bridge to itself.

  -target-storage <string>

             Mapping from source to target storages. Providing only a
             single storage ID maps all source storages to that storage.
             Providing the special value '1' will map each source storage
             to itself.

Здорово! Я ожидал, что рано или поздно они это реализуют. Даже странно, что сделали только в 7.3. Работая над задачей я подсматривал в скрипты миграции PVE и удивлялся почему до сих пор не сделана внешняя миграция, т.к. доработки там нужны были не очень большие.

Спасибо. Оч. не хватало этого механизма на pve.

Интересно, когда это в веб добавят?

Кстати, 8-ка "забэтилась" https://pve.proxmox.com/wiki/Roadmap#Proxmox_VE_8.0_beta1

Ps. Цикл заметок по proxmox, ceph, zfs, pfsense https://forum.netgate.com/topic/163435/proxmox-ceph-zfs-pfsense-и-все-все-все-часть-2/

Может кому чего и пригодится )

>qm stop $SRCID

Может все же 'qm shutdown' ? Stop уж слишком жестко.

Неважно, потому что следом мы её всё равно удаляем qm destroy $SRCID.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации