vSphere DRS Kullanımı - EMRE BOZLAK | EMRE BOZLAK
DRS’in iki farklı fonksiyonu vardır ilki bir VM’i çalışır duruma getirdiğinizde(power on) size sunucu için en ideal yeri önermektedir. Bu öneriyi kabul edebilir veya ret edebilirsiniz.
Öbürüyse çalışan VM’lerin, fiziksel sunucular arasında mümkün olduğunca iyi bir şekilde dağıtılmasıdır. DRS servisi(ve sDRS) sürekli VM’lerin cpu,memory ve IOPS(sadece sDRS) değerlerini takip ederek belli sürelerle VM’leri uygun yerlere vMotion/storage vMotion ile taşırlar.
DRS’i aktive etmek için:
vSphere Client ile vCenter’e login olalım.
Cluster’ımızın üzerine gelip sağ tık ile “Edit Settings’e” girelim
“Cluster Features’a” gelip “Turn On vSphere DRS” kutusunun seçili duruma getirelim.
Artık DRS aktive edilmiştir ama ihtiyaçlarımız ve yapımıza göre DRS’in yapılandırmamız geremektedir. Solda ki menüden “vSphere DRS’e” tıklayalım. Burada 3 adet seçenek var.
Manual: vCenter otomatik olarak taşıma yapmak yerine size sadece öneride bulunur.
Partial automated: VM’i başlattığınız zaman(power on) size bir öneride bulunmayacak uygun gördüğü bir host üzerinde çalıştıracaktır ama çalışır durumda ki VM’ler için size önerilerde bulunacak.
Fully Automated: Buradaysa kontrol tamamen vCenter’dadır. Hem VM’i ilk başlattığımız anda hem de VM çalışır durumdayken vCenter otomatik olarak gerekli taşımaları yapacaktır.
Hemen bunların altında “Migration threshold” ibaresi dikkatinizi çekecektir. DRS size öneride bulunurken mevcut kaynak durumu ve VM’in ihtiyaçları doğrultusunda önerilerini derecelendirir. Priority 1 en yüksek öncelikken Priority 5 en düşük önceliktir. Siz threshold’u “conservative” tarafına doğru kaydırırsanız daha yüksek öncelikli ihtiyaçlar DRS kapsamında otomatik taşınacak(Fully Automated) veya size önerilecekken(Partial,Manual) “Aggressive” kısmına kaydırdıkça daha düşük öncelikli ihtiyaçlarda bu kapsama alınacaktır. Burada tekrar belirtmek isterim “Automation Level” DRS kurallarının nasıl çalışacağını belirtirken “Migration Threshold” DRS’in ihtiyaçlara ne kadar duyarlı olduğunu belirlemek içindir.
Hemen bir altında bulunan “DRS Group Manager” ve “Rules” kısımları aslında bir birini destekleyen iki olgudur. DRS’i kullanırken bazı VM’lerin mutlaka aynı fiziksel sunucu üzerinde olmasını veya tam tersine farklı fiziksel sunucular üzerinde olmasını isteyebilirsiniz. Mesela bir uygulama ve ona bağlı veri tabanını mümkün olduğunca aynı yerde tutmak isterken bir cluster yapısının node’larını farklı yerlerde tutmak istemeniz doğaldır. Bu yapılara Affinity ve anti-affinity rules denir. Tabii bir de dongle ile lisanslama modelleriniz varsa bir VM’in dongle’ın takıldığı sunucu üzerinden bir yere gitmesini istemezsiniz, bunun içinde kullanılabilir.
Cluster içerisinde birden fazla DRS group oluşturabilirsiniz
Bir VM birden fazla DRS group içerisinde olabilir.
DRS Groups Manager’a girelim ve “Virtual Machines DRS Groups” kısmın altında bulunan “Add” tuşuna basalım.
Sol tarafta aynı grup içerisinde olmasını istediğimiz VM’leri seçip sağ tarafa geçirelim ve isim verip çıkalım, aynı şekilde “Host DRS Groups” kısmından bu kurallar tarafından etkilenmesini istediğimiz fiziksel sunucuları da seçelim. Aslında ikinci kısım sadece bir veya birkaç VM’in migrate edebileceği hostları sınırlandırmak istiyorsak kullanılmalıdır. Burada gruptan kaset ettiğimiz şey aynı kuraldan etkilenecek VM veya hostlardır.
Grup’u oluşturduğumuza göre artık Rule kısmına gelip bir isim verelim ve Type seçelim. Üç tip kural vardır. Bunlar daha önce de konuştuğumuz gibi:
Separate Virtual Machines: Bu kuralın uygulandığı VM’ler aynı fiziksel sunucuda yan yana gelemiyorlar, failover cluster sunucuları buna güzel bir örnektir.
Keep Virtual Machines: Bu kuralın uygulandığı VM’ler aynı fiziksel sunucu üzerinde çalıştırılıyorlar.
Virtual Machines to Hosts: VM’lerin hangi fiziksel sunucuları kullanabileceği veya kullanamayacağını belirtir.
Son maddeyi biraz daha açmak istiyorum. Eğer “Virtual Machines to Hosts” seçeneğini seçerseniz altta bir panel açılacak ve ek seçenekler gözükecektir. Bu maddeler “Cluster VM Group” daha önce oluşturduğumuz VM grubu, “Cluster Host Group” aynı şekilde yaratmış olduğumuz host grubu ve bu ikisi arasında ki ilişkiyi belirleyecek şart seçeceği. Bu şartlar sırayla:
Must run on hosts in group: İlgili vm’ler mutlaka bu hostlar üzerinde çalışmalıdır
Should run on hosts in group: İlgili vm’ler mümkün oldukça bu hostlar üzerinde çalışmalıdır
Must not run on hosts in group: İlgili vm’ler mutlaka bu hostlar üzerinde çalışmamalıdır
Should not run on hosts in group: İlglii vm’ler mümkün oldukça bu hostlar üzerinde çalışmamalıdır
Mesela bir VM’in lisans sebebiyle mutlaka belli bir host üzerinde olmasını istiyorsak “Must run on hosts in group” seçeneğini seçeriz veya backup network’ü olmayan host’lara veri tabanı sunucularının gitmemesini sağlamak için “Should not run on hosts in group” seçilmelidir.
Son bir nokta daha var. Eğer bir şekilde bir VM’i DRS kuralının dışında bırakmak istiyorsanız veya cluster’ın genel kuralından farklı bir kuralla çalışmasını istiyorsanız. “Virtual Machine Options” kısmından değiştirmeniz gereklidir.
DRS hakkında birkaç öneride bulunarak yazımı sonlandıracağım.
Öncelikle VM’lerinizin yükleri çok değişkense ve ön göremiyorsanız fully automated veya threshold’un çok agresif bir değer olmasını önermiyorum.
Mümkün olduğu kadar az ve gerektikçe affinity ve anti-affinity kuralı yazmaya çalışın bu DRS’in daha esnek çalışmasına olanak verecek ve size daha doğru önerilerde bulunacaktır.
Tüm hostlarınızın aynı network yapısına sahip olduğundan emin olun
Tecrübeyle sabittir ki DRS maalesef %90 ve üzeri kaynak kullanan ESXI hostlarında istenen sonuçları her zaman veremeyebiliyor
Hem HA için hem de DRS için en az bir tane boş host bırakmaya çalışın
September 27th, 2014 at 12:35pm
Affinity, DRS, esxi, Performans
By ESXI Memory Yönetimi ve Teknikleri - EMRE BOZLAK | EMRE BOZLAK on 19 Kasım 2014 at 11:23
[…] bir host üzerinde sürekli memory ihtiyacı varsa DRS/vMotion gibi bir yöntemle başka hostlara yükü […]