Merhaba;

“Oracle Ravello Bulut Servis” ile ilgili aşağıdaki yazılarımı sizlerle paylaşmıştım.
https://asiyeyigit.com/oracle-ravello-cloud/
https://asiyeyigit.com/oracle-ravello-cloud-service/
Bugün sizlerle “Oracle Ravello Bulut Servis”inin teknolojik altyapısını konuşacağız.

Hibrit bulut ortamları hayatımızın bir gerçeği haline geldi. Hibrit bulut ortamları sayesinde, işletmeler kendi veri merkezlerini ortalama bir yükü kaldıracak şekilde yapılandırabilmekte ve spesifik bazı durumlar için ek kaynak ihtiyaçları olduğunda bulut ortamından ihtiyaç duydukları kaynakları kiralayabilmekteler. İşletmelerin ihtiyaç duyduğu, çoklu-VM ortamlarını olduğu şekliyle herhangi bir bulut ortamında, herhangi bir değişime ihtiyaç kalmadan çalıştırabilmeleridir. Yani, mevcut VM’lerini, network ve depolama konfigürasyonlarını, aynı proseslerini, aynı araçlarını herhanig bir bulut ortamında kullanabilmeleridir. Dolayısıyla bir altyapı, bulut ortamında çalışabilmeli ve veri merkezinde mevcut hesaplama, network ve depolama servislerini olduğu şekliyle çoklu VM-uygulalamalarına bulut ortamında da sunabilmelidir.

Bu ihtiyacı karşılayabilmek için, Ravello, HVX olarak isimlendirilen dağıtık hipervizör altyapısını kullanır. HVX, işletmelerin çoklu-VM uygulamalarını tamamiyle enkapsüle ederek herhangi bir bulut ortamında (Oracle Cloud, AWS, Google) çalıştırabilir. Önceki yazılarımda da detaylı anlattığım gibi, HVX bu işlemleri yapabilmek için üç bileşen ve bir yönetim katmanından oluşur. Bu üç bileşeni tekrar hatırlayacak olursak; “high-performance nested virtualization engine (or nested hypervisor)”, “software-defined network” ve “storage overlay”. Bu yazımda özellikle “high-performance nested virtualization engine” üzerinde durmak istiyorum.

HVX’in en önemli bileşeni, “Virtual Machine Manager” veya “high-performance nested hypervisor” olarak isimlendirilen yapıdır. “guest”leri değiştirmeden, zaten sanallaştırılmış donanım üzerinde çalıştırma yeteneğine sahiptir. Vmware ESX, KVM, Xen gibi geleneksel hipervizör teknolojileri fiziksel x86 sistemler üzerinde çalışacak şekilde dizayn edilmiştir. Bu teknolojiler, donanımı sanallaştırmak için Intel VT and AMD SVM’in sunduğu modern CPU’ların sanallaştırma eklentilerini (“virtualization extensions”) kullanır. Diğer taraftan, HVX, “nested” hipervizördür. Yani, sanal bir makine üzerinde çalışır. Hipervizörün kullanabildiği hardware sanallaştırma eklentilerini kullanabilir. Örneğin, Oracle bulut ortamında bu yeteneğe sahiptir. Donanım sanallaştırma eklentileri, kullanılabilir olmadığında HVX, yüksek performanslı sanallaştırma sağlayabilmek için “binary translation” dediğimiz teknolojiyi kullanır. Elbette, “binary translation” ile karşılaştırıldığında hardware sanallaştırma eklentilerini kullanabildiği durumda daha performanslı bir yapı sunar.

“HVX nested virtualization engine”, bulut üzerinde Vmware VM’leri çalıştırırken üç farklı yöntem sunar: “hardware assisted nested virtualization”, “direct on bare metal” ve “software assisted”.

