PROXMOX. Миграция VM — различия между версиями
Root (обсуждение | вклад) |
Root (обсуждение | вклад) |
||
| Строка 37: | Строка 37: | ||
Смигрирвать сразу все ВМ можно так | Смигрирвать сразу все ВМ можно так | ||
| − | qm list | awk '{print $1}' | while read VMID;do qm set $VMID --ide0 none; qm remote-migrate $VMID $VMID apitoken=${APITOKEN},host=172.16.38.1,fingerprint=${FINGERPRINT} --target-bridge vmbr1 --target-storage | + | qm list | awk '{print $1}' | while read VMID;do qm set $VMID --ide0 none; qm remote-migrate $VMID $VMID apitoken=${APITOKEN},host=172.16.38.1,fingerprint=${FINGERPRINT} --target-bridge vmbr1 --target-storage local --online --delete 1; done |
Fngerprint удалённого proxmox ещё можно посмотреть так | Fngerprint удалённого proxmox ещё можно посмотреть так | ||
Версия 13:27, 21 мая 2026
В Proxmox VE версии 7.3 появилась штатная возможность миграции виртуальных машин на другой кластер.
1. Миграция работает только на локальных хранилищах (highio/local)
2. Работает online миграция ВМ с минимальным даунтаймом в миллисекунды, пинги не пропадают, вм фризится.
Для перемещения диска cloud-init без остановки VM(если он нужен):
Cloud-init change stor qm set <VMID> --ide0 none # это делаем до миграции qm set <VMID> --ide0 <Storage_name>:cloudinit # это делаем после миграции уже на новом гипервизоре #VMID = 30174, Storage_name = highio qm set 30174 --ide0 none # это делаем до миграции qm set 30174 --ide0 highio:cloudinit # это делаем после миграции уже на новом гипервизоре update VM 30174: -ide0 none Removing image: 100% complete...done.
Миграция
Перед миграцией выносим креды в переменные
APITOKEN='PVEAPIToken=<api_user>!<token_id>=<token_secret>' INGERPRINT - отпечаток сертификата хоста, на который осуществляем миграцию, смотрим Node -> System -> Certificates -> pve-ssl.pem -> Fingerprint qm remote-migrate <vmid> [<target-vmid>] <target-endpoint> --target-bridge <string> --target-storage <string> [OPTIONS]
Если хотим удалить VM после успешной миграции, добавляем --delete 1 (default = 0)
Онлайн миграция --online
Итоговые команды миграции
export APITOKEN='PVEAPIToken=prx-nbx-sync@pve!prx-nbx-sync=57026558-d39a-4340-9574-6563e8f46b94' export FINGERPRINT='FF:DE:F7:F6:DD:B1:45:35:C5:8E:62:F1:5D:BB:92:10:84:0C:16:16:96:E3:67:E0:E8:C5:61:88:EC:1C:C2:22' qm remote-migrate 125 125 apitoken='PVEAPIToken=prx-nbx-sync@pve!prx-nbx-sync=57026558-d39a-4340-9574-6563e8f46b94',host=172.16.38.1,fingerprint='FF:DE:F7:F6:DD:B1:45:35:C5:8E:62:F1:5D:BB:92:10:84:0C:16:16:96:E3:67:E0:E8:C5:61:88:EC:1C:C2:22' --target-bridge vmbr1 --target-storage local --online --delete 1
Смигрирвать сразу все ВМ можно так
qm list | awk '{print $1}' | while read VMID;do qm set $VMID --ide0 none; qm remote-migrate $VMID $VMID apitoken=${APITOKEN},host=172.16.38.1,fingerprint=${FINGERPRINT} --target-bridge vmbr1 --target-storage local --online --delete 1; done
Fngerprint удалённого proxmox ещё можно посмотреть так
openssl s_client -connect 172.16.38.1:8006 -servername 172.16.38.1 </dev/null 2>/dev/null | openssl x509 -noout -subject -issuer -fingerprint -sha256 subject=CN = pve38.iwad.ru issuer=C = US, O = Let's Encrypt, CN = R13 sha256 Fingerprint=FF:CE:F7:F6:DD:B1:45:20:C5:8E:62:F1:4D:BB:92:10:84:0C:16:24:96:E3:67:E0:E8:C5:61:77:EC:1C:C2:22
Осторожно с миграцией patroni, обрубается, не успевает долить, т.к. I/O высокий