Etiketler

21 Mayıs 2017 Pazar

OpenStack Temel Bileşenleri


Merhabalar

Bundan önceki yazımda sizlere Openstack'ın ne olduğundan bahsetmiştim. Bu yazımda ise Openstack'ın  temel bileşenlerinden bahsedeceğim.



Openstack'de temel olarak 7 tane temel bileşen olduğunu söylemek mümkündür. Bunlar

  • Nova
  • Glance
  • Swift
  • Neutron
  • Cinder
  • Horizon ve 
  • Keystone olarak sıralamak mümkündür. 

Heat, Ceilometer, Trove ve Sahara gibi yardımcı bileşenlerde bulunmaktadır.

Nova (Compute Service)


  • Nova, OpenStack'ın hesaplama servisidir.
  • En temel işlevi yapan bileşendir.
  • OpenStack servislerinde yapılan işlemlerin yaşam döngülerinin hesaplanması, planlanması ve sonlandırılması işlemlerini düzenler.
  • Sanal makinelerin oluşturulmasını ve yönetilmesini sağlar.
  • KVM, XenServer, VMware ESXi ve Microsoft Hyper-V gibi birden fazla hipervizörü destekler.
  • Hipervizör ile doğrudan konuşur, kullanıcıdan gelen sanal makina isteklerini hipervizöre iletir.
  • Sanal makina için gerekli CPU, Memory, Disk ve Ağ tanımlamalarını gerçekleştirir.
  • Aynı zamanda LXC gibi konteynerları da destekler.


Glance (Image Service)


  • Glance, disk ve sunucu imajlarının kaydedilmesi ve yönetilmesinden sorumlu servistir.
  • Glance, imajları OpenStack Swift de dahil olmak üzere çeşitli backend'lere depolayabilir.
  • Depo ve sanal makinaların disk görüntülerini alır ve Nova servisinin bu bilgiyi yapılandırma sırasıdan kullanmasına olanak verir.
  • Sanal makina üzerinde disk (raw, vmdk, qcow2, vdi, vhd) ve sunucu imaj (iso, tar) yönetimini gerçekleştirir.
  • Canlı olarak sanal makina kopyası (snapshot) alınabilir, geriye yüklenebilir, klonlanabilir.
  • Arka planda OpenStack Cinder servisi kullanılarak ilgili disk ve imajlar yetkilendirilebilir.
  • Yönetici ve kullanıcılara yönelik disk şablonu oluşturulabilir, yeniden kullanılabilir.
  • İstenilen sayıda (sistemin yeterli olması koşulu ile) yedek alınabilir, programlanabilir.


Swift (Object Storage)


  • Swift dağıtık yapılandırılmamış verileri işlemektedir.
  • Görüntü, video, sanal makina imajları ve arşivleri saklamak için mükemmel bir platform sunar.
  • Yüksek erişimli, merkezi bir beyin ve kontrol yapısı olmayan, ölçeklebebilir dağıtık ve kısmnen kararlı bir nesne deposudur. Sanal makina içerisindedir ve sanal makina silindiği zaman bu depolama alanı da silinir.
  • Büyük ölçeklidir, yedeklenebilir ve ölçeklenebilirdir.
  • Geleneksel dosya sistemi yapılarına sahip değildir.
  • Obje ve dosyalar buluta dahil olan sunucuların farklı disk veya disk gruplarına yazılabilir.
  • Replikasyon ve bütünlüğü sağlar. Varsayılan da 3 replika özelliği bulunur. İstenilen ölçülerde yeniden yapılandırılabilir.
  • Depolama kümeleri kolaylıkla yatayda büyüyebilir. Erişilemeyen küme elemanlarının yerine farklı elemanlara trafik gönderilir.
  • Swift, yedekleme, arşivleme ve veri saklama için ideal olan, ekonomik, API erişimli, dağıtılmış, yedekli, ölçeklenebilir bir depolama alanı sunar.


