OpenStack Ceph Entegrasyonu

İlk Bakışta Ceph

1015767Dünyada her geçen gün daha popüler hale gelen açık kaynak kodlu dağıtık depolama sistemlerinden olan Ceph; nesne tabanlı depolama, blok tabanlı depolama ve dosya sistemi olmak üzere üç farklı depolama mimarisini aynı ortamdan sunabilmektedir. Özellikle performans, güvenilirlik ve ölçeklenebilirlik konusunda öne çıkan Ceph, bir metadata sunucusu gerektirmemesi ile diğer dağıtık depolama sistemlerinden bir adım öne çıkmaktadır. Metadata sunucuları verinin hangi konuma yazıldığını tutan sunucular olup bu sunuculara erişim konusunda yaşanan bir problem tüm depolama servislerini etkilemektedir. Bundan farklı olarak Ceph, metadata sunucusu yerine yazacağı verinin yerini belirleyen bir algoritma (CRUSH) kullanır. her istemci bu algoritmayı kullanarak yazacağı konumu belirler. Veri okunacağı zaman yine aynı algoritma sayesinde verinin okunacağı konum belirlenir. Ceph üzerinde verinin dağıtık olarak birden fazla kopyası tutulur. Okuma veya yazma yapılabilmesi için sadece depolama düğümlerinin erişilebilir olup olmadığı bilgisini tutan monitör sunucuları kullanılır.

OpenStack Ceph Entegrasyonu

OpenStack bir çok ticari depolama çözümünün entegrasyonuna izin vermekle birlikte, son zamanlarda Ceph; gelişmiş özellikleri, açık kaynak kodlu olması ve kolay entegrasyonu ile OpenStack için ilk akla gelen depolama çözümü olmaya başlamıştır. Halen bir çok konuda gelişmekte olan Ceph, OpenStack altyapısında Nova, Glance ve Cinder ile birlikte kullanılabilmektedir.

Ceph’in blok cihaz mekanizması RBD (Rados Block Device), OpenStack’in 3 farklı bileşeni ile entegre olabilmektedir:

İmajlar: İşletim sistemi imajları Glance tarafından yönetilir. Değişmeyen içeriğe sahiptirler. OpenStack imajları binary blob olarak saklar.

İşletim Sistemi Diskleri: Açılan sanal sunuculara ait işletim sisteminin bulunduğu disklerdir. Genelde /var/lib/nova/instances/<uuid>/ altında tutulur.  Nova ile yönetilir.

Depolama Diskleri: İşletim sistemine eklenen blok cihazlardır. OpenStack ayrıca depolama diski üzerinden sanal sunucu boot etmeyi desteklemektedir.  Depolama diskleri Cinder tarafından yönetilir.

Ceph, sanal sunucu diski yapmak üzere QCOW2 imaj formatını desteklemez. Bu nedenle OpenStack ile sanal sunucuyu depolama diskinden boot etmek için Glance üzerindeki imaj formatının RAW olması gerekir.

Ceph Tarafının Hazırlanması

Cinder, glance ve nova ile kullanılmak üzere disk havuzları oluşturulmalıdır.

Ardından OpenStack Ceph istemcileri yapılandırılmalıdır. Glance-api, cinder-volume, nova-compute ve cinder-backup çalıştıran her sunucuya ceph.conf kopyalanmalıdır.

Glance-api sunucusuna python-rbd kurulmalıdır.

Nova-compute, cinder-backup ve cinder-volume servislerini çalıştıran sunuculara ceph-common kurulmalıdır.

Nova, cinder ve glance yetkilendirmesi için yeni kullanıcılar açılmalıdır.