Etiketler

, , , , , , , ,

Oracle üzerinde hepimizin çalışan kritik uygulamaları ve veritabanları bulunmaktadır. Vmware vSphere ile bu sunucuları sanallaştırdığımızda da aklımıza aşağıdaki iki soru takılmaktadır.

1-      Oracle çalıştıran sanal sunucuları nasıl lisanslayacağız?

2-      Oracle uygulamasında/veritabanında bir sorun olduğunda Oracle ‘dan destek alabilicek miyiz?

Yukarıda saydığım iki soru sanallaştırma projelerinde kesinlikle net olmayan ve her projede devamlı olarak karşımıza çıkan konulardır. Bu konuda yaptığım çalışma neticesinde elde ettiğim bilgileri sizlere de sunmak istedim.

Çoğunlukla Oracle veritabanlarımızı fiziksel CPU tabanlı olarak lisanslarız. Bu lisanslama modeli fiziksel ortamda gayet güzel işliyor. Çünkü lisans aldığınız sunucunun CPU kullanımını takip edebiliyorsunuz. Fakat bu lisanslama modeli sanal ortamda başımızı ağrıtıyor. Çünkü Vmware vSphere ESXI kurulu bir host ‘ta cpu ‘ların kullanımına hypervisor karar veriyor ve elindeki kaynağı sanal makinelere dağıtıyor. Oracle ise lisans açısından bunu desteklemiyor .

Bir başka konu, ortamınızda vCenter , birden fazla host ve cluster ‘ınız var. Cluster’a üye olan ESXI Host ‘lar arasında sanal makine birinden diğerine taşınabilir (vMotion). Bu durumda o cluster’a üye olan tüm hostların cpu’sunu kullanabilmeniz (aynı anda olmasa bile) mümkündür. Aynı zamanda siz makineyi başka bir host’a taşımasanız bile , Vmware vSPhere High Availability ve Distributed Resource Scheduler ile sanal makine diğer host’ların üzerine taşınabilir. Bunlar sanal ortamın esneklikleri , özellikleri ve bunları hepimiz kullanmak istiyoruz. Bu konuda Oracle tarafından yapılan lisanslamayı iyi bilmek ve Vmware bu durumda bize neler öneriyor onları incelemek ve lisans alımı konusunda karar vermek gerekiyor.

Oracle Soft ve Hard Partitioning nedir?

X86 tabanlı sistemlerde fiziksel bir cpu içerisinde size CPU core’lar (hyperthreading aktif edilmemiş) ve Cpu thread ‘ler ( hyperthreading aktif edilmiş) olarak sunulmaktadır.

Örneğin ; 1 Fiziksel Cpu = 2 Core (çekirdek)  * 2 Thread (Hyperthreading)

vCPU ise, sanal makinenin uygulamalarını çalıştırabilmesi için hypervisor tarafından kullanımına sunulmuş fiziksel CPU ‘nun core veya thread ‘leridir.

Total vCpu (Bir ESXI Host’ta) = Cpu Adedi (socket sayısı) *Core Sayısı*2 (Hyperthreading ile CPU sayısı ikiye katlanır.)

Şeklinde hesaplanır.

Oracle , bu aşamada hard partitioning ‘e göre lisanslama yaparken , CPU pinning yapılması ister. Yani sanal makine çalıştığı ESXI üzerinde sadece belli bir cpu bölümü (core) kullansın ve bu alan sadece bu makineye atansın ister, yani hypervisor’un yaptığı kaynak paylaşımı olayına lisanslama açısından sıcak bakmaz.  Kısacası hard partitioning eşittir, vCPU’nun fiziksel CPU thread’lerine yada core’larına atanmış olmasıdır(eşitlenmesi).  Aynı şekilde sanal sunucu başka bir ESXI host üzerine DRS , DPM ile vMotion kullanılarak geçtiğinde, CPU Pining (hard partitioning) değiştiği için bu özelliklerin kullanılmaması gerekir, kullanırsanız o ESXI Host’taki CPU’lar için de lisans parası ödemek zorunda kalırsınız.

Soft Partitioning ; Oracle çalıştıran işletim sisteminde kaynakların segmentlere ayrılmasıdır. Mesela işletim sistemi içerisinden Oracle üzerindeki uygulamalara CPU kaynaklarına erişimi limitleyebilir, uygulamalara CPU kaynağı ayırabilirsiniz. Bu işlem soft partitioning adıyla anılır. Ancak Vmware vSphere ile yapılan sanallaştırmada Oracle sanal sunucular için hard partitioning terimini daha çok duyarsınız.

