Dağıtık Depolama
Yüksek kullanılabilirlik için verileri depolamak için Ceph'i kullanabilirsiniz. Veri replikasyonları veya silinme kodu parçaları, farklı önceden tanımlanmış hata alanlarına ait cihazlarda dağıtılmış olarak depolanır. Ceph, birden fazla cihaz, sunucu düğümü, raf veya site aynı anda başarısız olduğunda bile veri hizmetini kaybetmeden sürdürebilir.
Ceph Yazılım Tanımlı Depolama
Müşteriler, Ceph'in dağıtılmış depolama algoritması CRUSH'ı kullanarak tüm depolama cihazlarıyla doğrudan etkileşimde bulunarak okuma ve yazma işlemlerini gerçekleştirir. Bu sayede, depolama sisteminin ölçeklenebilirliğini sınırlayan geleneksel Ana Bilgisayar Veri Yolu Adaptörü (HBA) üzerindeki darboğaz ortadan kalkar. Ceph, performansıyla birlikte kapasitesini eksabayt ölçeğine kadar lineer olarak genişletebilir.
Ceph, ölçeklenebilir olacak şekilde tasarlanmıştır ve tek bir başarısızlık noktası olmamalıdır. Monitor (MON), Nesne Depolama Sunucusu (OSD) ve Meta Veri Sunucuları (MDS), Ceph kümesindeki üç temel daemon (Linux işlemi)dir. Genellikle, bir Ceph kümesi yedeklilik için üç veya daha fazla izleme düğümüne sahip olacaktır. Monitörler, Ceph istemcilerinin OSD ve MDS ile doğrudan iletişim kurmasını sağlayan küme haritalarının ana kopyasını korur. Bu haritalar, Ceph daemonlarının birbirleriyle koordine olabilmesi için gereken kritik küme durumudur. Monitörler ayrıca daemonlar ve istemciler arasındaki kimlik doğrulamayı yönetmekten sorumludur. Tek sayıda monitör, kümelenme haritasını çoğunlukla korur. Bu algoritma, monitörde tek bir başarısızlık noktasını önler ve onların uzlaşmasının geçerli olduğunu garanti eder. OSD, Ceph için nesne depolama hizmetidir. Veri depolar, veri replikasyonunu, kurtarmayı, yeniden dengelemeyi işler ve diğer OSD Daemon'larına kalp atışı kontrolü yaparak Ceph Monitörlerine bazı izleme bilgileri sağlar. Her depolama sunucusu, bir veya birden fazla OSD hizmeti çalıştırır, her biri bir depolama cihazı için. Redundans ve yüksek kullanılabilirlik için genellikle en az 3 OSD gereklidir. MDS daemon, Ceph Dosya Sistemi'nde depolanan dosyalarla ilgili meta verilerini yönetir ve aynı zamanda paylaşılan Ceph Depolama Kümesine erişimi koordine eder. Her bir MDS'nin yüksek kullanılabilirlik ve yük dengelemesi için birden fazla etkin MDS'ye sahip olabilirsiniz. Paylaşılan dosya sistemini kullanmak istediğinizde, bir veya daha fazla Meta Veri Sunucusu (MDS) gerekecektir.
Ceph Ölçeklenebilir Depolama
Geleneksel bir depolama sisteminde, müşteriler merkezi bir bileşene (örneğin, ana bilgisayar veri yolu adaptörü veya ağ geçidi) bağlanır ve bu bileşen karmaşık bir alt sistem için tek bir giriş noktasıdır. Merkezi denetleyici, performans ve ölçeklenebilirlik açısından sınırlama getirirken, tek bir arıza noktası da tanıtmaktadır. Merkezi bileşen çökerse, tüm sistem çöker. Ceph istemcileri, son sürüm küme haritasını monitörlerden alır ve kümedeki hangi OSD'nin CRUSH algoritmasını kullanarak hesapladığını belirler. Bu algoritma, müşterilerin merkezi bir denetleyiciye gitmeden doğrudan Ceph OSD ile etkileşimde bulunmasını sağlar. CRUSH algoritması, ölçeklenebilirlik sınırlamasına neden olan tek bir yolun ortadan kaldırılmasını sağlar. Ceph OSD kümesi, müşterilere paylaşılan bir depolama havuzu sağlar. Daha fazla kapasite veya performans gerektiğinde, havuzu ölçeklendirmek için yeni OSD ekleyebilirsiniz. Bir Ceph kümesinin performansı OSD sayısına doğrusal olarak bağlıdır. Aşağıdaki resim, OSD sayısını artırdığımızda okuma/yazma IOPS'lerinin arttığını göstermektedir.
Geleneksel disk dizisi, verileri disk arızalarına karşı korumak için RAID denetleyicisini kullanır. RAID teknolojisi icat edildiğinde bir sabit disk sürücüsünün kapasitesi yaklaşık olarak 20MB idi. Bugün disk kapasitesi 16TB kadar büyük. RAID grubundaki bir başarısız diski yeniden oluşturma süresi bir hafta sürebilir. RAID denetleyici başarısız olan sürücüyü yeniden oluştururken, aynı anda ikinci bir disk arızalanma olasılığı vardır. Yeniden yapılanma daha uzun sürerse, veri kaybı olasılığı daha yüksektir.
Ceph, kümedeki diğer sağlıklı sürücüler tarafından başarısız diskte kaybedilen verileri kurtarır. Ceph, sadece başarısız sürücüde depolanan verileri onarır ve yeniden oluşturur. Eğer daha fazla sağlıklı disk varsa, kurtarma süresi daha kısa olacaktır.
- Ceph CRUSH Haritası ve Kuralını yapılandır