|
OpenVZ Hakkında Genel Bilgi
|
|
07-01-2011, 11:27 PM
(En son düzenleme: 05-06-2012 07:06 PM Mavi.)
Mesaj: #1
|
|||
|
|||
OpenVZ Hakkında Genel Bilgi
![]() OpenVZ(Açık Sanallaştırma) Linux çekirdek ve işletim sistemi'ni temel alan, işletim sistemi düzeyinde bir sanallaştırma teknolojisidir.OpenVZ bir fiziksel sunucu da Containers,Virtual Private Servers(VPS) veya Virtual Environment(VE) olarak bilinen birbirinden yalıtılmış çoklu sistem örnekleri'nin çalışma ortamını sağlar.FreeBSD ve Solaris Zone'da buna benzer çalışma ortamı vardır. OpenVz ile VMware, Xen gibi Sanal Makina teknolojileri ile karşılaştırıldığında,OpenVZ'de Sunucu ve Konuk İşletim sistemleri Linux İşletim sistemi ile sınırlıdır.Farklı Container'larda farklı Linux sürümleri kurulabilir.Ancak OpenVz kendi sitesinde performans olarak diğerlerine göre daha iddialı olduğunu belirtir.Sanal Makina olmadan tek başına çalışan bir sunucu'dan % 1-3 performansı daha düşük çalışır.HP tarafsız olarak yaptığı performans ölçümlerinde bunu doğrular.Diğer bir ölçümde, performans değeri kullandığı ölçüm sistemine göre daha düşük çıkmıştır. OpenVZ, Parallels şirketi'nin tescilli yazılımı olan Virtuozzo Containers'ı temel alır.Parallels'in sponsorluğu ile OpenVz'in GLP version 2 altında lisansı vardır.Parallels şirketi OpenVZ ticari son kullanıcılarına destek sunmaz. openVZ, özel çekirdek ve kullanıcı seviyesi araçları olarak iki kısıma ayrılır. DİĞER SANALLAŞTIRMA TEKNOLOJİLERİ İLE KARŞILAŞTIRMA ---------------------------------------------------------------------- OpenVZ gerçek bir sanallaştırma değildir.BSD Jail gibi gerçek anlamda Konteynırlaştırma(Containerzation) dır.VMware ve Xen gibi daha esnek teknolojiler bir makina'nın bütününü sanallaştırma yapabilir ve birbirinden farklı yapıdaki işletim sistemlerini çalıştırabilir.openVZ tek yamalı Linux çekiredeği kullanmasından dolayı sadece Linux işletim sistemlerini çalıştırabilir.Fakat OpenVZ gerçek bir Hypevisor'un hizmet işlemlerine sahip olmamasına rağmen,çok etkili ve verimlidir.Bu yaklaşımın dezavantajı tek çekirdek olması.Bütün Konukların çekirdek sürümündeki fonksiyonları ile sunucunun kullandığı çekirdek fonksionları uyumlu olmalıdır. OpenVZ buna karşın avantajlı yanı RAM tahsisatında bir sanal ortamın kullanmadığı RAM'ı diğer sanal ortam'ın veya disk caching'in kullanabilmesi için yumuşaklık sağlar.OpenVZ genel dosya sistemi kullanır.Bu dosya sistemi ile her bir sanal ortam'ın Chroot ile yalıtılmış tam anlamıyla dosyalalara ait dizin yapısı vardır.Dosyaların bir dizin'den diğerine tam anlamıyla kopyalanması ile ve sanal makina'da config dosyası'nın yaratılması ve çalıştırılması ile Sanal Makina Klonlanması yapılmaktadır. GENEL ÖZELLİKLERİ ---------------------- OpenVZ çekirdeği,OpenVz Container'ları için yapılan eklenti ile değişikliğe uğramış Linux çekirdeği'dir.Tadilata uğramış çekirdekde sanallaştırma,yalıtım,kaynak yönetimi ve hata kontrol noktası(checkpointing) fonksiyonları eklenmiştir. OpenVZ'de her bir Container müstakil bir birimdir.Her bir Container kendi biriminde bir fiziksel server'in ona sağladığı imkanlar kadar haraket yeteneğine sahiptir. Sistem kütüpaneleri ve uygulamaları /proc ve /sys dizinleri altındadır.Her bir container'ın kendi kök kullanıcı(root),diğer kull- nıcıları ve grupları vardır.Bir Container init'den başlayan sadece kendi işlemlerinin işleyişini görebilir.İnit PID 1 olması gerekti- ğinden,Process ID(PID)'ler sanallaştırılmıştır.Sanal Network Aygıtı,bir Container'ın kendine ait IP adresleri,Netfilter(iptables) ve Routing kuralları olmasına izin verir.Herhangi bir container'a network arabirimleri,seri portlar ve disk bölümleri gibi gerçek aygıtlara erişimine ayrıcalık verilir.IPC nesneleri : paylaşımlı hafıza,semaphor'lar ve mesajlardır. KAYNAK YÖNETİMİ --------------------- OpenVZ'de kaynak yönetimi üç bileşenden oluşur : - iki seviyeli sürücü kotası - CPU'nun adil çalışma zaman planlayıcı - Kullanıcı Beancounter'ları. Reboot yapılmasına gerek kalmadan bu kaynaklar Container'in çalışma zamanında değiştirilebilir. - iki seviyeli sürücü kotası : Her bir Container'in disk blok ve inode(kabaca dosyların adedi) terimlerine göre ölçümlenebilen kendi disk kotası vardır.Container'da standart araçlar kullanılarak UNIX yapılı her kullanıcı,her grup diye ayrı disk kotaları oluşturula- bilir. - CPU Zaman Planlayıcısı : Adil paylaşımlı CPU Zaman Planı stratejisini iki seviyede uygular.Birinci seviyede Zaman planlayıcısı her bir container'ın cpuUnit değerine göre ne kadar CPU zamanı kullanacağına karar verir.İkinci seviyede standart Linux Zaman Planlayıcı container'de hangi Process'lerin çalışacağına standart linux process önceliklerini kullanarak karar verir.Her biri container'ın birbirinden farklı CPU zaman değeri verilmesi de mümkün.Fakat gerçek CPU zamanı container'lar arasında birbiri ile orantılı olarak dağıtılmalıdır.Toplam CPU zamanı %10 gibi katı limitler verilebilir. - I/O zaman planlayıcı : CPU zaman planlayıcısı'nın benzeridir.OpenVZ'de I/O zaman planılayıcısı iki seviyelidir.Jens Axboe'nın CFQ I/O zaman planlayıcısını ikinci seviyesinde kulllanır.Her bir container bir I/O önceliğine atanır.I/O zaman planlayıcı atanan önceliklere göre kullanılabilir I/O bant genişliğini container'lar arasında dağıtır.Bu sebeple hiçbir container bir I/O kanalından tam faydalanamaz. - Kullanıcı Beancounter'ları : Her bir container'a ait sayaçlar,limitler ve garantiler grubudur.Bütün işlem yönlerini kontrol eden 20'ye yakın parametre grubu vardır.Bu parametreler bir container'i sistem kaynakları tekelinden korumak içindir.Bu kaynaklar öncelikle IPC paylaşımlı hafıza dilimleri,network tampon bellekleri gibi hafıza ve değişik çekirdek nesnelerinden oluşur.Her bir kaynak /proc/user_beancounters" dan görülebilir.Burda Kaynağın Kendine ait beş değeri : geçerli kullanım,maksimum kullanım(bir container'in var olma zamanı),bariyer,limit ve hata sayıcı'dır.Burda Bariyer ve limit anlamı bağıl parametre'dir.Bunlar bir yumuşak ve sert limit olarak düşünülebilir.Herhangi bir kaynak limit'e değerse,limit hata sayacı artırılır.Bu kullanıcıya container'dan /proc/user_beancounter'ı gözlemlemesi ile sorunları bulma fırsatı verir. KULLANICI BEANCOUNTER DEĞERLERİ ------------------------------------------- - lockedpages : Hafızadaki sayfalardan taşınma yapılmasına müsaade edilmez(mlock() sistem çağrısı ile kilitlenir) - Shmpages : Paylaşımlı hafıza(IPC içeren,paylaşımlı isimsiz dönüşümler ve tmpfs nesneleri)'nın toplam değeri,process'ler tarafından sayfalar'da belirli bir VPS'ye tahsis edilmiş. - priwmpages : Uygulama tarafından tahsis edilen Özel hafıza(olanak dahilinde Özel).Özel hafıza : herzaman farklı uygulamalar arasında paylaşılan ve bu kaynağın parametresine dahil olmayan hafızadır. - numfile : Bütün VPS process'leri tarafından açılan dosyaların adedi. - numflock : Bütün VPS process'leri tarafından yaratılan dosya kilitleri'nin adedi. - numpty : SSH oturumu,screen,xterm uygulamaları gibi gerçek olmayan bağlantılar. - numsiginfo : Siginfo yapılarının adedi(bu parametre özellikle dağıtım sırası sinyali'nin boyutunu sınırlar). - dcachesize : Hafıza'da kilitlenmiş dentry ve inode yapıları'nın toplam boyutu. - physpages : VPS process'lerinin kullandığı toplam RAM değeri.Bu hesap,sadece geçerli parametreden hesap oluşturarak yapılır. Bu VPS'nin kullandığı RAM'ı gösterir.Birkaç farkı VPS(örnek olarak : paylaşımlı kütüpanelerin haritalanması)'nın kullandığı hafıza sayfaları için.Burda sadece bir sayfada her bir VPS'nin yüklü olduğu kısım ayrı ayrı hesaplanır. physpages'ın kısaca anlamının karşılığı : System'de hesaba dahil edilen bütün kullanıcıların kullandığı sayfaların toplam adedidir. -numiptent : Filtreleme girişlerindeki IP paketleri'nin adedi. DENETİM NOKTASI KOYMA VE CANLI GEÇİŞ -------------------------------------------------- OpenVZ Kontrol Noktası Koyma ve Canlı Geçiş özelliğini Nisan 2006'da yayınladı.Bu özellikle bir container bir fiziksel sunucu'dan diğerine, Container'in kapatılmasına gerek kalmadan taşınması mümkün olmaktadır.Process :kontrol noktası koyma olarak bilinir.Bir container dondurulduğunda bütün konumu olduğu gibi disk'deki bir dosyada saklanır.Bu dosya daha sonra başka bir makinaya aktarılabilir.Orada Container'ın buzu tahminen birkaç saniye gecikme ile çözülebilir(restored).Çünkü yapı genel olarak korunmuştur.Bu duraksama da hesaplamadan kaynaklanan gecikmeden dolayı doğal karşılanabilir. BELİRGİN ÖZELLİKLERİ ------------------------- Ölçeklenebilirlik : OpenVZ'nin tekil çekirdek modeli, Linux Çekirdeği kadar ölçeklenebilir özelliğe sahipdir.4096 adet CPU ve 64 GB RAM'ı destekler.PAE ile 32 bit'de,bir tek container fiziksel sistemin bütün RAM Ve CPU'sunu ölçekleyip kullanabilir. PERFORMANs : OpenVZ'de gözlemlenen ek işlem yükleri sınırlandırılmıştır ve pekçok seneryoda bu göz ardı edilebilir. YOĞUNLUK : Her bir Container'in gerek duyduğu ek işlem yükünün azaltılmasıyla bir fiziksel sunucu'da daha çok container'a hizmet vermek mümkün hale gelir. KİTLESEL YÖNETİM : Bir OpenVZ fiziksel sunucu'da yönetici(root: host sistem veya donanım node olarakda bilinen) sistemdeki bütün container'lara ait bütün process'leri ve dosyaları görebilir.Bu uygun bir imadır.Bazı sabitlemeler(çekirdek güncelleme gibi) otomatik olarak bütün container'ları etkisi antına bıraktığı anda basit bir kabuk script'i tarafından aynı anda yapılan diğer değişiklikler bütün container'larda basit sıkıştırmaya sebep olur. VMware veya Xen sanallaştırma ortamı yönetimi ile bu yöntem karşlaştırıldığında : 10 sanal sunucu'ya güvenlik güncellemesi yapılmasında, hiç biri böyle güncellemeler için daha ayrıntılı "Pull System" (bütün sanal sunucuların üzerinde)'e gereksinim duymaz veya yöneticinin her bir sunucuya log,güncellemeyi uygulama ihtiyacı duyduğunda.Pull Sistem'in olmadığı ve uygulanamadığı böyle durumlarda OpenVZ daha elverişli ve kullanışlı çözüm sunar. SINIRLAMA ------------- OpenVZ sadece temelinde PPP(PPTP/L2TP gibi) ve TUN/TAP olan VPN teknolojilerini destekler.Container'larda IPsec için desteği yoktur. IPsec ile güvenli L2TP içinde desteği bulunmaz.Tam sanallaştırma'da böyle sınırlamalar yoktur. |
|||
|
« Önceki Konu | Sonraki Konu »
|
Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi

Arama
Üye Listesi
Takvim
Yardım

![[Resim: openvz.png]](http://hostmavi.com/resim/openvz.png)


