İçeriğe geç
Blog

VMware, Nutanix ve fiziksel sunuculardan Proxmox'a göç

Hipervizör erişimi olmayan ortamlardan Proxmox VE'ye göç: Proxmox Backup Client ile diski PBS'e alıp RAW imaja dönüştürme, Windows ve Linux VM taşıma, SATA'dan VirtIO SCSI'ye geçiş.

Tarih
Yazar Mono Bilişim
Okuma süresi 6 dk

Taşıma işlerinin çoğu, kaynak taraftaki hipervizöre erişim olmadığı için tıkanır: yönetim arayüzü kapatılmıştır, destek bitmiştir ya da makine fiziksel bir sunucudur ve elinizde hazır bir yedek imajı yoktur. VMware, Nutanix ve fiziksel sunucu için çözüm aynı: diski işletim sistemi seviyesinde okuyup Proxmox Backup Server datastore’una almak, oradan RAW imaja dönüştürüp Proxmox VE’de oluşturulan VM’e import etmek.

Bu yazı, Proxmox VE‘ye geçişte kullandığımız hipervizör bağımsız akışı anlatıyor: Windows ve Linux VM’ler için adımlar, ilk açılışta SATA’nın neden gerekli olduğu ve disklerin VirtIO SCSI’ye nasıl çevrildiği.

Neden hipervizör bağımsız göç?

Kapalı sanallaştırma platformlarından çıkışın en pahalı adımı diskleri dışa aktarmaktır. VMDK dışa aktarımı çoğu ESXi sürümünde kapalıdır, AHV tarafında disk dosyası olarak erişilemez, fiziksel sunucuda ise böyle bir kavram yoktur.

Proxmox Backup Client ile aktarım bu bağımlılığı kaldırır:

  • Kaynak makinenin işletim sistemi içinden çalışır; hipervizör API’si veya yönetim arayüzü gerekmez.
  • Diski blok aygıtı olarak okuduğu için VMware, Nutanix, KVM, Xen ve fiziksel donanım arasında fark yoktur.
  • Yedek PBS’e parça parça yazıldığı için aktarım kesintiye uğrasa bile kaldığı yerden sürdürülebilir.
  • İlk kopya makine çalışırken alınır; kesinti yalnızca son farkın aktarımı için gerekir.

Taşıma akışı

  1. Hedefte VM oluşturulur. CPU, bellek, UEFI/TPM, ağ köprüsü ve VLAN hedefte tanımlanır; disk henüz yoktur.
  2. Kaynakta disk PBS’e aktarılır. Proxmox Backup Client diski okur ve datastore’a yazar.
  3. Kayıt RAW imaja dönüştürülür. PBS’e alınan veri disk imajı değil, dizin biçimli bir kayıttır (*.fidx); bu nedenle önce RAW imaja çevrilir.
  4. İmaj VM’e import edilir ve VM açılır. Windows’ta ilk açılış SATA ile yapılır, sürücüler kurulduktan sonra disk SCSI’ye çevrilir.
  5. Son fark aktarılır. Kaynakta aynı komut son kez çalıştırılır, aradaki değişim VM’e uygulanır ve kaynak makine kapatılır.

Windows VM taşıma

Diski PBS’e aktarma

Windows’ta diskler fiziksel aygıt olarak verilir. Açık kaynak tizbac/proxmoxbackupclient_go projesinden derlenen pbsmachinebackup.exe kullanılır:

Get-PhysicalDisk