“Hardware Assisted Nested Virtualization”: Oracle bulut alt-yapısı, sanallaştırma eklentilerini destekleyen yeni nesil donanımlar üzerinde çalışır. Bu eklentiler, çoklu VM’lerin güvenli ve etkin şekilde aynı donanımı paylaşmasına imkan sağlar. HVX, bulut donanımı üzezinde , “nested” sanallaştırmayı çalıştıracak şekilde donanım destekli CPU setlerini (“HW assist CPU instructions sets” kullanır. Genellikle, bulut sağlayıcılar, hardware destekli sanallaştırma eklentilerini gues VM’lere açmazlar. Bu durum, işletim sistemi “nested virtualization” şeklinde çalıştığında performansı etkiler. Buna rağmen, Oracle Ravello, Oracle bulut yapısında çalıştığında hardware destekli sanallaştırma eklentilerine tamamiyle erişim vardır. Bu sayede ciddi anlamda performans artışı sağlanır.

“Direct on Bare Metal”: Oracle bulut altyapısında, HVX, doğrudan bare metal sunucular üzerinde çalışabilir. Bu durumda orta katmandaki hipervizör’ü ortadan kaldırmış oluruz. Fiziksele yakın bir performans sağlar.

“Software Assisted Nested Virtualization”: AWS  ve GCP, “nested” sanallaştırma için hardware destekli sanallaştırma uzantılarını desteklemediği için veya “guest” VM’lere açmadığı için; HWX “binary translation” olarak isimlendirilen, yazalım tabanlı “nested” sanallaştırma teknolojisini kullanır. Bu tekneloji, pek çok iş yükleri için kabul edilebilir bir performans sağlar. “Binary translation” teknolojisiyle, guest işletim sisteminin sanki kendi donanımını kullanıyormuş gibi olması için HVX, ilgili talimatları güvenli eşleniklere çevirerek icra eder.

 

HVX, desteklenir ortamlarda hardware destekli sanallaştırmayı kullanabildiği için, 14 kata varan performans artışları görülebilmektedir. Hatta, doğrudan bare metal üzerinde eğer HVX, çalışırsa daha yüksek performanslara ulaşılabilir. Bu şekilde sağlanan performans artışları sayesinde, işletmeler üretim ortamındaki Vmware uygulamalarını Ravello ile birlikte Oracle Cloud üzerinde çalıştırabilirler. İşletmenin ihtiyaçları arttıkça, uygulama bulut üzerinde daha çok kaynağa ölçeklenebilir olmalıdır. Oracle bulut ortamında Ravello ile, işletmeler uygulamalarını, düşeyde VM  başına 32 vCPU’ya çıkarabilirler, yatayda binlerce VM’e ölçekleyebilirler.

HVX “nested” sanallaştırmanın ana fonksiyonu, intel mimariyi sanallaştırabilmesi ve guest VM’i değiştirmeden bulut ortamında çalıştırabilmesidir. Guest VM’in tüm kontrolü, HVX’de olduğu için HVX, beraberinde bazı ileri düzeyde özelliklerde sunar.

HVX, tüm network trafiğini takip etmemize imkan sağladığı için, software-defined-network oluşturabilmemizi sağlar. Aynı şekilde tüm depolama birimi erişimlerini takip etmemize olanak sağladığı için, “storage overlay” i olanaklı hale getirir.

HVX, bir bulut VM (Cloud VM) üzerinde çoklu VM’lerin çalışmasına olanak sağlar. Bu özellik bize konsolidasyon sağlar. Konsolidasyon bize daha yüksek kullanım (utilization”) sağlar. HVX, konsol erişimini sanallaştırmamızı sağlar. Her VM için, bir grafik konsol oluşturur.

Çekirdekten “nested” hipervizör fonksiyonuna ek olarak, HVX, sanal makineye Vmware veya KVM cihazlarını olduğu şekliyle gösterir. Bu sayede Oracle bulut altyapı üzerinde, Ravello üzerinde işletmeler, mevcut Vmware VM’leri değiştirmeden çalıştırabilir. VM ile ilgili herşey aynı kalır: aynı işletim sistemi, aynı paravirtualized sürücüler (VMXNet3 network driver, PVSCSI storage driver gibi), uygulama konfigürasyonları, network konfigürasyonlar, Vmware araçları gibi.

HVX, Vmware veya KVM VM’leri çalıştırabildiği gibi, HVX software içinde Intel VT ve AMD V’nin hardware sanallaştırma eklentilerini kullanabilir olduğu için, HVX, üst katmanda çalışan VM’e x86 donanımına yakın bir yapıyı sunabilir. Bu sayede işletmeler, Oracle bulut altyapısı üzerindeki Ravello’nun üstünde KVM ve ESXi hipervizörlerini de çalıştırabilir. Implementasyon açısından baktığımız zaman, HVX, “binary translation” teknolojisini o şekilde oluşturmuştur ki, “double-nested” yapısını algılar ve katmanın birini ortadan kaldırır. Bu sayede, guest doğrudan HVX üzerinde çalışır. Elbette sonucu olarak performans etkisi göreceli en aza indirgenir. HVX içerisinde “nested pages support” da yapılandırıldığı için, HVX üstünde çalışan hipervizör daha verimli çalışır.

Bu yazımda özellikle HVX nested hipervizörü üzerinde durdum. Bu yazı en son okunacak şekilde aşağıdaki sıra dahilinde kaynakları takip edebilirseniz eminim konu daha anlaşılır olacaktır. Herhangi bir sorunuz olursa support@gantek.com adresine mesaj iletebilirsiniz.

https://asiyeyigit.com/oracle-ravello-cloud/

https://asiyeyigit.com/oracle-ravello-cloud-service/

https://www.youtube.com/watch?v=dbLcOm9djtQ&t=9s

https://www.youtube.com/watch?v=iW-FqPmDnCA