VMware'den Proxmox VE'ye Sunucu Taşımanın En Kolay Yolu

VMware sanallaştırma ürünlerinden open-source sanallaştırma ürünlerine doğru göç birkaç yıl öncesine göre daha az uğraş ve emek gerektiren bir iş olsa da, tümüyle de pürüzsüz değil.
Göç süreci hala bir miktar dikkat ve emek gerektiriyor.

Bu dokümanda bu tür göçlerde dikkat edilmesi gereken temel nüanslardan ve adımlardan bahsedeceğiz.

Bu dokümanda örnek olarak bir adet Windows Server 2022 ve bir adet Ubuntu 22 işletim sistemli sanal sunucunun, VMware ESXi 8.0.3 ürünü üzerinden Proxmox VE 8.3.5 ürününe aktarımını gerçekleştireceğiz.

VMware ESXi ortamı:

Proxmox VE ortamı:


Proxmox VE’ın VMware ESXi üzerinden sanal sunucuların göçünü mümkün olduğunca kolaylaştırmak için sağlamakta olduğu bir servisi bulunuyor. Bu servisi kullanarak, VMware ESXi ürününü Proxmox VE’a bir storage olarak tanımlamamız gerekiyor:

İlgili tanımın gerçekleştirilmesinin ardından, ESXi ortamında bulunan sanal sunucular, Proxmox VE’a yeni tanımlanmış olan bu storage üzerinde listelenebilir olacak.

Göçü gerçekleştirilecek sanal sunucularda çoğunlukla VMware Guest Tools ya da open-vm-tools yüklüdür. Bu yazılımların göç öncesi kaldırılması tavsiye edilir. Bu uygulamaların kaldırılmadan göçün gerçekleştirilmesi durumunda, Windows işletim sistemlerinde aşağıda ekran görüntüsündeki gibi bir hata mesajı ile karşılaşmak söz konusu olacaktır.

Uygulamaların kaldırılması:


Göçü gerçekleştirilecek sanal sunucuların kapalı olması tavsiye edilir.
Bu dokümandaki örneklerimizde sanal sunucular power-off durumunda aktarılacaktır.

Göç için gerekli adımlar aşağıdaki ekran görüntüleri ile aktarılmıştır:

1. Göçü gerçekleştirilmek istenen sanal sunucu seçilerek Import butona tıklanır.

2. Gerekli kaynak tanımlamaları ve yapılandırmalar belirlenir.

3. İlk adımda aktarılan bilgi doğrultusunda, ilgili desteği bulunmadığı için EFI disk ve CD/DVD sürücülerindeki seçimler kaldırılmalıdır.

4.İşlem öncesi özet bilgisi incelenerek aktarım işlemi başlatılır.

5. Sanal sunucuya ait disklerin aktarımının tamamlanması beklenir.

6. Windows’un ihtiyaç duyacağı EFI disk oluşturulur ve VirtIO driver’larını içeren ISO dosyası mount edilir.
VirtIO Driver’larını içeren güncel ISO dağıtımına ulaşmak için:
https://fedorapeople.org/groups/virt/VirtIO-win/direct-downloads/archive-VirtIO/VirtIO-win-0.1.266-1/

7. Windows’un, yeni SCSi Controller ve CPU gibi sanal sunucu bileşenlerini tanıması ve yapılandırması için beklenir:

8. Boot sonrası sunucuya erişim sağlanır ve VirtIO sürücüleri ve VirtIO Guest Tools kurulumu yapılır.

9. NIC için gerekli IP konfigürasyonu yapılır.

10. Aynı adımlar Ubuntu 22 için de uygulanabilir.

11. Ubuntu için NIC ismi değişmesi kaynaklı gerekli netplan konfigurasyonu yapılır:

12. qemu-guest-agent kurulumu yapılır:


Notlar:

  1. VMware ESXi üzerinde çalışmakta olan sanal sunucuların kullanmakta olduğu CPU, SCSi Controller gibi bileşenleri Proxmox VE’a göç sonrasında değişeceğinden, kullanımı için ücretli lisans gerektiren Logo / Mikro gibi muhasebe yazılımlarının çalıştığı sunucularda göç sonrası lisans ile ilgili güncelleme yapılması gerekecektir.

  2. Örnek Windows göçü senaryosunda, SCSI Controller tipi “VirtIO SCSI single”, Hard Disk Bus/Device tipi SATA olarak belirlenmiştir; ancak bu best-practice değildir.
    Proxmox VE üzerinde sanal sunucu olarak bir Windows işletim sistemi çalıştırılacak ise, SCSI Controller ve Hard Diskin bağlantı biçimi performansa olumlu ya da olumsuz katkıları olabilir.

  3. TTEN olarak, CEPH storage ile yaptığımız IO testlerinde en iyi performansı aşağıdaki konfigürasyonlar ile edindik.
    a. Windows VM
    Controller: VirtIO SCSI Single
    Bus Type: VirtIO Block
    IO thread:  Aktif
    Async IO: threads
    Cache: Write back

    b. Linux VM
    Controller: VirtIO SCSI Single
    Bus Type: SCSi
    IO thread:  Aktif
    Async IO: io_uring
    SSD emulation: Aktif
    Cache: Write back

  4. Guest (sanal sunucu) performansı, altyapı (network, storage, CPU) değişkenlerine bağlı olarak farklılıklar gösterecektir. En iyi performansı belirleyebilmek için kati ve tek bir doğru yoktur.

  5. Aktarımı gerçekleştirilen Windows sanal sunucularda Controller, Bus Type ya da Machine type değiştirmek, sunucunun boot olmasını engelleyebilir. Aktarım sonrasında farklı tipler belirlenmesi ve en iyi performansın yakalanması için yapılacak değişiklikler için gerekli sürücülerin yüklenebilmesi için “Windows Preinstallation Environment (WinPE)” üzerinden DISM komutları ile gerekli driverlar Windows’a enjekte edilebilir:

    Örnek:

drvload 2022\ethernet\netkvm.inf
dism /image:D:\ /add-driver /driver:2022\ethernet\netkvm.inf

drvload 2022\vioscsi\vioscsi.inf
dism /image:D:\ /add-driver /driver:2022\vioscsi\vioscsi.inf

drvload 2022\viostor\viostor.inf
dism /image:D:\ /add-driver /driver:2022\viostor\viostor.inf