CEPH Storage Sistemi
Son zamanlarda adını giderek artan sıklıkla duyduğunuz Ceph, nesne, blok ve dosya sistemi tipi depolama ortamlarının tamamını bir arada sunan ve depolama sistemlerinin geleceği olarak görülen açık kaynak kodlu bir depolama çözümüdür.
2003 yılında California Üniversitesi’nde Sage Weil adlı öğrencinin doktora tezi olarak başlayan Ceph projesi, açık kaynak dünyasında ilgili topluluğun ciddi katkıları ile hızla gelişerek günümüzde bir çok önemli projenin ilk akla gelen depolama tercihi olmaya başlamıştır. Özellikle OpenStack bulut ortamlarında de-facto depolama çözümü haline gelmiştir. Literatürde “Software-defined storage (SDS)” olarak geçen yazılım tanımlı depolama çözümleri arasında açık kaynak kodlu olması, donanım bağımsız çalışabilmesi ve oldukça yüksek performanslara çıkabilmesi sayesinde hep bir adım önde yer almaktadır. Başlangıcından itibaren exabyte seviyesinde ölçeklenebilmek üzere tasarlanmış olan Ceph, tek nokta hatalarına karşı dayanıklı, yüksek erişilebilir yapıda hizmet vermektedir.
Neden Ceph Tercih Edilmeli?
Günümüzde kullanılan verilerin neredeyse tamamının dijitalleşmesi sonucunda kullanılan sayısal veri miktarı her geçen gün hızla artmaktadır. Gartner, IDC ve Forrester gibi bağımsız araştırma şirketlerinin benzer raporlarında, kullanılan veri miktarının her 18-24 ay aralığında iki katına çıktığı ve buna bağlı depolama gereksinimlerinin her yıl %20 ila %40 arasında değişen oranlarda arttığı görülmektedir. 2018 yılı itibariyle dünyada kullanılan toplam veri sayısal miktarı yaklaşık 20 zetta bayt civarında iken bu rakamın 2020 yılı itibariyle 50 zetta bayt seviyesini geçmesi beklenmektedir.
Günümüzde farklı amaçlarla ortaya çıkmış bir çok ticari ve açık kaynak kodlu depolama çözümleri bulunmaktadır. Bunlar, açık kaynak kodlu (open source) olmaları, yatayda ölçeklenebilen mimariye sahip olmaları (scale-out) ve nesne tabanlı, blok ve dosya sistemi depolama çözümlerini tek bir platformda sağlayabilmeleri (unified) açısından kıyaslandığında aşağıdaki resimde görülen tablo ortaya çıkmaktadır.
Özetle, açık kaynak kodlu olan, yatayda büyüyebilen ve tek bir platform üzerinden blok, nesne ve dosya sistemi desteği veren başka çözümler de mevcut iken bunların tamamını aynı anda sağlayan tek çözüm Ceph olarak ortaya çıkmaktadır. Kısaca önemli diğer dağıtık depolama çözümleri ile karşılaştırıldığında aşağıda özetlenen özellik veya kısıtlar göze çarpmaktadır.
Donanım ve Üretici Bağımsız Olması: Ceph, herhangi bir donanıma ve üreticiye bağlı kalmayacak şekilde tasarlanmıştır. “Commodity hardware” olarak adlandırılan ve diğer cihazlar ile uyumlu çalışan, maliyeti düşük herhangi bir üreticiye ait donanım kullanmayı mümkün kılmaktadır. Bir depolama kümesi oluşturmak üzere üzerine disk bağlanabilen herhangi bir üreticiye ait sunucular kullanılabilmektedir. Bu durum hem maliyetleri düşürmekte, hem de belli bir üreticiye bağlı kalmadan istenilen donanımı seçme imkanı sağlamaktadır. Aynı zamanda küme içerisinde hibrit yapıda yani farklı üreticilere ait, farklı özelliklerde disk, sunucu, ağ ekipmanı kullanma imkanı sağlamaktadır.
Yazılım Tabanlı Çalışması: Yazılım tabanlı çalışması, Ceph’in seçilen donanımdan bağımsız çalışmasına imkan vermekte, aynı zamanda yazılımın çevikliğini kullanarak esnek, verimli ve özelleştirilebilir bir altyapı kullanma imkanı sunmaktadır.
Yüksek Performans: Dağıtık mimarisi sayesinde Ceph, merkezi yapılardaki donanımdan kaynaklanan dar boğaz sorunlarından kurtulmakta, doğru tasarlandığı takdirde kullanılan disklerin fiziksel limitlerini zorlayabilmektedir. Yapılan testlerde aynı donanım ile çalışan ticari ürünlerden çok daha iyi performans sağladığı gözlenmiştir.
Yüksek Ölçeklenebilirlik: Veri gereksinimlerinin artması neticesinde logaritmik artan kapasite ihtiyaçlarına cevap verebilmek üzere, Ceph yatayda ölçeklenebilen mimaride tasarlanmıştır. Başka bir deyişle, kapasite arttırmak için Ceph kümesine ekstra sunucu eklemek yeterli olmaktadır. Bu konuda teorik bir limit olmamakla birlikte, tasarım aşamasında kolaylıkla exabyte seviyelerine çıkabilecek şekilde tasarlanmıştır. Gerçek hayatta 0.5 exabyte (500 petabyte) ölçeğinde Ceph kullanım örneği mevcuttur.
Bütünleşik Çözüm: Ceph’in en önemli ve eşsiz özelliklerinden birisi nesne, blok ve dosya sistemi ihtiyaçlarını tek bir platform üzerinden bütünleşik yapıda sağlayabilmesidir. Bu durum her bir depolama tipi ihtiyacı için ayrı bir ortam kurma, yönetme ve sürdürme gereksinimini ortadan kaldırarak çok önemli bir avantaj sunmaktadır.
Yüksek Erişilebilirlik: Tasarımı gereği Ceph bileşenleri kendi içlerinde yüksek erişilebilirlik sağlamaktadır. Küme içerisinde veri dağıtık halde tutulmakta, herhangi bir bileşendeki arıza veya erişim probleminde veriye erişim kesintisiz devam etmektedir. Üstelik donanım arızası gibi kalıcı bir problem halinde verinin kopyası küme üzerindeki farklı disklere otomatik olarak kopyalanmaktadır. Ceph bu yeteneğini devrim niteliğinde bir özellik ile geliştirerek, verinin kopyalarının sunucular bazında yedeklenmesini sağlayabildiği gibi, bu kopyaları farklı şasi, kabin, koridor, sistem odası, veri merkezi seviyesinde de yapabilmektedir. Başka bir deyişle gerekli altyapının mevcut olması halinde Ceph üzerindeki verilerin kopyaları istenirse farklı veri merkezlerinde bile tutulabilmekte, bir veri merkezinin tamamen erişilemez duruma gelmesi halinde bile veriye erişim kesintisiz devam etmektedir.
API Uyumluluğu: Ceph, sağladığı API konusunda da uluslararası standartları desteklemekte ve nesne depolama tarafında Amazon S3 ve OpenStack Swift API arayüzleri ile % 100 uyumlu bir ortam sunmaktadır. Bu uyumluluk sayesinde Amazon S3 ve OpenStack Swift ortamındaki veriler kolayca Ceph’e taşınabilmekte ve aynen orada olduğu gibi erişilebilmektedir. Bu özellik aynı zamanda Ceph’in OpenStack platformlarında doğrudan nesne depolama çözümü olarak bağlanabilmesine imkan vermektedir. Bunların dışında yönetimsel işlemleri gerçekleştirebilmek adına “Ceph Admin API” kullanılabilmektedir.
Yaygınlık: Ceph sahip olduğu bileşenler ve mimarisi itibariyle bulut iş yükleri başta olmak üzere bir çok ortama entegre olabilme özelliğine sahiptir. Özellikle OpenStack bulut ortamları için de-facto depolama çözümü haline gelen Ceph, ihtiyaç duyulan nesne, blok ve dosya sistemi ihtiyaçlarının tamamına tek başına cevap verebilen tek çözümdür. Ceph’in gelişmiş özellikleri ve yetenekleri CloudStack ve OpenNebula gibi bulut çözümlerinde de tercih edilmesini sağlarken Proxmox gibi sanallaştırma ortamlarına da doğrudan bağlanabilmektedir. Hatta OwnCloud ve NextCloud gibi kurum içi entegre bulut ihtiyaçlarını karşılayan çözümlerde depolama sağlayıcısı olarak entegre edilebilmektedir.
Dağıtık Mimari: Ceph’in dağıtık mimarisi, verinin küme içerisinde dağıtılması sayesinde oluşabilecek problemlere karşı oldukça yüksek hata toleransı sağlarken veri kaybı ihtimalini de minimize etmektedir. Aynı zamanda disk arızalarında verinin yeniden oluşturulma süresini oldukça hızlandırmaktadır.
Gelişmiş Özellikler: Ceph, diğer ticari depolama ürünlerinde öne çıkarılmaya çalışılan “thin provisioning”, klonlama, lokasyonlar arası bire-bir kopyalama (mirroring), anlık görüntü alma (snapshot) gibi tüm özellikleri desteklediği gibi daha önce bahsi geçen eşsiz özellikleri ile sayısız avantaj sağlamaktadır.
Esneklik: Ceph açık kaynak kodlu altyapısı ve konfigüre edilebilen çok sayıdaki özelliği ile başka hiç bir depolama ortamında bulunmayan derecede bir esneklik sağlamaktadır. Sistemi oluşturan tüm bileşenlerin bir çok özelliği konfigürasyon parametreleri yardımıyla özelleştirilebilmekte, bu sayede Ceph tamamen çalıştığı ortama özel bir çözüm haline getirilebilmektedir. Bu yazının hazırlandığı tarih itibariyle bir Ceph kümesinde değiştirilebilen yaklaşık 1000 parametre bulunmaktadır.
Dünyada Ceph
Bu yazının hazırlandığı tarih itibariyle dünyada üretim seviyesinde çalışan bazı büyük ölçekli Ceph kümeleri ve referans alınan kaynaklar aşağıdaki tabloda listelenmiştir. Buradaki büyüklükler kurulum aşamasındaki büyüklükleri göstermekle birlikte zaman içerisinde büyüklüklerinin arttıkları bilinmektedir.
Kurum | Büyüklük | Referans |
---|---|---|
CERN | 30 PByte | İlgili rapor / İlgili Sunum |
Yahoo | 500 PByte | İlgili Haber / İlgili Blog |
Monash Üniversitesi | 5 PByte | İlgili Haber |
Comcast | 7 PByte | İlgili Sunum |
Dreamhost | 3 PByte | İlgili Haber / İlgili Blog |
Bunların dışında Deutsche Telekom, Orange Telecom, SK Telecom gibi bir çok telekom operatöründe ve dünyanın en büyük mobil operatörü olan China Mobile bünyesinde Ceph tercih edilmektedir. Bulut servis sağlayıcılarından Rackspace, DigitalOcean, City Cloud, UnitedStack gibi önemli altyapılarda yine Ceph kullanıldığı bilinmektedir. Aynı zamanda Bloomberg, Cisco, ZTE gibi önemli ölçekte çalışan örnekler ve akademik dünyada Eurac Research, CERN, M.I.T. ve Monash üniversitesi gibi referanslar bulunmaktadır.
Türkiye’de Ceph
Ceph’in benzersiz yeteneklerinden faydalanmak üzere ülkemizde de depolama tercihini Ceph’ten yana kullanan bir çok firma/kuruluş bulunmaktadır. Kamuda TÜBİTAK ULAKBİM bünyesinde çalışan OpenStack bulut altyapısında Ceph tercih edildiği ve bu sayede Başbakanlık başta olmak üzere Milli Eğitim Bakanlığı, Tarım, Gıda ve Hayvancılık Bakanlığı, Çevre ve Şehircilik Bakanlığı gibi bazı bakanlıklar, kamu kuruluşları, üniversiteler, araştırma kurumları ve bir çok TÜBİTAK enstitüsüne hizmet verildiği bilinmektedir.
Yine TÜRKSAT bünyesinde çalışan bulut altyapısında Ceph depolama çözümü tercih edilmekte ve diğer kurum ve kuruluşlara hizmet sağlanmaktadır.
Projelendirme
Proje çiziminden teslimine kadar tüm süreçlerin tek firma ile uçtan uca takibi.
Uluslararası Standart
Uluslararası standartlarda projelendirmelerle uzun yıllar dayanıklı ve kesintisiz çözümler.
Bakım & Servis
Bakım hizmetlerimiz sayesinde sistemlerin sorunsuz çalışması.
Monitoring
Uzaktan izleme yazılımları ile sistem izleme ve IT kaynak yatırımlarından tasarruf sağlama.
Openstack Kurulum ve Destek
Altyapı & Keşif
Altyapı Analizi, siz kıymetli müşterilerimiz ile birlikte kampüs, bina ve/veya ofis ortamını ziyaret ederek veya sizlerden aldığımız bilgiler doğrultusunda gerçekleştiriyoruz. Altyapı Analizi yapılırken en önemli kriterlerden biri openstack bileşenlerinde kullanılacak node'ların seçimi olduğu için bu konuyu titizlikle inceliyoruz.
Tasarım Çalışmaları
İş sürekliliğini kesintisiz bir şekilde sağlayabilmenin yolu doğru bir tasarımdan geçer. Profesyonel ve teknik kadromuz sayesinde sizlere pek çok farklı kritik senaryoyu değerlendirerek tasarımlarımızın güvencesini vermekteyiz. Bununla birlikte, sektörde konusunda uzmanlaşmış pek çok farklı çözüm ortağımızdan elde ettiğimiz güçle sizlere sunduğumuz farklı maliyet stratejileri sayesinde en verimli tasarıma ulaşma imkanına kavuşur, kaliteden ödün vermezsiniz.
Saha Uygulama, Kurulum ve Entegrasyon Çalışmaları
Keşif ve tasarım çalışmalarında gösterdiğimiz aynı özveriyi Openstack kurulum ve entegrasyon çalışmalarında da sizlere deneyimletmek en önemli önceliklerimizden bir tanesidir. Doğru entegrasyon sayesinde bir bütün olarak çalışabilmesi bünyemizde yer alan uzman ve tecrübeli saha ekiplerinin başarısıdır.
Test ve Devreye Alma
İlk olarak kurulan sistemlerin hatasız ve kesintisiz bir şekilde çalışması için gerekli koşulların sağlandığı test edilir. Getirdiğimiz yük bankaları ile tüm sisteme yükü verip sistemin bu yüke nasıl cevap verdiğini global standartlara uygun senaryolar çerçevesince (Level 3, 4, 5) test ediyoruz. Testlerde ortaya çıkabilecek olası sorunlar düzeltilerek sistemin sorunsuz olarak çalışacağından emin olduktan ve sizlere rapor edildikten sonra sistem devreye alınır ve çalışmaya başlar.