PROXMOX. Миграция VM — различия между версиями
Root (обсуждение | вклад) |
Root (обсуждение | вклад) |
||
| Строка 19: | Строка 19: | ||
| − | + | '''Миграция''' | |
| − | + | ||
| − | + | Выносим креды в переменные | |
| − | + | APITOKEN='PVEAPIToken=<api_user>!<token_id>=<token_secret>' | |
| − | export APITOKEN='PVEAPIToken= | + | export APITOKEN='PVEAPIToken=prx-nbx-sync@pve!prx-nbx-sync=57026558-d39a-4340-9574-6563e8f46b94' |
| − | + | ||
| − | export FINGERPRINT=' | + | FINGERPRINT - отпечаток сертификата хоста, на который осуществляем миграцию, смотрим Node -> System -> Certificates -> pve-ssl.pem -> Fingerprint |
| − | + | 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 <vmid> [<target-vmid>] <target-endpoint> --target-bridge <string> --target-storage <string> [OPTIONS] | ||
qm remote-migrate 228081 228081 apitoken=${APITOKEN},host=10.32.0.61,fingerprint=${FINGERPRINT} --target-bridge vmbr0 --target-storage highio --online | qm remote-migrate 228081 228081 apitoken=${APITOKEN},host=10.32.0.61,fingerprint=${FINGERPRINT} --target-bridge vmbr0 --target-storage highio --online | ||
# Если хотим удалить ВМ после успешной миграции, добавляем --delete 1 (default = 0) | # Если хотим удалить ВМ после успешной миграции, добавляем --delete 1 (default = 0) | ||
Версия 12:53, 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>'
export APITOKEN='PVEAPIToken=prx-nbx-sync@pve!prx-nbx-sync=57026558-d39a-4340-9574-6563e8f46b94'
FINGERPRINT - отпечаток сертификата хоста, на который осуществляем миграцию, смотрим Node -> System -> Certificates -> pve-ssl.pem -> Fingerprint
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 <vmid> [<target-vmid>] <target-endpoint> --target-bridge <string> --target-storage <string> [OPTIONS]
qm remote-migrate 228081 228081 apitoken=${APITOKEN},host=10.32.0.61,fingerprint=${FINGERPRINT} --target-bridge vmbr0 --target-storage highio --online
- Если хотим удалить ВМ после успешной миграции, добавляем --delete 1 (default = 0)
мигрануть сразу все ВМ можно так qm list | awk '{print $1}' | while read VMID;do qm set $VMID --ide0 none; qm remote-migrate $VMID $VMID apitoken=${APITOKEN},host=10.32.0.62,fingerprint=${FINGERPRINT} --target-bridge vmbr0 --target-storage highio --online; done
Осторожно с миграцией патроней, обрубается, не успевает долить, т к I/O большие
Команда миграции
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
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