HDD ve SSD üzerinde ayrı pool oluşturma

BulutWiki sitesinden
Admin (mesaj | katkılar) tarafından oluşturulmuş 13:42, 26 Haziran 2018 tarihli sürüm ("nvme ve hdd diskleri, CRUSH map ile siniflara ayrilarak farkli bir pool olusturulabilir. Once diger cihazlarda oldugu gibi disk cihazlarini olusturmak gerekir..." içeriğiyle yeni sayfa oluşturdu)
(fark) ← Önceki hâli | En güncel hâli (fark) | Sonraki hâli → (fark)
Şuraya atla: kullan, ara

nvme ve hdd diskleri, CRUSH map ile siniflara ayrilarak farkli bir pool olusturulabilir. Once diger cihazlarda oldugu gibi disk cihazlarini olusturmak gerekir.

ceph-deploy --overwrite-conf  osd create zula209 --data /dev/nvme0n1
ceph-deploy --overwrite-conf  osd create zula210 --data /dev/nvme0n1
ceph-deploy --overwrite-conf  osd create zula211 --data /dev/nvme0n1
ceph-deploy --overwrite-conf  osd create zula212 --data /dev/nvme0n1

ceph osd tree ile osd'lere baktigimizda linux kernel tarafindan otomatik olarak hdd ve ssd olarak 2'ye ayrilmis durumdadir. Eger otomatik siniflari duzgun sekilde yapilmadiysa bu durumda asagidaki komutlar kullanilabilir.

ceph osd crush rm-device-class osd.48 osd.49 osd.50 osd.51
ceph osd crush set-device-class ssd osd.48 osd.49 osd.50 osd.51
ID CLASS WEIGHT    TYPE NAME        STATUS REWEIGHT PRI-AFF 
-1       350.77026 root default                             
.....
.....
-9        87.69257     host zula212                         
36   hdd   7.27739         osd.36       up  1.00000 1.00000 
37   hdd   7.27739         osd.37       up  1.00000 1.00000 
....
....
51   ssd   0.36389         osd.51       up  1.00000 1.00000 

Benzer sekilde asagidaki komutlarla da osd'lerin ait oldugu siniflar kontrol edilebilir.

ceph osd crush class ls
 [
     "hdd",
     "ssd"
 ]
ceph osd crush class ls-osd ssd
48
49
50
51

SSD disklerle yuksek performans alabilecegimiz ayri bir pool olusturmak icin CRUSH rule olusturmamiz gerekmektedir. Bunun icin asagidaki komut kullanilabilir.Erasure code kurallari bundan farkli sekilde tanimlanir.

ceph osd crush rule create-replicated fast default host ssd

block depolama icin iki tane rbd pool olusturulur.

ceph osd pool create rbdssd 128 128
ceph osd pool create rbdhdd 128 128

Son asamada bu pool'lar crush rule ile map edilerek sadece o osd'lerin kullanilmasi saglanir.

ceph osd crush rule list
  replicated_rule
  fast

fast kurali ssd diskler icin olusturulmustu, replicated_rule ise hali hazirda default kurulumda ayarlanmis kural seti idi. ssd pool icin fast kural seti ayarlanir.

ceph osd pool set rbdssd crush_rule fast
ceph osd pool set rbdhdd crush_rule replicated_rule

Böylece rbdssd olarak ayarlanan pool üzerindeki işlemler her bir osd host üzerinde yer alan nmve ssd ler üzerinde yapılacaktır. rbdhdd pool üzerinde yapılan işlemler ise her bir sunucuda yer alan 12 adet SATA disk üzerinde yapılacaktır. Dolayısıyla her birinin performansı birbirinden farklı olarak çıkacaktır. Bu pool lar üzerinde provizyonlama farklı projelerin ihtiyaçları doğrultusunda artık yapılabilir. Ayrıca her bir pool üzerinde replika sayısı vb işlemlerde problem domaine göre ayarlanıp farklı servisler sunulabilir.