Ta ei ole teile dRook

Seoses Rooki suurenemisega soovin rÀÀkida selle varjatud probleemidest ja takistustest, millega te vÔib-olla kokku puutute.

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

Et mitte olla sÔnamÀnge, viitan ma Habr's aktsepteeritud (jÀrgides reitingut) postitustele Ceph probleemidest. Enamikku neist probleemidest olen ka ise kogenud. Kasutatud materjalide lingid on postituse lÔpus.

Rooki postituses ei mainita Cephi lihtsalt niisama — Rook on pĂ”himĂ”tteliselt Ceph, mĂ€hitud Kubernetesesse, seega pĂ€rib see kĂ”ik selle probleemid. Alustame Ceph probleemidest.

Klastri haldamise lihtsustamine

Üks Rooki eelistest on Cephi mugav haldamine lĂ€bi Kubernetes.

Siiski sisaldab Ceph ĂŒle 1000 seadistuse parameetri, samas kui Rooki kaudu saame muuta vaid vĂ€iksema osa neist.

NĂ€ide Luminous'e pealt
> ceph daemon mon.a config show | wc -l
1401

Rooki turundatakse kui mugavat viisi Cephi paigaldamiseks ja vÀrskendamiseks.
Cephi paigaldamisel ilma Rookita pole probleeme — Ansible'i playbooki saab kirjutada 30 minutiga, kuid vĂ€rskendamisega on palju probleeme.

Tsitaat Krok'i postitusest

NÀide: crush seadistused ei tööta pÀrast vÀrskendust hummersist 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 puhul on probleeme.

NÀide: Versiooni 12.2.6 vÀrskendamine viib klastrite seisundisse health err ja tinglikult vigase PG.
ceph.com/releases/v12-2-8-released

Ära vĂ€rskenda, oota ja testige? Aga me kasutame Rooki just mugava vĂ€rskendamise tĂ”ttu.

Rooki klastrite hÀdaolukordade taastamise keerukus

NÀide: OSD kukub, visates endale vigu. Kahtlustate, et probleem on mÔnes seadistuse parameetris, soovite muuta konfi konkreetse demoni jaoks, kuid ei saa, kuna teil on Kubernetes ja DaemonSet.

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

Silumine keerukus

MĂ”ne seadistuse ja jĂ”udluse testimise jaoks on vajalik otsene ĂŒhendus OSD demoni soketiga. Rooki puhul tuleb kĂ”igepealt leida Ă”ige konteiner, seejĂ€rel siseneda sellesse, avastada, et debug tööriistad puuduvad ja vĂ€ga pettuda.

OSD-de jÀrjepidev tÔusmise keerukus

NĂ€ide: OSD kukub OOM-i tĂ”ttu, algab ĂŒmberjaotamine ja seejĂ€rel kukuvad jĂ€rgmised.

Lahendus: TĂ”stke OSD ĂŒhe kaupa, oodake, kuni see on tĂ€ielikult klastrisse ĂŒhendatud, ja tĂ”stke jĂ€rgmised. (Rohkem teavet leiate raportist Ceph. Katastroofide anatoomia).

Baremetal installatsiooni korral tehakse see lihtsalt kĂ€sitsi, Rooki ja ĂŒhe OSD puhul node'is ei ole erilisi probleeme, probleemid jĂ€rjestikuste tĂ”usudega tekivad juhul, kui OSD > 1 node'is.

Muidugi, need on lahendatavad, kuid me ju toome Rooki lihtsustamiseks, aga saame keerukuse.

Ceph deemonite limiitide valimise keerukus.

Baremetal Ceph installatsiooni korral on vajalikud ressursid klastrisse piisavalt lihtne arvutada — valemid ja uuringud on olemas. NĂ”rkade CPU-de kasutamisel peate siiski lĂ€bima rea jĂ”udluskatsed, Ă”ppima, mis on Numa, kuid see on ikkagi lihtsam kui Rookis.

Rooki puhul, vĂ€lja arvatud mĂ€lu piirid, mille saab arvutada, tekib kĂŒsimus CPU piire seadmise kohta.

