PROXMOX. Миграция VM — различия между версиями
Root (обсуждение | вклад) |
Root (обсуждение | вклад) |
||
| (не показана 1 промежуточная версия этого же участника) | |||
| Строка 1: | Строка 1: | ||
| − | + | ||
| + | В Proxmox VE версии 7.3 появилась штатная возможность миграции виртуальных машин на другой кластер. | ||
Миграция работает только на локальных хранилищах (highio/local-lvm) | Миграция работает только на локальных хранилищах (highio/local-lvm) | ||
Работает online миграция ВМ с минимальным даутаймом в миллисекунды, пинги не проподают, вм фризится. | Работает online миграция ВМ с минимальным даутаймом в миллисекунды, пинги не проподают, вм фризится. | ||
| Строка 17: | Строка 18: | ||
Содержимое переменной | Содержимое переменной | ||
#Для простоты выполнения, вынесем креды в переменные | #Для простоты выполнения, вынесем креды в переменные | ||
| − | #APITOKEN='PVEAPIToken=<api_user>!<token_id>=<token_secret>' | + | #APITOKEN='PVEAPIToken=<api_user>!<token_id>=<token_secret>' |
| − | export APITOKEN='PVEAPIToken=vkochev@samokat.io!vkochev=123456-1234-1234-1234-12345678' | + | export APITOKEN='PVEAPIToken=vkochev@samokat.io!vkochev=123456-1234-1234-1234-12345678' |
| − | # FINGERPRINT - отпечаток сертификата хоста, на который осцуществляем миграцию, смотрим Node -> System -> Certificates -> pve-ssl.pem -> Fingerprint | + | # FINGERPRINT - отпечаток сертификата хоста, на который осцуществляем миграцию, смотрим Node -> System -> Certificates -> pve-ssl.pem -> Fingerprint |
| − | export FINGERPRINT='1B:FD:0B:8D:7v:8F:CA:ED:E6:B9:B4:88:E4:BF:3B:B1:55:D8:8F:8E:12:E2:47:6C:B5:7C:83:AD:E7:27:78:44' | + | export FINGERPRINT='1B:FD:0B:8D:7v:8F:CA:ED:E6:B9:B4:88:E4:BF:3B:B1:55:D8:8F:8E:12:E2:47:6C:B5:7C:83:AD:E7:27:78:44' |
| − | #qm remote-migrate <vmid> [<target-vmid>] <target-endpoint> --target-bridge <string> --target-storage <string> [OPTIONS] | + | #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) | ||
| − | + | ||
| − | |||
мигрануть сразу все ВМ можно так | мигрануть сразу все ВМ можно так | ||
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 | 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 | ||
| Строка 32: | Строка 32: | ||
Осторожно с миграцией патроней, обрубается, не успевает долить, т к I/O большие | Осторожно с миграцией патроней, обрубается, не успевает долить, т к 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 | ||
Fngerprint удалённого proxmox | Fngerprint удалённого proxmox | ||
| − | openssl s_client -connect 172.16.38.1:8006 -servername 172.16.38.1 </dev/null 2>/dev/null | + | 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 | subject=CN = pve38.iwad.ru | ||
issuer=C = US, O = Let's Encrypt, CN = R13 | 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 | 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 | ||
Текущая версия на 01:32, 25 апреля 2026
В Proxmox VE версии 7.3 появилась штатная возможность миграции виртуальных машин на другой кластер. Миграция работает только на локальных хранилищах (highio/local-lvm) Работает online миграция ВМ с минимальным даутаймом в миллисекунды, пинги не проподают, вм фризится. Для перемещения диска cloud-init без остановки ВМ:
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=vkochev@samokat.io!vkochev=123456-1234-1234-1234-12345678'
# FINGERPRINT - отпечаток сертификата хоста, на который осцуществляем миграцию, смотрим Node -> System -> Certificates -> pve-ssl.pem -> Fingerprint
export FINGERPRINT='1B:FD:0B:8D:7v:8F:CA:ED:E6:B9:B4:88:E4:BF:3B:B1:55:D8:8F:8E:12:E2:47:6C:B5:7C:83:AD:E7:27:78:44'
#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
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