.\pbsmachinebackup.exe -backupdev \\.\PhysicalDrive0 -backup-id win-mig `
  -authid <token-id>@pbs!<token-name> -secret <TOKEN-SECRET> `
  -baseurl https://pbs.example.local:8007 `
  -certfingerprint <PBS-PARMAK-IZI> `
  -datastore <datastore>

Makinede ne kadar disk varsa hepsi -backupdev ile belirtilir; tek çağrıda birden fazla disk gönderilebilir. -backup-id her kaynak makine için farklı olmalıdır, aksi hâlde farklı makinelerin kayıtları karışır.

Restore ve RAW dönüşümü

export PBS_REPOSITORY='<token-id>@pbs!<token-name>@pbs.example.local:8007:<datastore>'
export PBS_PASSWORD='<TOKEN-SECRET>'
export PBS_FINGERPRINT='<PBS-PARMAK-IZI>'

proxmox-backup-client snapshots host/win-mig
proxmox-backup-client restore host/win-mig/<SNAPSHOT> drive-sata0.img.fidx /root/<vmid>.raw

Snapshot listesinde en güncel kayıt seçilir; .fidx uzantılı dizin kaydı RAW imaja dönüştürülür.

VM oluşturma ve ilk açılış

qm create 200 \
  --name win-mig \
  --ostype win11 \
  --machine pc-q35-11.0+pve2 \
  --bios ovmf \
  --efidisk0 <storage>:1,efitype=4m,pre-enrolled-keys=1 \
  --tpmstate0 <storage>:1,version=v2.0 \
  --cpu host,flags=+aes;+ibpb;+ssbd;+pdpe1gb \
  --sockets 1 --cores 4 \
  --memory 4096 --balloon 0 --numa 1 \
  --scsihw virtio-scsi-single \
  --net0 virtio,bridge=vmbr0,firewall=1,tag=<vlan> \
  --agent 1

qm disk import 200 /root/<vmid>.raw <storage> --target-disk sata0
qm set 200 --boot order=sata0
qm set 200 --ide2 <iso-storage>:iso/virtio-win.iso,media=cdrom
qm start 200

Windows’ta ilk açılış SATA ile yapılmalıdır: VirtIO sürücüleri kurulu değilken SCSI disk sistem açılışında görünmez.

VirtIO SCSI’ye geçiş

VM açıldıktan sonra VirtIO ISO’sundaki win-guest-tools kurulur; bu paket ağ, bellek balonlama ve QEMU Guest Agent gibi bileşenleri de getirir. Ardından Proxmox tarafında geçici bir SCSI disk eklenip VM yeniden başlatılır:

qm set 200 --scsi1 <storage>:1,format=qcow2,iothread=0
# VM içinden: Restart

Geçici disk VM içinde göründüğünde, SATA’daki ana disk SCSI’ye taşınır:

qm shutdown 200
qm config 200   # disk adını doğrula: vm-200-disk-N
qm set 200 --scsi0 <storage>:vm-200-disk-N,cache=writeback,iothread=1,discard=on --delete sata0
qm set 200 --delete scsi1
qm set 200 --boot order=scsi0
qm start 200

VM açılmazsa geri dönüş tek adımdır:

qm set 200 --sata0 <storage>:vm-200-disk-N --delete scsi0
qm set 200 --boot order=sata0
qm start 200

Son fark

Kaynak makinede ilk adımdaki aktarım komutu son kez çalıştırılır, ardından diskin son hâli VM’e alınır:

qm shutdown 200
qm set 200 --delete scsi0
qm disk import 200 /root/<vmid>-final.raw <storage> --target-disk sata0
qm set 200 --boot order=sata0
qm start 200

Son aktarım diski tekrar SATA’ya çevirdiği için, yukarıdaki SCSI dönüşüm adımları bir kez daha uygulanır.

Linux VM taşıma

Linux’ta disk doğrudan blok aygıtı olarak verilebilir; dosya sistemi veya LVM katmanıyla uğraşmak gerekmez:

export PBS_PASSWORD='<TOKEN-SECRET>'
export PBS_FINGERPRINT='<PBS-PARMAK-IZI>'
export PBS_REPOSITORY='<token-id>@pbs!<token-name>@pbs.example.local:8007:<datastore>'

proxmox-backup-client backup rootdisk.img:/dev/sda --backup-id linux-mig

Restore ve VM kurulumu Windows’a göre daha kısa; disk doğrudan SCSI olarak import edilebilir:

proxmox-backup-client snapshots host/linux-mig
proxmox-backup-client restore host/linux-mig/<SNAPSHOT> rootdisk.img.fidx /root/<vmid>.raw

qm create <vmid> --name linux-mig --ostype l26 \
  --machine q35 --bios ovmf \
  --efidisk0 <storage>:1,efitype=4m,pre-enrolled-keys=1 \
  --scsihw virtio-scsi-single \
  --net0 virtio,bridge=vmbr0,firewall=1,tag=<vlan>

qm disk import <vmid> /root/<vmid>.raw <storage> --target-disk scsi0
qm set <vmid> --scsi0 <storage>:vm-<vmid>-disk-0,iothread=1,discard=on
qm set <vmid> --boot order=scsi0
qm start <vmid>

Son fark için Windows’taki akış aynen uygulanır: kaynakta aktarım tekrar çalıştırılır, VM kapatılır, RAW imaj yeniden import edilir.

Planlama ve geri dönüş

  • Ağ ve donanım eşleşmesi: Hedefteki bridge, VLAN ve firewall ayarları kaynak ağ ile eşleşmeli; UEFI/TPM ve makine tipi (q35) işletim sisteminin beklediği değerlerle verilmelidir.
  • Kesinti penceresi: İlk kopya çalışırken alınır; kesinti sanal makinenin bir kez açılıp sürücülerin kurulması ve son farkın aktarılmasıyla sınırlı tutulur.
  • Geri dönüş: Disk tipi değişikliği tek komutla geri alınır (--sata0 / --delete scsi0). Kaynak makine, hedef VM doğrulanana kadar kapatılmaz.
  • Sürücüler: Windows’ta win-guest-tools, Linux’ta qemu-guest-agent kurulumu tamamlandıktan sonra balonlama, yedekleme ve kapatma komutları güvenilir çalışır.
  • Erişim: PBS tarafında parmak izi ve token ile kimlik doğrulama kullanılır; token yalnızca ilgili datastore’a yazma yetkisiyle sınırlandırılır.

Sıkça sorulan sorular

VMware’den Proxmox’a göç için kaynak hipervizöre erişim şart mı?

Şart değil. Taşıma disk seviyesinde yapılır; kaynak tarafta yalnızca diski okuyabilen bir erişim (işletim sistemi veya canlı ortam) yeterlidir. Proxmox Backup Client diski doğrudan okur ve PBS’e gönderir, bu nedenle ESXi yönetim arayüzüne ya da hazır VMDK dışa aktarımına ihtiyaç kalmaz.

Nutanix AHV üzerindeki bir VM Proxmox’a nasıl taşınır?

AHV tarafında diski dosya olarak dışa aktarmak çoğu zaman mümkün olmadığı için aynı yöntem kullanılır: çalışan işletim sistemi içinde disk PBS’e aktarılır, kayıt RAW imaja dönüştürülür ve Proxmox VE’de oluşturulan VM’e import edilir.

Fiziksel sunucudan Proxmox VM’ine dönüşüm nasıl yapılır?

Fiziksel makinede diskler Proxmox Backup Client ile PBS’e alınır (Windows’ta fiziksel disk aygıtı, Linux’ta /dev/sda gibi blok aygıtı olarak). Hedefte oluşturulan VM’e RAW imaj import edilir, diskler VirtIO’ya çevrilir ve makine Proxmox VE üzerinde çalışmaya devam eder.

Windows VM neden önce SATA ile açılıyor?

Windows kurulumunda VirtIO sürücüleri hazır olmadığı için SCSI disk sistem açılışında görünmez. İlk açılış SATA ile yapılır, VirtIO sürücüleri ve QEMU Guest Agent kurulur, ardından disk SCSI’ye taşınıp SATA kaldırılır. Sorun çıkarsa tek komutla SATA’ya geri dönülür.

Kesinti penceresi ne kadar sürüyor?

İlk kopya makine çalışırken alındığı için kesinti, son farkın aktarılması ve VM’in doğrulanmasıyla sınırlıdır. Süre, disk boyutundan çok senkron edilecek değişim miktarına bağlıdır.

Özgür yazılıma göç nedir?

Kurumun sanallaştırma, işletim sistemi ve uygulama katmanlarını lisans ve destek bağımlılığı olmayan açık kaynak bileşenlere taşımasıdır. Mono bu kapsamda VMware ve Nutanix gibi kapalı platformlardan Proxmox VE, Ceph ve PostgreSQL gibi açık kaynak yığınına geçiş planını ve uygulamasını birlikte yürütür.

Mono ile göç

Kapalı hipervizörden çıkışı Özgür yazılıma göç danışmanlığı kapsamında planlıyoruz: envanter çıkarma, hedef mimari, kesinti planı ve geri dönüş senaryosu. Taşıma ve işletim tarafı Linux sistem yönetimi ile, üreticiden bağımsız platform seçimi Üretici bağımsız teknoloji dönüşümü ile birlikte yürütülür.

sanallaştırmagöçoperasyon