Ja siin peate tegelema jÔudluskatsed. Kui piirid on liiga madalad, saate aeglase klastriga, kui mÀÀrate unlimi, siis saate aktiivse CPU kasutuse rebalance'i ajal, mis avaldab halba mÔju teie rakendustele Kuberneteses.

Probleemid vÔrgus kommunikatsiooniga v1.

Ceph jaoks soovitatakse kasutada 2x10Gb vĂ”rku. Üks kliendiliikluseks, teine Cephi teenuste vajaduste (rebalance) jaoks. Kui elate Cephiga baremetal keskkonnas, on see jaotus lihtsalt seadistatav, kui aga elate Rookiga, pĂ”hjustab vĂ”rgu jagamine teile probleeme, kuna kaugel pole iga klastrikonfiguratsioon, mis lubaks pod-ile kaks erinevat vĂ”rku.

Probleemid vÔrgus kommunikatsiooniga v2.

Kui loobute vÔrgu jagamisest, siis rebalance'i ajal blokeerib Cephi liiklus kogu kanali, ja teie rakendused Kuberneteses hakkavad tÔrkuma vÔi kukuvad kokku. Ceph rebalance'i kiirus on vÔimalik vÀhendada, kuid siis pika rebalance'i tÔttu suureneb risk, et teine node kukub klastrist vÀlja diskide vÔi OOM-i tÔttu, ja seal on garantii, et klaster muutub read-only.

Pikk rebalance — pikad rakenduste tĂ”rked.

Tsitaat postitusest Ceph. Katastroofide anatoomia.

Testklastri jÔudlus:

4 KB suurune kirjutamisoperatsioon vÔtab 1 ms aega, jÔudlus 1000 operatsiooni/sekundis 1 voos.

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

Seega, kui ĂŒks kolmest domeenist ebaĂ”nnestub, on klaster mĂ”nda aega degradeerunud seisundis, ja pool kuumadest objektidest jaotub erinevatesse versioonidesse, siis pool kirjutamisoperatsioonidest algab sundrestaureerimisega.

Sundrestaureerimise aega arvutame umbkaudu — kirjutamisoperatsioonid degradatsiooniga objektil.

Esiteks loeme 4 MB 22 ms, kirjutame 22 ms, ja siis kirjutame 1 ms jooksul 4 KB tegelikke andmeid. Kokku 45 ms ĂŒhe kirjutamisoperatsiooni jaoks degradeerunud objektil SSD-l, kui meie tavaline jĂ”udlus oli 1 ms — jĂ”udluse langus 45 korda.

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

Seega on rebalanseerimise kiirus kriitilise tÀhtsusega klastrite korrektseks toimimiseks.

Kohandatud serveri seaded ceph'i jaoks

Ceph vajab sageli spetsiifilist hosti hÀÀlestust.

NÀide: sysctl sÀtted ja samad JumboFrame'id, mÔned neist seadetest vÔivad teie koormusele negatiivselt mÔjuda.

Rook'i tegelik vajadus on kahtluse all

Kui olete pilves ja teil on salvestus teie pilveteenuse pakkujalt, on see oluliselt mugavam.

Kui olete oma serverites, siis ceph'i haldamine on mugavam ilma kubernetest.

Kas rendite servereid mÔnest odavast hostimisest? Siis ootab teid ees palju lÔbusat vÔrgu, selle latentsuse ja lÀbilaskevÔimega, mis kindlasti mÔjutab ceph'i negatiivselt.

KokkuvĂ”tteks: Kuberentes'e juurutamine ja salvestuse juurutamine on erinevad ĂŒlesanded erinevate sisendi ja lahenduste variatsioonidega — nende segamine tĂ€hendab vĂ”imaliku ohtliku kompromissi tegemist ĂŒhe vĂ”i teise kasuks. Nende lahenduste ĂŒhitamine on projekteerimise etapis vĂ€ga keeruline, rÀÀkimata ekspluateerimise ajast.

Kasutatud kirjanduse nimekiri:

Postitus #1 Aga teie rÀÀgite Ceph'ist
 kui hea see on tegelikult?
Postitus #2 Ceph. Katastroofi anatoomia

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster