Ta ei ole teile DRoook.

Seoses Rook'i kasvava populaarsusega on soov rÀÀkida selle varjatud probleemidest ja takistustest, millega vÔite silmitsi seista.

Minust: Ceph administraatori kogemus alates versioonist hammer, kogukonna asutaja t.me/ceph_ru Telegramis.

Et mitte olla tĂŒhja juttu ajav, viitan vastu vĂ”etud Habr'i (hinnangute pĂ”hjal) postitustele Ceph'i probleemide kohta. Suurem osa probleemidest, millega seal silmitsi seisti, on ka mind puudutanud. Kasutatud materjalide lingid postituse lĂ”pus.

Rook'i postituses ei mainita Ceph'i ilma pĂ”hjuseta — Rook on tegelikult Ceph, mis on pakitud Kubernetesesse, tĂ€hendades, et see pĂ€rib kĂ”ik selle probleemid. Alustame Ceph'i probleemidest.

Klastri haldamise lihtsustamine

Üks Rook'i eeliseid on Ceph'i mugav haldamine lĂ€bi Kubernetes.

Kuid Ceph sisaldab rohkem kui 1000 seadistamise parameetrit, samas kui Rook'i kaudu saame muuta vaid vÀiksemat osa neist.

NĂ€ide Luminouselt
> ceph daemon mon.a config show | wc -l
1401

Rook positsioneerib end kui mugav viis Ceph'i installimiseks ja uuendamiseks
Ceph'i installimisega ilma Rook'ita pole probleeme — ansible'i mĂ€ngukava kirjutamine vĂ”tab 30 minutit, kuid uuendamisega on palju probleeme.

Tsitaat Krok'i postitusest

NÀide: crush tunable'ite vale töö pÀrast uuendamist hummer'ilt jewel'ile

> ceph osd crush show-tunables
{


«straw_calc_version»: 1,
«allowed_bucket_algs»: 22,
«profile»: «unknown»,
«optimal_tunables»: 0,


}

Kuid isegi vÀikeste versioonide vahel vÔivad esineda probleemid.

NĂ€ide: Uuendus 12.2.6, mis viib klastrit tervislikku erisse ja tinglikult katki PG.
ceph.com/releases/v12-2-8-released

Kas mitte uuendada, vaid oodata ja testida? Kuid me kasutame Rook'i ka selleks, et hÔlbustada uuendusi.

Klastri hÀdaolukorra taastamise keerukus Rook'is.

NĂ€ide: OSD kukub, visates endale jalgade alla vigu. Kahtlete, et probleem on ĂŒhes konfigureerimise parameetris, soovite muuta konfi konkreetse deemoniga, kuid ei saa, kuna teil on Kubernetes ja DaemonSet.

Alternatiivi pole. ceph tell osd.Num injectargs ei tööta — OSD on ju maas.

Debugimise keerukus.

MĂ”nede seadistuste ja jĂ”udluse testide jaoks on vajalik otse osd deemoniga pistikupessa ĂŒhenduda. Rook'i puhul peate esmalt leidma vajaliku konteineri, seejĂ€rel sisenema sellesse, avama debugimiseks vajalike tööriistade puudumise ja vĂ€ga pettuma.

OSD jÀrjestikuse tÔstmise keerukus.

NĂ€ide: OSD kukub OOM-i pĂ€rast, algab ĂŒmberjaotamine, seejĂ€rel kukuvad jĂ€rgmised.

Lahendus: tĂ”stke OSD-d ĂŒkshaaval, oodake, kuni need tĂ€ielikult klastrisse lĂŒlitatakse, ja tĂ”stke jĂ€rgmised. (Üksikasjad Cephi raportis. Katastroofi anatoomia).

Baremetal paigalduse korral toimub see lihtsalt kĂ€sitsi, Rooki ja ĂŒhe OSD-ga sĂ”lme ei ole erilisi probleeme, probleeme tekib jĂ€rjestikuste tĂ”usudega, kui OSD-d on > 1 sĂ”lmes.

Loomulikult on need lahendatavad, kuid me ju toome Rooki lihtsustamiseks, mitte keerukuse tekitamiseks.

Ceph daemonite piiride sobitamise keerukus

Baremetal Ceph installatsioonide puhul on klastrile vajalike ressursside arvutamine piisavalt kerge — valemid ja uuringud on olemas. NĂ”rkade CPU-de kasutamise korral peavad teil riskima tegeleda mitme jĂ”udluse testimisega, Ă”ppida, mis on Numa, kuid see on ikkagi lihtsam kui Rookis.

Rooki korral lisandub teile mĂ€lupiiride, mida saab arvutada, kĂŒsimus CPU piiri seadmisest.

