PROXMOX. Миграция VM — различия между версиями

Материал из megapuper
Перейти к: навигация, поиск
 
(не показана 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 x509 -noout -subject -issuer -fingerprint -sha256
+
  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 # это делаем после миграции уже на новом гипервизоре

  1. пример 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. Команды миграции: Содержимое переменной

  1. Для простоты выполнения, вынесем креды в переменные
#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
  1. Если хотим удалить ВМ после успешной миграции, добавляем --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