VMware vMotion Nedir?
vMotion, VMware cluster’daki sanal makinelerin çalışır durumdayken ESXi host’lar arasında kesintisiz bir şekilde taşınmasını sağlayan teknolojidir. BT süreçlerinde, iş sürekliliği son derece önemli bir yere sahip durumda. Bu kapsamda bazen iyileştirme revizyonları ve beklenmeyen durumlarda fiziksel kaynakların erişimleri kesilir. Bahsettiğimiz bu durumda iş sürekliliğinde sorunlar meydana gelebilmektedir. Bu tip durumlarda maksimum donanım kullanımı, esneklik ve kullanabilirlik bakımından VMware’in vMotion servisi ile sanal sunucuları fiziksel bir hosttan, başka bir hosta kesintisiz bir şekilde taşımamızı sağlamakta.
Çalışma Mantığı
Temel olarak vMotion’ın çalışma prensibi oldukça basit diyebiliriz. İlk olarak taşınacak olan sanal kaynağın Fiber Channel, ISCSI, Storage Area gibi paylaşılan alanları kontrol ederek, cluster’da bulunan tüm fiziksel hostların VMFS dosyalarına aynı anda erişip, erişemediğini test eder.
İlk aşama olumlu olarak sonuçlandıysa, sanal kaynağın kullandığı aktif bellek kontrolü yaparak taşıma öncesinde bir kontrol listesi yapmış olur. İki aşamada da bir sorun olmaması durumunda fiziksel hostlar arasında geçiş için her şey hazır diyebiliriz.
vMotion yapılabilmesi için yapıda tabii bir vSphere olması gerekmektedir. Bunun dışında ortamda bir vCenter ve Cluster mimarisi de gerekmektedir. Bu yapıda tabii ki en az iki adet fiziksel hostta gerekiyor. Bu iki hostunda sanal makinelerin bulunduğu datastore’ları görmesi gerekmektedir. Bunun yanı sıra erişmesi de önemli bir noktadır. vMotion sadece FC, ISCSI ve NFS datastore’larda desteklenmektedir.
Temel Gereksinimler
VMKernel Network
vMotion için hostlar arasında en az 1 Gbps bir bağlantı gerekmekte. Tabii yapınızda bu hızdan çok yüksek bir bağlantı varsa performans olarak artı değer katar.
Virtual Machine Network
vMotion yapılan hostlar üzerindeki network yapılandırmaları aynı olmalıdır. Eğer yapıda distributed switch var ise hostların bu switch’e bağlanmaları yeterlidir.
Yapıda distributed switch yok ise host üzerindeki tüm tanımlar aynı olmalıdır. VMotion’da port gruplar isimlerle eşleştirildiği için büyük-küçük harf ve noktalamaya kadar aynı olmalıdır.
Shared Storage
Sanal kaynakların barındığı datastorelar tüm hostlar tarafından erişilebilir olması oldukça önemli bir konu. Tüm hostlar, ilgili datastore’da aynı yetkiye sahip olmalı. Yani bir host ilgili datastore’da Read-Only iken, diğeri Read-Write yetkisinde olursa vMotion taşımayı gerçekleştirmeyecektir.
CPU Uyumluluğu
Son konu ise işlemci uyumluluğu. Eğer siz yapınızdaki sanal kaynakları canlı iken, yani çalışır iken taşımak istiyorsanız ilgili hostların işlemcileri aynı modelde olması gerekmektedir. Fakat siz taşımayı, sanal kaynağı power off duruma getirip yapacaksanız CPU uyumluluğuna dikkat edilmiyor.
Burada bir istisna olarak bazı farklı modeldeki işlemciler arasında vMotion yapılabilmekte. Bunun için vMotion’da bulunan EVC modunun aktif hale getirilmesi gerekli.
EVC Nedir?
İlk olarak bahsetmek gerekirse, vMotion EVC modu sayesinde sanallaştırma katmanında hostlar arasındaki belirli bir CPUID komut setini zorlayarak vMotion işlevine izin verir. Böylece CPU modeline bakılmaksızın sanal makineye tek bir işlemci veya komut seti sunulur.
Ayrıca EVC modu ile CPU komut seti maskelenerek her host, farklı temel CPU mimarisini içerebilen tüm vSphere Cluster’da aynı şekilde görünür. VMware EVC, vSphere 6.7’den itibaren cluster veya sanal makine düzeyinde etkinleştirebilirsiniz.
VMware’ın fiziksel CPU’ları soyutlayarak araya bir katmanı enjekte eder. Bundan dolayı cluster’daki tüm sanal kaynaklar, cluster’da çalışan sanal makinelere kullanıcı tarafından seçilen bir işlemci türünün özelliklerini sunmuş olur. Başka bir deyişle bu, hostlar arasında yapılacak olan vMotion’lar için uyumluluk seviyesini artıracak bir özelliktir.
Günümüzde yazılımlar işlemcilerin birçok özelliklerini direk kullanır. Fiziksel hostlar arasındaki canlı transferlerde işlemci farklılıklarından dolayı da kararsızlığa düşerek performans sorunları yaratabilmektedir.
VMware EVC modunda en can alıcı nokta, ilgili özelliğin sonradan aktif edilmesi durumunda gerçekleşir. Eğer tüm sanal kaynaklarınızı kapatmadan açacak olursanız, sanal kaynaklar düzeyinde bir EVC yapacağınızı unutmamak gerekir. Bununla birlikte sisteminizde cluster düzeyinde bir EVC modu isteyebilirsiniz. O halde ilgili hostta ki tüm sanal kaynaklarınızı kapatmanız gerektiğini de bilmekte fayda var.