Neutron (Networking)


  • Ağ bağlantıları ile diğer OpenStack servislerin bağlantı kurmasına olanak sağlar.
  • Kullanıcı ağlarını ve eklerini tanımlamak için gerekli API'leri sağlar.
  • Birçok popüler ağ sunucularını ve servislerini destekleyen eklenebilir mimariye sahiptir.
  • Sanal makinaya kendisinin yönettiği DCHP servisinden IP ataması yapar.
  • Open vSwitch veya LinuxBridge yönetimini yapar.
  • Public IP (Floating IP) ataması yapar.
  • Farklı VLAN'lar arası trafik geçişini routing işlemlerini yapar. Layer-2 ve Layer-3 de subnet tanımlamalarını gerçekleştirir.
  • Kullanıcıdan gelen IP ve filtreleme isteklerini gerçekleştirir.
  • Yazılımlı tanımlı ağlar ile entegrasyonu destekler.


Cinder (Block Storage)


  • Sistemde varolan veya açılmak üzere olan sanal makinalara sanal depolama alanı (disk) sağlar.
  • Openstack'ın Nova hesaplama servisi ile tamamen entegredir.
  • Bu depolama alanı sanal makina içerisinde yer almayan, ayrı bir alanda oluşturulup sanal makinaya bağlanan bir depolama alanıdır ve aynı zamanda çalışır durumdaki sanal makinalar için blok depolama alanı sağlar. Harici hard disk gibi düşünülebilir. Bu sayede sanal makina silindiği zaman bu depolama alanları silinmez ve veriler korunmuş olur.
  • Sistemde varolan veya yeni açılmak üzere olan sanal makinalara ekstra disk sağlar.
  • Kullanıcıların arayüz üzerinden disk oluşturma, kaldırma gibi işlemlerini gerçekleştirir.
  • Bilinen birçok depolama marka ve modeli destekler.
  • Blok depolama performansına ihtiyaç duyan servisler (veritabanı vb) için ideal disk alanı sağlar.
  • Kullanıcı sanal makina üzerinden istediği dosya formatında diski kullanabilir.
  • Veritabanı gibi anlık verileri tutan blok depolama birimlerini güvenli bir şekilde yedekleyebilir, canlı olarak geri yükleme yapabilir.


Heat (Orchestration)


  • Uygulama geliştiricilerin veya sistem uzmanlarının kullanabileceği şablon odaklı çalışan bir servistir.
  • API'leri kullanarak Openstack için birden fazla ve birbirinden farklı bulut uygulamalarını yönetir.
  • Otomatik büyüme, ölçeklendirme için çalışır.


Ceilometer (Telemetry)


  • Openstack bulut hesabının kullanım ve performans verilerini görüntülemek ve ölçmek için kıyaslama, ölçekleme ve  istatistiksel hesaplama işlemlerini sağlar.


KeyStone (Identity)


  • Diğer Openstack hizmetleri için kimlik doğrulama ve yetkilendirme hizmeti sunar.
  • Tüm Openstack hizmetleri için uç noktaların (endpoint) bir katalogunu sunar. 
  • Yetkilendirme çerçevesinin çizilmesini sağlar ve kullanıcı haklarını ve projelerdeki kimlik kontrolünü sağlar.


Horizon (Dashboard)


  • Web arayüzünü aktif ederek yönetici ve kullanıcılar için Openstack kaynak ve hizmetlerini yönetmeyi sağlar.
  • Kullanıcıdan gelen istekleri ilgili bileşen servisine çağrı yaparak, asekron bir şekilde gerçekleştirir.
  • Çoklu projelerin bulunduğu mimari yapılarda farklı arayüz seçenekleri ve kullanıcı yetkilendirmesi (hakların düzenlenmesi, kısıtlanması) işlemleri gerçekleştirilebilir.




Bu yazımda Openstack temel bileşenlerinden ve bileşenlerin temel özelliklerinden bahsettim.

Herkese kolay gelsin... 

Hiç yorum yok:

Yorum Gönder