vSphere DRS Kullanımı

Bir vSphere ortamı yönetiyorsanız VM’lerinizin yarattığı yüklerin homojen bir şekilde fiziksel sunucular arasında dağılmasını isteriz. Tabii ki bu dağıtımı manüel olarak yapmamız hem bizim için zor olacak hem de istediğimizi homojenliği tam olarak yakalayamayabiliriz.

Bu özellikleri kullanabilmeniz için bazı ön şartlar vardır. DRS vs sDRS kapsamında ki tüm fiziksel sunucuların aynı cluster içerisinde olması, aynı network/storage network ayarlarına sahip olması ve aynı datastore’lara erişebilmelidirler.  Bu saydıklarıma ek olarak sunucular ve datastore’lar arasında ki taşınma vMotion ve Storage vMotion ile olacağı için bu özellikleri de kullanabiliyor olmamız gerekmektedir. Son olarak en az vSphere Enterprise veya üstü bir lisansa ihtiyacımız var. Bu yazımda DRS üzerinde duracağım bir sonra ki yazımda da sDRS ve son olarak da  bunları vCO ve PowerCLI ile nasıl kontrol edebileceğimizi tartışacağız.

Peki, bu homojen yapıyı nasıl oluşturuyor?

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.

DRS Recommend

Ö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.

DRS

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.

vSphere DRS Level

 

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.

Küçük bir not:

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.

DRS Group

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.

AyrıDRS

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.

RuleVM

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

 

Share on LinkedInTweet about this on TwitterShare on FacebookShare on StumbleUponDigg this

Bu blog yazısı Emre Bozlak tarafından paylaşılmıştır. Referans vererek istediğiniz gibi kullanabilirsiniz. Eğer bir sorunuz olursa eposta veya sosyal medya hesaplarım üzerinden bana ulaşabilirsiniz. Yazılarımı Twitter'dan @emrebozlak veya RSS üzerinden takip edebilirsiniz.

One Trackback

  1. […] bir host üzerinde sürekli memory ihtiyacı varsa DRS/vMotion gibi bir yöntemle başka hostlara yükü […]

Leave a comment