Yeye si mzuri kwako

Kuhusiana na umaarufu unaokua wa Rook, ningependa kuzungumza juu ya mitego na shida zake ambazo zinakungoja njiani.

Kunihusu: Uzoefu katika usimamizi wa ceph kutoka toleo la nyundo, mwanzilishi wa jamii t.me/ceph_ru katika telegram.

Ili kutokuwa na msingi, nitarejelea machapisho yaliyokubaliwa na Habr (kuhukumu kwa ukadiriaji) kuhusu shida na ceph. Pia nilikumbana na shida nyingi katika machapisho haya. Viungo vya nyenzo zilizotumiwa viko mwisho wa chapisho.

Katika chapisho kuhusu Rook, tunataja ceph kwa sababu - Rook kimsingi ni ceph iliyofunikwa kwa kubernetes, ambayo inamaanisha inarithi shida zake zote. Wacha tuanze na shida za ceph.

Rahisisha usimamizi wa nguzo

Moja ya faida za Rook ni urahisi wa kusimamia ceph kupitia kuberentes.

Walakini, ceph ina zaidi ya vigezo 1000 vya usanidi, wakati huo huo, kupitia rook tunaweza tu kuhariri wachache wao.

Mfano kwenye Mwangaza
> ceph daemon mon.a onyesho la usanidi | wc -l
1401

Rook imewekwa kama njia rahisi ya kusakinisha na kusasisha ceph
Hakuna shida na kusanikisha ceph bila Rook - kitabu cha kucheza kinachofaa kimeandikwa kwa dakika 30, lakini kuna shida nyingi na uppdatering.

Nukuu kutoka kwa chapisho la Krok

Mfano: tunables za kuponda hazifanyi kazi kwa usahihi baada ya kusasisha kutoka kwa hummer hadi kito

> ceph osd kuponda show-tunables
{
...
"straw_calc_version": 1,
"kuruhusiwa_ndoo_algs": 22,
"profile": "haijulikani",
"optimal_tunables": 0,
...
}

Lakini hata ndani ya matoleo madogo kuna matatizo.

Mfano: Sasisha 12.2.6 kuleta nguzo katika hali ya makosa ya afya na PG iliyovunjika kwa masharti
ceph.com/releases/v12-2-8-released

Husisasishi, subiri na ujaribu? Lakini tunaonekana kutumia Rook kwa urahisi wa sasisho, kati ya mambo mengine.

Utata wa nguzo ya uokoaji maafa huko Rook

Mfano: OSD huanguka na upele wa makosa kwenye miguu yake. Unashuku kuwa tatizo liko katika mojawapo ya vigezo katika usanidi, unataka kubadilisha usanidi wa daemon maalum, lakini huwezi kwa sababu una kubernetes na DaemonSet.

Hakuna mbadala. ceph tell osd.Num injectargs haifanyi kazi - OSD inadanganya.

Utatuzi wa ugumu

Baadhi ya vipimo na utendakazi vinahitaji kuunganisha moja kwa moja kwenye tundu la osd la daemon. Kwa upande wa Rook, kwanza unahitaji kupata chombo unachotaka, kisha uingie ndani yake, pata zana haipo kwa utatuzi na usumbuke sana.

Ugumu wa kuinua OSD kwa mfuatano

Mfano: OSD iko katika OOM, usawazishaji huanza, baada ya hapo zifuatazo zinaanguka.

Suluhisho: Inua OSD moja kwa wakati, subiri hadi ijumuishwe kabisa kwenye nguzo na uinue zinazofuata. (Maelezo zaidi katika ripoti ya Ceph. Anatomy of a disaster).

Katika kesi ya usakinishaji wa baremetal, hii inafanywa kwa mkono tu; katika kesi ya Rook na OSD moja kwa nodi, hakuna shida fulani; shida na kuinua mbadala zitatokea ikiwa OSD> 1 kwa nodi.

Kwa kweli, zinaweza kutatuliwa, lakini tunatumia Rook kurahisisha mambo, lakini kupata ugumu zaidi.

Ugumu katika kuchagua mipaka ya ceph pepo

Kwa usanidi wa baremetal wa ceph, ni rahisi sana kuhesabu rasilimali zinazohitajika kwa nguzo - kuna fomula na utafiti unapatikana. Ikiwa unatumia CPU dhaifu, bado itabidi ufanye majaribio ya utendaji ili kujua Numa ni nini, lakini bado ni rahisi kuliko Rook.

Katika kesi ya Rook, pamoja na mipaka ya kumbukumbu ambayo inaweza kuhesabiwa, una swali la kuweka kikomo cha CPU.