Ja siin peate jÔudluse testidega tÔsiselt vaeva nÀgema. Kui seate piirid liiga madalaks, saate aeglase klastriga, kui mÀÀrate unlimi, pÔhjustate aktiivset CPU kasutamist uuesti tasakaalustamisel, mis avaldab negatiivset mÔju teie rakendustele Kuberneteses.

Probleemid vĂ”rguĂŒhendusega v1

Cephi puhul soovitatakse kasutada 2x10Gb vĂ”rku. Üks kliendiliikluse jaoks ja teine cephi meditsiiniliste ĂŒlesannete (rebalance) jaoks. Kui kasutate cephi baremetal'is, on see jaotus lihtne seadistada, kuid Rook'i puhul vĂ”ib see pĂ”hjustada probleeme, kuna kaugel ei ole iga klastrikonfiguratsioon vĂ”imaldada pod'ile kahte erinevat vĂ”rku.

VÔrgus suhtlemise probleemid v2

Kui te ei soovi vÔrke jagada, siis rebalance'i kÀigus tÀidab ceph kogu kanalit ja teie rakendused Kubernetes'is vÔivad aeglustuda vÔi kokku tÔmmata. Cephi rebalance'i kiirus on vÔimalik vÀhendada, kuid pika rebalance'i tÔttu tekib kÔrgem risk, et teine node langeb kettatÔrgete vÔi OOM-i tÔttu vÀlja klastrist, mis toob endaga kaasa garanteeritud read only oleku klastris.

Pikk rebalance — pikad rakenduste viivitused

Tsitaat Cephi postitusest. HĂ€daolukordade anatoomia.

Testklastri jÔudlus:

4 Kbyte kirjutamisoperatsioon vĂ”tab aega 1 ms, jĂ”udlus 1000 operatsiooni/sekundi ĂŒhe lĂ”ime jooksul.

4 Mbyte (objekti suurus) operatsioon vÔtab aega 22 ms, jÔudlus 45 operatsiooni/sekundi.

Seega, kui ĂŒks kolme domeeni ebaĂ”nnestub, on klaster mĂ”nda aega degradeerunud olekus ja pool kuumadest objektidest jaotub erinevatele versioonidele, hakkab pool kirjutamise operatsioonidest toimuma sundtaastumisega.

Sundtaastumise aeg arvutatakse ligikaudu — kirjutamise operatsioonid degradeerunud objektile.

Esmalt loeme 4 MB 22 ms jooksul, kirjutame 22 ms, ja seejĂ€rel kirjutame 1 ms 4 KB tegelikke andmeid. Kokku 45 ms ĂŒhe kirjutamise operatsiooni jaoks degradeerunud objekti puhul SSD-l, kui meie tavaline jĂ”udlus oli 1 ms — jĂ”udluse langus 45 korda.

Mida suurem on meie degradeerunud objektide protsent, seda hirmsamaks kÔik muutub.

Selgub, et tasakaalustamise kiirus on klastrite nÔuetekohase toimimise jaoks kriitilise tÀhtsusega.

Spetsiifilised serveri seaded ceph jaoks

ceph vajab mÔnikord hosti spetsiifilist tuningut.

NÀide: sysctl seaded ja samuti JumboFrame, mÔned neist seadetest vÔivad teie payloadi negatiivselt mÔjutada.

Rooki tegelik vajadus jÀÀb kĂŒsimĂ€rgiks.

Kui olete pilves, on teil oma pilveteenuse pakkujalt salvestusruum, mis on oluliselt mugavam.

Kui olete oma serverites, siis on ceph-i haldamine mugavam ilma kuberneteseta.

Kas rendite servereid mÔnes madalate hindadega hostimisteenuses? Siis ootab teid palju naljakaid hetki vÔrgu, selle latentsuse ja lÀbilaskevÔimega, mis mÔjutab ceph-i selgelt negatiivselt.

Kokku: Kubernetese rakendamine ja salvestussĂŒsteemi rakendamine on erinevad ĂŒlesanded, erinevate sisendite ja erinevate lahenduste valikutega — nende segamine tĂ€hendab, et teete potentsiaalselt ohtlikku trade-off'i ĂŒhe vĂ”i teise kasuks. Nende lahenduste ĂŒhitamine on isegi projekteerimise etapis vĂ€ga keeruline, rÀÀkimata kasutusperioodist.

Kasutatud kirjanduse nimekiri:

Post #1 Aga te ĂŒtlete Ceph... kas see on tĂ”esti nii hea?
Post #2 Ceph. Katastroofi anatoomia

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster