vMotion CPU Uyumsuzluğu: EVC Baseline Nasıl Kontrol Edilir?

vMotion CPU Uyumsuzluğu: EVC Baseline Nasıl Kontrol Edilir?

İki ESXi host aynı vCenter altında duruyor, ağ erişimleri sağlıklı ve datastore iki taraftan da görülebiliyor. Buna rağmen bir sanal makinenin canlı taşınması sırasında "The target host does not support the virtual machine's current hardware requirements" hatası çıkabiliyor. Böyle bir durumda sorun her zaman vMotion VMkernel ağı değildir. Bazen hedef sunucunun işlemcisi, sanal makinenin çalışırken kullanmaya başladığı CPU özelliklerini sunamıyordur.

Bu senaryoyu vCenter ve ESXi 8.x üzerinden ele alalım. Özellikle farklı nesil Intel sunucuları aynı cluster'a eklediğinizde EVC (Enhanced vMotion Compatibility) ayarı, yeni hosta geçişten çok eski hosta dönüşte önemli hale gelir.

Önce hata mesajını doğru ayırın

vSphere Client üzerinden VM'yi seçip Migrate > Change compute resource only akışını başlatın. Hedef host seçildiğinde Compatibility bölümündeki tam hatayı not edin. CPU instruction set veya EVC ile ilgili bir mesaj alıyorsanız önceliği CPU uyumluluğuna verin. VMkernel bağlantısı, port group ya da depolama erişimi hatası görüyorsanız bu yazıdaki CPU adımları sorunu çözmeyecektir.

Kaynak ve hedef ESXi hostların işlemci üreticisini, neslini, mevcut microcode ve firmware seviyelerini karşılaştırın. Intel ile AMD arasında canlı vMotion yapılabileceğini varsaymayın; EVC bu iki üretici arasında CPU mimarisi dönüşümü sağlamaz. Aynı üreticinin farklı nesilleri arasında ise ortak bir CPU özellik tabanı belirlenebilir.

Cluster EVC neyi değiştirir?

Cluster EVC etkinleştirildiğinde vSphere, VM'lere cluster'daki hostların tamamının destekleyeceği ortak bir CPU özellik kümesi sunmayı hedefler. Bunun için en yeni işlemcinin özellikleri yerine uyumluluk açısından seçilmiş bir EVC baseline kullanılır. Başka bir ifadeyle EVC, fiziksel CPU'yu değiştirmez; konuk işletim sisteminin gördüğü CPU özelliklerini sınırlar.

Örneğin yeni nesil Intel hosta taşınmış, sanal makinenin açılışta daha yeni CPU özelliklerini gördüğü bir ortam düşünün. VM'yi tekrar eski hosta taşırken hedef CPU bu özellikleri karşılamıyorsa işlem başarısız olur. Sırf cluster'da EVC ayarını değiştirmek, çalışmakta olan VM'nin daha önce gördüğü özellikleri her zaman geri almaz. Daha düşük EVC seviyesine geçiş için bakım penceresinde tam kapatıp yeniden açma gerekebilir. Konuk işletim sisteminde yalnızca restart seçeneğinin bu işlemle eşdeğer olduğunu varsaymayın.

Per-VM EVC kontrolü nasıl yapılır?

Cluster seviyesinde aynı tabanı uygulamak uygun değilse, vSphere 8'de sanal makine bazlı EVC seçeneği de bulunur. vSphere Client'ta ilgili VM'yi açın ve Configure > VMware EVC bölümünü kontrol edin. Bazı 8.x arayüzlerinde ayara Edit Settings içindeki VM Options üzerinden de ulaşılabilir. Görülen CPU mode'unu ve hedef hostun desteklediği en yüksek EVC seviyesini karşılaştırın.

Daha düşük bir baseline'a geçilecekse önce uygulama sahibinden kesinti onayı alın, VM'nin sağlıklı yedeğini ve geri dönüş planını doğrulayın. Ardından VM'yi Power Off durumuna getirip uyumlu EVC düzeyini uygulayın; yeniden açtıktan sonra gözüken EVC CPU Mode değerini kontrol edin. Bu işlem yalnızca vMotion sırasında karşılaştığınız belirli CPU feature mismatch sorununu çözmek içindir; gelişigüzel en eski seviyeyi seçmek bazı modern işlemci özelliklerini konuk sistemden gizleyebilir.

Per-VM EVC ayarının cluster EVC ile ilişkisini de düşünün: VM için belirlenen mod, içinde çalışacağı cluster'ın ve taşınacağı bütün hedeflerin CPU özellikleriyle uyumlu olmalıdır. Sunucuların marka, model ve firmware farklılıkları nedeniyle her ortamda tek bir 'doğru' EVC seviyesi yoktur.

İki host arasında taşımadan önce kısa test

  • vCenter içindeki kaynak ve hedef hostun CPU üreticisi / nesli bilgisini kaydedin.
  • Cluster ve VM için mevcut EVC CPU Mode değerini not edin.
  • Hedef host seçildiğinde Compatibility kontrolünün verdiği tam CPU hata mesajını okuyun.
  • Önce kesintisiz çözüm mümkün mü değerlendirin; baseline düşürme gerekiyorsa bakım ve kapat-aç planı hazırlayın.
  • Ağ ve datastore gereksinimlerini ayrıca doğrulayın; EVC etkin olması bütün vMotion ön koşullarını ortadan kaldırmaz.
  • Değişiklikten sonra önce tek bir test VM ile taşıma yapın, ardından uygulama sahibine fonksiyonel kontrol yaptırın.

Cluster'da çok sayıda VM varsa tek tek ayar değiştirerek deneme-yanılma yapmak yerine, mevcut CPU nesillerini ve hedeflenen donanım yenileme takvimini tabloya dökmek daha güvenlidir. Bazı VM'ler yeni CPU instruction set'lerine bağımlı olabilir; bazılarında ise donanım geçişini kolaylaştırmak için daha eski ortak baseline tercih edilebilir. EVC kararını bu farkı görerek verin.

Üretici kaynakları

  • Broadcom KB 313545 — VMware EVC and CPU Compatibility FAQ: https://knowledge.broadcom.com/external/article/313545/vmware-evc-and-cpu-compatibility-faq.html
  • Broadcom KB 446114 — How to Configure Per-VM EVC in vSphere 8.0: https://knowledge.broadcom.com/external/article/446114/how-to-configure-pervm-enhanced-vmotion.html
  • Broadcom KB 390403 — vMotion failed due to EVC settings: https://knowledge.broadcom.com/external/article/390403/vmotion-failed-due-to-evc-settings.html