Na hapa utalazimika kufanya kazi kwa bidii na vipimo vya utendaji. Ukipunguza mipaka, utapata nguzo polepole; ukiweka unlim, utapata utumiaji amilifu wa CPU wakati wa kusawazisha tena, ambayo itakuwa na athari mbaya kwa programu zako katika kubernetes.

Masuala ya Mtandao v1

Kwa ceph inashauriwa kutumia mtandao wa 2x10GB. Moja kwa trafiki ya mteja, nyingine kwa mahitaji ya huduma ya ceph (usawa). Ikiwa unaishi na ceph kwenye baremetal, basi mgawanyiko huu umeundwa kwa urahisi, ikiwa unaishi na Rook, basi mgawanyiko wa mitandao utakuletea matatizo, kutokana na ukweli kwamba sio kila usanidi wa nguzo hukuruhusu kulisha mitandao miwili tofauti kwenye pod. .

Masuala ya Mtandao v2

Ukikataa kutenganisha mitandao, basi wakati wa kusawazisha tena, trafiki ya ceph itaziba chaneli nzima na programu zako katika kubernetes zitapungua au kuanguka. Unaweza kupunguza kasi ya kusawazisha tena ceph, lakini basi kwa sababu ya kusawazisha tena kwa muda mrefu unapata hatari kubwa ya nodi ya pili kuanguka nje ya nguzo kupitia diski au OOM, na tayari kuna usomaji uliohakikishiwa tu kwa nguzo.

Usawa wa muda mrefu - lags ya muda mrefu ya maombi

Nukuu kutoka kwa chapisho la Ceph. Anatomy ya maafa.

Jaribu utendaji wa nguzo:

Uendeshaji wa uandishi wa ukubwa wa KB 4 huchukua ms 1, utendakazi ni shughuli 1000/sekunde katika uzi 1.

Uendeshaji wa 4 MB (ukubwa wa kitu) huchukua 22 ms, utendaji ni shughuli 45 / pili.

Kwa hivyo, wakati kikoa kimoja kati ya tatu kinashindwa, nguzo iko katika hali iliyoharibika kwa muda fulani, na nusu ya vitu vya moto husambazwa katika matoleo tofauti, kisha nusu ya shughuli za uandishi zitaanza na urejeshaji wa kulazimishwa.

Tunahesabu muda wa kurejesha kulazimishwa takriban - kuandika shughuli kwa kitu kilichoharibiwa.

Kwanza tunasoma 4 MB katika 22 ms, kuandika 22 ms, na kisha katika 1 ms tunaandika 4 KB ya data halisi. Jumla ya 45 ms kwa operesheni ya kuandika kwa kitu kilichoharibika kwenye SSD, wakati utendaji wa kawaida ulikuwa 1 ms - kushuka kwa mara 45 kwa utendaji.

Asilimia ya juu ya vitu vilivyoharibiwa tunavyo, kila kitu kinakuwa mbaya zaidi.

Inabadilika kuwa kasi ya kusawazisha ni muhimu kwa uendeshaji sahihi wa nguzo.

Mipangilio maalum ya seva ya ceph

ceph inaweza kuhitaji urekebishaji maalum wa mwenyeji.

Mfano: mipangilio ya sysctl na JumboFrame sawa, baadhi ya mipangilio hii inaweza kuathiri vibaya upakiaji wako.

Hitaji la kweli la Rook linabaki kuwa swali

Ikiwa uko kwenye wingu una hifadhi kutoka kwa mtoaji wako wa wingu, ambayo ni rahisi zaidi.

Ikiwa uko kwenye seva zako mwenyewe, basi kusimamia ceph itakuwa rahisi zaidi bila kubernetes.

Je, unakodi seva kutoka kwa upangishaji wa bei ya chini? Kisha utakuwa na furaha nyingi na mtandao, ucheleweshaji wake na bandwidth, ambayo huathiri wazi ceph.

Jumla: Utekelezaji wa kuberentes na uhifadhi wa utekelezaji ni kazi tofauti zilizo na pembejeo tofauti na chaguo tofauti za suluhisho - kuzichanganya kunamaanisha kufanya biashara inayoweza kuwa hatari kwa ajili ya moja au nyingine. Itakuwa vigumu sana kuchanganya ufumbuzi huu hata katika hatua ya kubuni, na bado kuna kipindi cha uendeshaji.

Orodha ya fasihi iliyotumiwa:

Chapisho #1 Lakini unasema Ceph... ni mzuri kiasi hicho?
Chapisho #2 Ceph. Anatomy ya maafa

Chanzo: mapenzi.com

Kuongeza maoni