Oracle kendi açısından lisanslama modelinde hard partitioning teknolojilerini kullanıyor.

Peki Vmware vSphere bize bu durumda neler sunuyor?

1-      Ayrı bir cluster kurulması.

Bunu bir çözüm yolu olarak düşünün. Sanal ortamınızı kurdunuz. vCenter üzerinden host’ları bağladınız ve cluster ‘lar oluşturdunuz. Bu durumda Oracle sunucularını sanal ortama taşımadan önce sadece bu sanal makineleri çalıştırıcak iki host’u ayırdınız ve vCenter üzerinde onlar için ayrı bir cluster açabilirsiniz. Bu sanal makineler sadece iki host üzerinde çalışacağı için sizde cpu bazlı lisans olarak Oracle ‘a bu cluster’ın üyesi iki ESXI host’un CPU’su (core,thread) kadar para ödersiniz.

Çünkü Oracle çalıştıran sanal makinelerinizi bu iki host üzerine aktardığınızda, bu cluster’da HA, DRS , DPM açın , sonuçta vMotion kullanılarak , bu sanal makineler sadece iki host arasında gezebilirler, başka bir host’a geçme şansları yok. Oracle ‘da gelip kontrol ettiğinde vCenter’dan vMotion loglarını alacak ve bu sanal makinelerin sadece bu host’larda çalıştığını görecek ve sizden bu iki host için lisans ücreti talep edecek.

2-      Aynı cluster içerisinde bazı host’ların ayrılması.

Aynı cluster içerisinde birden fazla host’unuz var ise, örneğin 8 host diyelim. Bu host’lardan iki tanesini Oracle sanal sunucularınız için ayırdığınızı düşünelim. Bu durumda Oracle çalıştıran sanal sunucuların diğer host’lar üzerine geçmemesi lazım, yoksa onlar için de lisans ücreti ödemek zorunda kalırsınız. Bunu engellemenin, yani aynı cluster içerisinde bazı sanal makinelerin sadece belirli host üzerinde çalışmasının sabitlemenin yolu , “DRS Host Affinity” kuralıdır.  Cluster özelliklerinden biri olan bu kuralı tanımlarsanız, Oracle çalıştıran sanal makineleriniz , sadece sizin seçtiğiniz host’lar üzerinde çalışır, diğer host’lar üzerine taşınamaz.

Oracle sunucularınızı sanallaştırmak sizin açınızdan yararlı bir iş olacaktır. Performance konusunda best practise ‘leri uygulayıp ve ortamınızı mümkün olduğu ölçüde iyi kurarsanız, hiç bir sıkıntı yaşamazsanız. Kaynak kullanımı konusunda aşağıdaki resime bir göz atalım :

Sol tarafta her biri Oracle çalıştıran , 2 Cpu ‘lu 8 tane ayrı server var. Sağ tarafta ise, sadece iki tane iki cpu’lu host var. CPU bazlı lisans aldığınızı düşünürseniz,

Sol taraf (Fiziksel ) için ;

8 server  x 2 cpu = 16 cpu lisansına ihtiyacınız var.

Sağ taraf (Sanal) için;

2 server x 2 cpu = 4 cpu lisansına ihtiyacınız var. Ayrıca sanal ortamın size sağladığı HA, DRS, vmotion, Storage vMotion gibi özelliklerde kullanabileceksiniz.

Bir diğer  açık nokta ise, destek konusudur. Aklınıza şu soru takılabilir. “Oracle çalıştıran bir Vmware vSphere sanal sunucusunda Oracle ile ilgili sorun yaşadığımda Oracle’dan desktek alabilir miyim?

Bu sorunu yanıtı “Evet”. Çünkü Oracle Vmware ‘den önce Oracle ‘ı çalıştıran işletim sistemi kendisi tarafından “Onaylı mı? , Değil mi?” ona bakar. Genelde bu işletim sistemi Windows olduğundan , sorunun Windows kaynaklı bilinen bir sorun olup olmadığını kontrol eder.  Ayrıca Vmware de zaten üzerinde çalıştırdığı işletim sistemlerine müdahale edip, birşeyleri değiştirmez.  Bu nedenle  Oracle’dan destek alabilirsiniz.

Kaynak :

http://www.vmware.com

http://www.oracle.com

http://vxpresss.blogspot.in