Modail cruinneachaidhean fàilligeadh stèidhichte air PostgreSQL agus Pacemaker

Ro-ràdh

O chionn ùine air ais fhuair mi an obair a bhith a’ leasachadh brabhsair failover airson PostgreSQL, ag obair ann an grunn ionadan dàta ceangailte le snàithleach optigeach taobh a-staigh aon bhaile, agus comasach air seasamh an aghaidh fàilligeadh (mar eisimpleir, dubhadh) ann an aon ionad dàta. Mar am bathar-bog a tha an urra ri fulangas sgàinidhean, thagh mi pacemakeroir is e seo am fuasgladh oifigeil bho RedHat airson cruinneachaidhean fàilligeadh a chruthachadh. Tha e math oir tha RedHat a’ toirt taic dha, agus leis gu bheil am fuasgladh seo uile-choitcheann (modular). Le a chuideachadh, bidh e comasach dèanamh cinnteach à fulangas locht chan ann a-mhàin PostgreSQL, ach cuideachd seirbheisean eile, an dàrna cuid a’ cleachdadh mhodalan àbhaisteach no gan cruthachadh airson feumalachdan sònraichte.

Thog an co-dhùnadh seo ceist reusanta: dè cho fulangach ‘s a bhios buidheann fàiligeadh? Gus seo a sgrùdadh, leasaich mi being deuchainn a bhios a’ dèanamh atharrais air diofar fàilligidhean air na nodan cnuasachaidh, a’ feitheamh ri seirbheis a thoirt air ais, a’ faighinn air ais an nód a dh’ fhàillig, agus a’ leantainn air adhart a’ dèanamh deuchainn ann an lùb. B’ e hapgsql an t-ainm a bh’ air a’ phròiseact seo bho thùs, ach thar ùine dh’ fhàs mi sgìth leis an ainm, aig nach robh ach aon fhuaimreag. Mar sin, thòisich mi a’ gairm stòran-dàta fulangach air lochdan (agus seòladh IP a’ comharrachadh iad) crogan (caractar bho gheama coimpiutair anns a bheil a h-uile ball cudromach air a dhùblachadh), agus nodan, cruinneachaidhean agus am pròiseact fhèin tuchanka (a’ phlanaid far a bheil na krogans a’ fuireach).

A-nis tha an riaghladh air ceadachadh fosgail am pròiseact don choimhearsnachd stòr fosgailte fo chead MIT. Bidh an README air eadar-theangachadh gu Beurla a dh'aithghearr (oir thathar an dùil gur e luchd-leasachaidh Pacemaker agus PostgreSQL na prìomh luchd-cleachdaidh), agus chuir mi romhpa an seann dreach Ruiseanach den README a thaisbeanadh (gu ìre) ann an cruth an artaigil seo.

Modail cruinneachaidhean fàilligeadh stèidhichte air PostgreSQL agus Pacemaker

Tha cruinneachaidhean gan cleachdadh air innealan brìgheil VirtualBox. Thèid 12 inneal brìgheil gu h-iomlan (36GiB gu h-iomlan) a chuir a-steach, a bhios a’ dèanamh suas 4 cruinneachaidhean fulangach lochdan (roghainnean eadar-dhealaichte). Anns a’ chiad dà bhuidheann tha dà fhrithealaiche PostgreSQL, a tha suidhichte ann an diofar ionadan dàta, agus frithealaiche cumanta fhianais c inneal cuòram (air aoigheachd air inneal brìgheil saor ann an treas ionad dàta), a dh ’fhuasgladh mì-chinnt 50% / 50%, a’ toirt do bhòt do aon de na pàrtaidhean. An treas buidheann ann an trì ionadan dàta: aon mhaighstir, dà thràillean, chan eil inneal cuòram. Anns a ’cheathramh buidheann tha ceithir frithealaichean PostgreSQL, dhà airson gach ionad dàta: aon mhaighstir, an còrr mac-samhail, agus cuideachd a’ cleachdadh fhianais c inneal cuòram. Faodaidh an ceathramh seasamh an aghaidh fàilligeadh dà fhrithealaiche no aon ionad dàta. Faodar am fuasgladh seo a sgèileadh gu àireamh nas motha de mhac-samhail ma tha sin riatanach.

Seirbheis ùine cheart ntpd cuideachd air ath-dhealbhadh airson fulangas sgàinidhean, ach bidh e a’ cleachdadh an dòigh fhèin ntpd (modh dìlleachdan). Frithealaiche co-roinnte fhianais ag obair mar phrìomh fhrithealaiche NTP, a’ cuairteachadh a h-ùine gu gach buidheann, agus mar sin a’ sioncronadh a h-uile frithealaiche ri chèile. Ma tha fhianais a’ fàilligeadh no a’ fàs aonaranach, an uairsin tòisichidh aon de na frithealaichean brabhsair (taobh a-staigh a’ bhraisle) a’ sgaoileadh a h-ùine. Tasgadh cuideachail HTTP neach-ionaid cuideachd air a thogail gu fhianais, le a chuideachadh, tha cothrom aig innealan brìgheil eile air stòran Yum. Ann an da-rìribh, tha e coltach gum bi seirbheisean leithid ùine cheart agus proxies air an cumail air frithealaichean sònraichte, ach anns a’ bhothan tha iad air an cumail air fhianais dìreach gus an àireamh de dh’ innealan brìgheil agus àite a shàbhaladh.

Tionndaidhean

v0. Ag obair le CentOS 7 agus PostgreSQL 11 air VirtualBox 6.1.

Structar cnuasachaidh

Tha na cruinneachaidhean uile air an dealbhadh gus a bhith suidhichte ann an grunn ionadan dàta, air an cur còmhla ann an aon lìonra rèidh agus feumaidh iad seasamh an aghaidh fàilligeadh no iomallachd lìonra ann an aon ionad dàta. Is ann air sgàth sin neo-dhligheach cleachdadh airson dìon an aghaidh sgoltadh-eanchainn teicneòlas àbhaisteach Pacemaker ris an canar STONITH (Seilg an Noda Eile Sa Cheann) no feansaichean. A bhrìgh: ma thòisicheas na nodan anns a’ bhraisle fo amharas gu bheil rudeigin ceàrr air nód air choireigin, nach eil e a’ freagairt no ga ghiùlan fhèin gu ceàrr, bidh iad gu làidir ga chuir dheth tro innealan “taobh a-muigh”, mar eisimpleir, cairt smachd IPMI no UPS. . Ach chan obraich seo ach ann an cùisean far a bheil, ma thachras aon fhàilligeadh, an IPMI no frithealaiche UPS fhathast ag obair. An seo tha sinn an dùil dìon an aghaidh fàilligeadh mòran nas tubaisteach, nuair a dh'fhàillig an ionad dàta gu lèir (mar eisimpleir, a 'call cumhachd). Agus le leithid de dhiùltadh, a h-uile dad stonith-devices (IPMI, UPS, msaa) cuideachd nach obraich.

An àite sin, tha an siostam stèidhichte air a 'bheachd air cuòram. Tha guth aig a h-uile nod, agus chan urrainn ach an fheadhainn a chì còrr air leth nan nodan obrachadh. Canar an àireamh seo de “leth + 1”. cuòram. Mura ruigear an cuòram, bidh an nód a’ co-dhùnadh gu bheil e ann an aonaranachd lìonra agus feumaidh e na goireasan aige a chuir dheth, i.e. seo mar a tha e dìon sgoltadh-eanchainn. Mura obraich am bathar-bog a tha an urra ris a’ ghiùlan seo, feumaidh buidheann faire, mar eisimpleir, stèidhichte air IPMI, obrachadh.

Ma tha an àireamh de nodan eadhon (còmhla ann an dà ionad dàta), faodaidh mì-chinnt a bhith ann 50% / 50% (leth-cheud) nuair a bhios iomallachd lìonra a’ roinn a’ bhuidheann gu dìreach ann an leth. Mar sin, airson àireamh chothromach de nodan, bidh sinn a 'cur ris inneal cuòram na dheamhan gun iarrtas a dh’ fhaodar a chuir air bhog air an inneal brìgheil as saoire ann an treas ionad dàta. Bheir e a bhòt do aon de na roinnean (a tha e a’ faicinn), agus mar sin a’ fuasgladh na mì-chinnt 50%/50%. Dh’ ainmich mi am frithealaiche air an tèid an inneal cuòram a chuir air bhog fhianais (briathrachas bho repmgr, chòrd e rium).

Faodar goireasan a ghluasad bho àite gu àite, mar eisimpleir, bho luchd-frithealaidh lochtach gu feadhainn fallain, no fo stiùir luchd-rianachd an t-siostaim. Gus am bi fios aig teachdaichean càite a bheil na goireasan a tha a dhìth orra (càit an ceangal iad?), IP air bhog (seòladh IP). Is iad sin IPan as urrainn dha Pacemaker gluasad timcheall nodan (tha a h-uile dad air lìonra còmhnard). Tha gach fear dhiubh a’ samhlachadh goireas (seirbheis) agus bidh e suidhichte far am feum thu ceangal a dhèanamh gus faighinn chun t-seirbheis seo (anns a’ chùis againn, stòr-dàta).

Tuchanka1 (cuairt le teannachadh)

structar

Modail cruinneachaidhean fàilligeadh stèidhichte air PostgreSQL agus Pacemaker

B ’e am beachd gu bheil mòran stòran-dàta beaga againn le luchd ìosal, airson nach eil e prothaideach seirbheisiche tràillean sònraichte a chumail ann am modh teas-stad airson gnothaichean leughaidh a-mhàin (chan eil feum air a leithid de chaitheamh ghoireasan).

Tha aon fhrithealaiche aig gach ionad dàta. Tha dà chùis PostgreSQL aig gach frithealaiche (ann am briathrachas PostgreSQL canar cruinneachaidhean riutha, ach gus troimh-chèile a sheachnadh canaidh mi eisimpleirean riutha (a rèir stòran-dàta eile), agus cha chuir mi fios ach air cruinneachaidhean Pacemaker). Tha aon eisimpleir ag obair ann am prìomh mhodh, agus chan eil ann ach seirbheisean (chan eil ach IP fleòdraidh ga leantainn). Bidh an dàrna suidheachadh ag obair mar thràill airson an dàrna ionad dàta, agus bheir e seachad seirbheisean a-mhàin ma dh'fhàilligeas a mhaighstir. Leis nach bi a’ mhòr-chuid den ùine ach aon eisimpleir a-mach à dhà (am maighstir) a’ toirt seachad seirbheisean (dèan iarrtasan), tha goireasan an fhrithealaiche uile air an ùrachadh airson a’ mhaighstir (tha cuimhne air a riarachadh airson an tasgadan shared_buffers, msaa), ach airson an dàrna suidheachadh tha goireasan gu leòr ann cuideachd (ged is ann airson obrachadh suboptimal tro tasgadan an t-siostam faidhle) gun fhios nach obraich aon de na h-ionadan dàta. Chan eil an tràill a 'toirt seachad seirbheisean (chan eil e a' coileanadh iarrtasan leughaidh a-mhàin) rè obrachadh àbhaisteach a 'bhraisle, gus nach bi cogadh ann airson goireasan leis a' mhaighstir air an aon inneal.

Ann an cùis dà nodan, chan eil fulangas locht comasach ach le ath-riochdachadh asyncronach, oir le ath-riochdachadh sioncronaich, bidh fàilligeadh tràill a ‘leantainn gu stad a’ mhaighstir.

Gun fhianuis

Modail cruinneachaidhean fàilligeadh stèidhichte air PostgreSQL agus Pacemaker

Gun a bhith nad fhianais (inneal cuòram) Cha bheachdaich mi ach airson braisle Tuchanka1, leis a h-uile duine eile bidh e mar an aon sgeulachd. Ma dh’ fhailicheas neach-fianais, chan atharraich dad ann an structar a’ chnuasachd, leanaidh a h-uile càil ag obair san aon dòigh sa rinn e. Ach bidh an cuòram gu bhith 2 a-mach à 3, agus mar sin bidh fàilligeadh sam bith às deidh sin marbhtach don bhuidheann. Bidh e fhathast ri rèiteachadh gu h-èiginneach.

Tuchanka1 a dhiùltadh

Modail cruinneachaidhean fàilligeadh stèidhichte air PostgreSQL agus Pacemaker

Dh'fhàillig aon de na h-ionadan dàta airson Tuchanka1. Anns a 'chùis seo fhianais a’ bhòtadh gu dàrna nód ann an dàrna ionad dàta. An sin, bidh an tràill a bh ’ann roimhe a’ tionndadh gu bhith na mhaighstir, mar thoradh air an sin, bidh an dà mhaighstir ag obair air an aon fhrithealaiche agus bidh an dà IP fleòdraidh aca gan comharrachadh.

Tuchanka2 (clasaigeach)

structar

Modail cruinneachaidhean fàilligeadh stèidhichte air PostgreSQL agus Pacemaker

Sgeama clasaigeach de dhà nodan. Bidh am maighstir ag obair air aon, an tràill air an dàrna fear. Faodaidh an dithis iarrtasan a chuir an gnìomh (tha an tràill air a leughadh a-mhàin), agus mar sin tha an dithis air an comharrachadh le IP fleòdraidh: is e krogan2 am maighstir, is e krogan2s1 an tràill. Bidh an dà chuid am maighstir agus an tràill fo fhulangas lochdan.

Ann an cùis dà nodan, chan eil fulangas locht comasach ach le ath-riochdachadh asyncronach, oir le ath-riochdachadh sioncronaich, bidh fàilligeadh an tràill a ‘leantainn gu stad a’ mhaighstir.

Tuchanka2 a dhiùltadh

Modail cruinneachaidhean fàilligeadh stèidhichte air PostgreSQL agus Pacemaker

Ma dh'fhàilligeas aon de na h-ionadan dàta fhianais bhòtaichean airson an dàrna fear. Air an aon ionad dàta obrach, thèid am maighstir a thogail, agus cuiridh an dà IP fleòdraidh cuideam air: am maighstir agus an tràill. Gu dearbh, feumaidh an t-eisimpleir a bhith air a rèiteachadh gus am bi goireasan gu leòr aige (crìochan ceangail, msaa) gus gabhail ris a h-uile ceangal agus iarrtas bhon mhaighstir agus an seòladh IP aig an aon àm. Is e sin, rè obrachadh àbhaisteach bu chòir solar gu leòr de chrìochan a bhith aige.

Tuchanka4 (mòran thràillean)

structar

Modail cruinneachaidhean fàilligeadh stèidhichte air PostgreSQL agus Pacemaker

Ceann eile mar-thà. Tha stòran-dàta ann a gheibh mòran iarrtasan leughaidh a-mhàin (cùis àbhaisteach de làrach làn luchd). Tha Tuchanka4 na shuidheachadh far am faodadh trì no barrachd thràillean a bhith ann airson a leithid de dh'iarrtasan a làimhseachadh, ach fhathast chan eil cus. Le àireamh mhòr de thràillean, bidh e riatanach siostam mac-samhail rangachd a chruthachadh. Anns a 'chùis as lugha (san dealbh), tha dà fhrithealaiche aig gach aon den dà ionad dàta, gach fear le eisimpleir PostgreSQL.

Is e feart eile den sgeama seo gu bheil e comasach mar-thà aon ath-riochdachadh sioncronaich a chuir air dòigh. Tha e air a rèiteachadh gus ath-riochdachadh, ma ghabhas e dèanamh, gu ionad dàta eile, seach gu mac-samhail san aon ionad dàta ris a’ mhaighstir. Tha am maighstir agus gach tràill air an comharrachadh le IP fleòdraidh. Gu fortanach, eadar thràillean bidh e riatanach iarrtasan a chothromachadh dòigh air choireigin neach-ionaid sql, mar eisimpleir, air taobh an neach-dèiligidh. Is dòcha gum feum diofar sheòrsaichean de luchd-dèiligidh diofar sheòrsaichean neach-ionaid sql, agus chan eil ach luchd-leasachaidh luchd-cleachdaidh eòlach air cò a dh'fheumas. Faodar an gnìomh seo a chuir an gnìomh an dàrna cuid le daemon bhon taobh a-muigh no le leabharlann teachdaiche (amar ceangail), msaa. Tha seo uile a’ dol nas fhaide na cuspair cruinneachadh stòr-dàta failover (failover SQL neach-ionaid faodar a chuir an gnìomh gu neo-eisimeileach, còmhla ri fulangas locht teachdaiche).

Tuchanka4 a dhiùltadh

Modail cruinneachaidhean fàilligeadh stèidhichte air PostgreSQL agus Pacemaker

Ma dh’ fhailicheas aon ionad dàta (ie, dà fhrithealaiche), bidh luchd-fianais a’ bhòtadh airson an dàrna fear. Mar thoradh air an sin, tha dà fhrithealaiche a 'ruith anns an dàrna ionad dàta: tha aon a' ruith maighstir, agus tha am maighstir a 'seòladh IP a' comharrachadh (airson iarrtasan sgrìobhaidh leughaidh fhaighinn); agus air an dàrna frithealaiche tha tràill a’ ruith le mac-samhail sioncronaich, agus tha aon de na IPan fleòdraidh tràillean a’ comharrachadh air (airson iarrtasan leughaidh a-mhàin).

Is e a’ chiad rud ri thoirt fa-near nach bi a h-uile IP fleòdraidh tràillean nan luchd-obrach, ach dìreach aon. Agus airson obrachadh leis gu ceart bidh feum air sin neach-ionaid sql ath-stiùireadh a h-uile iarrtas chun an aon IP fleòdraidh a bha air fhàgail; agus ma tha neach-ionaid sql chan e, an uairsin faodaidh tu liosta a dhèanamh de na tràillean IP fleòdraidh air an sgaradh le cromagan anns an URL ceangail. Anns a 'chùis seo, le libpq bidh an ceangal ris a’ chiad IP obrach, tha seo air a dhèanamh san t-siostam deuchainn fèin-ghluasadach. 'S dòcha ann an leabharlannan eile, mar eisimpleir, JDBC, chan obraich seo agus tha e riatanach neach-ionaid sql. Tha seo air a dhèanamh leis gu bheil casg air IPan fleòdraidh airson tràillean a bhith air an togail aig an aon àm air aon fhrithealaiche, gus am bi iad air an sgaoileadh gu cothromach am measg luchd-frithealaidh thràillean ma tha grunn dhiubh a’ ruith.

San dàrna h-àite: eadhon ma dh’ fhàillig ionad dàta, thèid ath-riochdachadh sioncronaich a chumail suas. Agus eadhon ged a thachras fàiligeadh àrd-sgoile, is e sin, gu bheil aon den dà sheirbheisiche san ionad dàta a tha air fhàgail a’ fàiligeadh, cumaidh am buidheann, ged a sguireas e seirbheisean a thoirt seachad, fiosrachadh fhathast mu dheidhinn a h-uile gnothach dealasach a thug e seachad dearbhadh air a’ ghealladh. (cha bhi fiosrachadh air chall ma thachras fàiligeadh àrd-sgoile).

Tuchanka3 (3 ionadan dàta)

structar

Modail cruinneachaidhean fàilligeadh stèidhichte air PostgreSQL agus Pacemaker

Is e cruinneachadh a tha seo airson suidheachadh far a bheil trì ionadan dàta làn-ghnìomhach, agus tha frithealaiche stòr-dàta làn-ghnìomhach aig gach fear dhiubh. Anns a 'chùis seo inneal cuòram chan eil feum air. Tha maighstir ann an aon ionad dàta, agus tha tràillean anns an dithis eile. Tha ath-riochdachadh sioncronaich, dèan seòrsa AON (tràill 1, tràill2), is e sin, gheibh an neach-dèiligidh dearbhadh gealltanas nuair is e gin de na tràillean a’ chiad fhear a fhreagair gu bheil e air gabhail ris a’ ghealladh. Tha goireasan air an comharrachadh le aon IP fleòdraidh airson a’ mhaighstir agus dhà airson tràillean. Eu-coltach ri Tuchanka4, tha na trì IPan fleòdraidh a’ fulang le lochdan. Gus ceistean SQL a leughadh a-mhàin a chothromachadh, faodaidh tu a chleachdadh neach-ionaid sql (le fulangas fa leth), no sònraich aon IP fleòdraidh tràillean gu leth an luchd-dèiligidh, agus an leth eile chun dàrna fear.

Tuchanka3 a dhiùltadh

Modail cruinneachaidhean fàilligeadh stèidhichte air PostgreSQL agus Pacemaker

Ma dh’ fhailicheas aon de na h-ionadan dàta, tha dhà fhathast ann. Ann an aon, tha am maighstir agus IP fleòdraidh bhon mhaighstir air an togail, anns an dàrna fear - IPan fleòdraidh tràill agus an dà chuid tràillean (feumaidh cùl-stòr dùbailte de ghoireasan a bhith aig an eisimpleir gus gabhail ris a h-uile ceangal bhon dà IP fleòdraidh tràillean). Ath-riochdachadh sioncronaich eadar maighstirean agus tràillean. Cuideachd, sàbhalaidh am buidheann fiosrachadh mu ghnothaichean dearbhte agus dearbhte (cha tèid fiosrachadh a chall) ma thèid dà ionad dàta a sgrios (mura tèid an sgrios aig an aon àm).

Cho-dhùin mi gun a bhith a’ toirt a-steach tuairisgeul mionaideach air structar an fhaidhle agus cleachdadh. Faodaidh duine sam bith a tha airson cluich mun cuairt a leughadh gu lèir anns an README. Chan eil mi a’ toirt seachad ach tuairisgeul air deuchainn fèin-ghluasadach.

Siostam deuchainn fèin-ghluasadach

Gus fulangas sgàinidhean cruinneachaidhean a dhearbhadh le bhith ag atharrais air diofar sgàinidhean, chaidh siostam deuchainn fèin-ghluasadach a chruthachadh. Air a chuir air bhog le sgriobt test/failure. Faodaidh an sgriobt na h-àireamhan de chlàran a tha thu airson deuchainn a ghabhail mar pharaimearan. Mar eisimpleir an òrdugh seo:

test/failure 2 3

cha dèan e deuchainn ach air an dàrna agus an treas buidheann. Mura h-eil crìochan air an sònrachadh, thèid na cruinneachaidhean uile a dhearbhadh. Bithear a’ dèanamh deuchainn air a h-uile buidheann aig an aon àm, agus tha an toradh air a thaisbeanadh anns a’ phannal tmux. Bidh Tmux a’ cleachdadh frithealaiche tmux sònraichte, agus mar sin faodar an sgriobt a ruith bho tmux àbhaisteach, agus mar thoradh air sin bidh tmux neadachaidh ann. Tha mi a’ moladh an inneal-crìochnachaidh a chleachdadh ann an uinneag mhòr agus le cruth-clò beag. Mus tòisich an deuchainn, thèid a h-uile inneal brìgheil a thoirt air ais gu dealbh beag aig an àm a bhios an sgriobt deiseil setup.

Modail cruinneachaidhean fàilligeadh stèidhichte air PostgreSQL agus Pacemaker

Tha an inneal-crìochnachaidh air a roinn ann an colbhan a rèir an àireamh de chlàran a thathar a’ dèanamh deuchainn; gu bunaiteach (san dealbh-sgrìn) tha ceithir ann. Bheir mi cunntas air susbaint nan colbhan a’ cleachdadh eisimpleir Tuchanka2. Tha na pannalan san dealbh air an àireamhachadh:

  1. Tha staitistig deuchainn air a thaisbeanadh an seo. Colbhan:
    • fàilligeadh - ainm an deuchainn (gnìomh san sgriobt) a tha ag aithris an locht.
    • reaction - ùine chuibheasach àireamhachd ann an diogan nuair a fhuair am buidheann a ghnìomhachd air ais. Tha e air a thomhas bho thoiseach an sgriobt a’ dèanamh atharrais air sgàineadh gus an àm nuair a bhios an cruinneachadh ag ath-nuadhachadh a ghnìomhachd agus comasach air cumail a’ toirt seachad seirbheisean. Ma tha an ùine gu math goirid, mar eisimpleir, sia diogan (bidh seo a’ tachairt ann an cruinneachaidhean le grunn thràillean (Tuchanka3 agus Tuchanka4)), tha seo a’ ciallachadh gun robh a’ choire air an tràill asynchronous agus nach tug e buaidh air coileanadh ann an dòigh sam bith; cha robh. suidsichean stàite brabhsair.
    • gluasaid - a’ sealltainn sgaoileadh (cruinneas) an luach reaction a’ cleachdadh an dòigh claonadh àbhaisteach.
    • a 'cunntadh - cia mheud uair a chaidh an deuchainn seo a dhèanamh.
  2. Leigidh log goirid dhut measadh a dhèanamh air na tha am buidheann a’ dèanamh an-dràsta. Tha an àireamh ath-aithris (deuchainn), an clàr-ama agus ainm na h-obrach air an taisbeanadh. Tha ruith ro fhada (> 5 mionaidean) a’ nochdadh duilgheadas.
  3. chridhe (cridhe) - àm làithreach. Airson measadh lèirsinneach air coileanadh maighstirean Tha an ùine a th’ ann an-dràsta air a sgrìobhadh chun bhòrd aige gu cunbhalach a’ cleachdadh am maighstir IP fleòdraidh. Ma shoirbhicheas leis, chithear an toradh sa phannal seo.
  4. chùis (pulse) - "àm làithreach", a chaidh a chlàradh roimhe leis an sgriobt chridhe a mhaighstir, leugh a nis o tràill tron ​​ip float aige. A’ leigeil leat measadh lèirsinneach a dhèanamh air coileanadh an tràill agus ath-riochdachadh. Ann an Tuchanka1 chan eil tràillean ann le IP fleòdraidh (chan eil tràillean a’ toirt seachad seirbheisean), ach tha dà chùis ann (DBn), agus mar sin cha tèid a shealltainn an seo chùisagus chridhe dara h-aite.
  5. A’ cumail sùil air slàinte brabhsair a’ cleachdadh a’ ghoireas pcs mon. A’ sealltainn structar, cuairteachadh ghoireasan thairis air nodan agus fiosrachadh feumail eile.
  6. Tha sgrùdadh siostam bho gach inneal brìgheil sa bhuidheann air a thaisbeanadh an seo. Is dòcha gum bi barrachd phannalan mar sin ann a rèir cia mheud inneal brìgheil a tha aig a’ bhuidheann. Dà ghraf Luchdaich a-nuas CPU (tha dà phròiseasar aig innealan brìgheil), ainm inneal brìgheil, Luchdaich Siostam (ainmichte Cuibheasachd luchdaidh oir tha e cuibheasach thairis air 5, 10 agus 15 mionaidean), dàta pròiseas agus riarachadh cuimhne.
  7. Lorg an sgriobt a 'dèanamh deuchainn. Ma thachras mì-ghnàthachadh - briseadh gu h-obann air gnìomhachd no cearcall feitheimh gun chrìoch - an seo chì thu adhbhar a ’ghiùlain seo.

Tha an deuchainn air a dhèanamh ann an dà ìre. An toiseach, bidh an sgriobt a’ dol tro gach seòrsa deuchainn, a’ taghadh inneal brìgheil air thuaiream airson an deuchainn seo a chuir an sàs. An uairsin thèid cearcall deuchainn gun chrìoch a dhèanamh, thèid na h-innealan brìgheil agus an locht a thaghadh air thuaiream gach uair. Crìoch gu h-obann air an sgriobt deuchainn (pannal aig a ’bhonn) no lùb gun chrìoch de bhith a’ feitheamh ri rudeigin (> ùine cur gu bàs 5 mionaidean airson aon ghnìomhachd, chithear seo san lorg) a ’nochdadh gu bheil cuid de na deuchainnean air a’ bhuidheann seo air fàiligeadh.

Tha gach deuchainn air a dhèanamh suas de na gnìomhan a leanas:

  1. Cuir air bhog gnìomh a bhios ag aithris locht.
  2. Ready? - a’ feitheamh ris a’ bhuidheann ath-nuadhachadh (nuair a bhios a h-uile seirbheis air a thoirt seachad).
  3. A’ sealltainn an ùine-ama ath-bheothachaidh brabhsair (reaction).
  4. Fix - tha am buidheann “ga chàradh.” Às deidh sin bu chòir dha tilleadh gu staid làn-ghnìomhach agus a bhith deiseil airson an ath dhuilgheadas.

Seo liosta de dheuchainnean le tuairisgeul air na bhios iad a’ dèanamh:

  • ForcBomb: A’ cruthachadh “A-mach à cuimhne” a’ cleachdadh boma forc.
  • OutOfspace: Tha an dreach cruaidh làn. Ach tha an deuchainn caran samhlachail; leis an eallach beag a thèid a chruthachadh aig àm deuchainn, mar as trice cha bhith PostgreSQL a’ fàiligeadh nuair a bhios an draibhear cruaidh làn.
  • Postgres-KILL: a 'marbhadh PostgreSQL leis an àithne killall -KILL postgres.
  • Postgres-STOP: a 'crochadh òrdugh PostgreSQL killall -STOP postgres.
  • cumhachd dheth: “de-energizes” an inneal brìgheil leis an àithne VBoxManage controlvm "виртуалка" poweroff.
  • Ath-: a 'toirt thairis air an inneal mas-fhìor leis an àithne VBoxManage controlvm "виртуалка" reset.
  • SBD-STOP: a 'cur stad air an deamhan SBD leis an àithne killall -STOP sbd.
  • Dùin sìos: a’ cur àithne chun inneal brìgheil tro SSH systemctl poweroff, tha an siostam a 'dùnadh sìos gu gràsmhor.
  • Dì-cheangal: iomallachd lìonra, àithne VBoxManage controlvm "виртуалка" setlinkstate1 off.

A’ crìochnachadh deuchainn an dàrna cuid a’ cleachdadh an àithne àbhaisteach tmux “kill-window” Ctrl-b &, no an àithne "detach-client". Ctrl-b d: aig an ìre seo thig an deuchainn gu crìch, bidh tmux a’ dùnadh, tha innealan brìgheil air an tionndadh dheth.

Duilgheadasan air an comharrachadh aig àm deuchainn

  • Aig an àm seo deamhan faire sbd ag obair air stad a chur air deamhan a chaidh fhaicinn, ach gun a bhith gan reothadh. Agus, mar thoradh air sin, sgàinidhean a tha a 'leantainn gu reothadh a-mhàin Corosync и pacemaker, ach gun a bhith crochte sbd. Airson seic Corosync mu thràth PR#83 (air GitHub aig sbd), gabhail ris an t-snàthaid mhaighstir. Gheall iad (ann am PR#83) gum biodh rudeigin coltach ris ann airson Pacemaker, tha mi an dòchas gum biodh Hat Dearg 8 nì. Ach tha “mì-obrachaidhean” mar sin tuairmeasach agus faodar an atharrais gu furasta le bhith a’ cleachdadh, mar eisimpleir, killall -STOP corosync, ach na coinnich gu bràth ann am fìor bheatha.

  • У pacemaker anns an tionndadh airson CentOS 7 air a shuidheachadh gu ceàrr sync_timeout у inneal cuòram, Mar thoradh ma dh'fhàillig aon nód, le beagan coltachd chaidh an dàrna nód ath-thòiseachadh cuideachd, dh' ionnsuidh an robh còir aig a' mhaighstir gluasad. Air a leigheas le meudachadh sync_timeout у inneal cuòram rè cleachdadh (ann an sgriobt setup/setup1). Cha do ghabh an luchd-leasachaidh ris an atharrachadh seo pacemaker, an àite sin gheall iad am bun-structar ath-dhealbhadh ann an dòigh (aig àm ri teachd neo-ainmichte) gun deidheadh ​​​​an ùine-ama seo a thomhas gu fèin-ghluasadach.

  • Ma shònraicheas rèiteachadh an stòr-dàta sin LC_MESSAGES (teachdaireachdan teacsa) Faodar Unicode a chleachdadh, m.e. ru_RU.UTF-8, an uairsin aig toiseach tòiseachaidh sgaoileadh ann an àrainneachd far nach eil an locale UTF-8, can ann an àrainneachd falamh (an seo ceumadair+pgsqlms(paf) ruith sgaoileadh) an uairsin bidh comharran ceist anns an log an àite litrichean UTF-8. Chan eil luchd-leasachaidh PostgreSQL air aontachadh dè a nì iad sa chùis seo. Tha e a 'cosg, feumaidh tu a stàladh LC_MESSAGES=en_US.UTF-8 nuair a bhios tu a’ rèiteachadh (cruthachadh) eisimpleir stòr-dàta.

  • Ma tha wal_receiver_timeout air a shuidheachadh (mar as trice is e 60s a th’ ann), an uairsin rè deuchainn PostgreSQL-STOP air a ’mhaighstir anns na cruinneachaidhean tuchanka3 agus tuchanka4 chan eil ath-riochdachadh ag ath-cheangal ris a’ mhaighstir ùr. Tha mac-samhail ann sioncronaich, agus mar sin chan e a-mhàin gu bheil an tràill a’ stad, ach cuideachd am maighstir ùr. Ag obair timcheall le bhith a’ suidheachadh wal_receiver_timeout=0 nuair a thathar a’ rèiteachadh PostgreSQL.

  • Bho àm gu àm chunnaic mi ath-riochdachadh a’ reothadh ann am PostgreSQL anns an deuchainn ForkBomb (thar-shruth cuimhne). Às deidh ForkBomb, uaireannan is dòcha nach bi tràillean ag ath-cheangal ris a’ mhaighstir ùr. Cha do thachair mi ach ri seo anns na cruinneachaidhean tuchanka3 agus tuchanka4, far an do reothadh am maighstir air sgàth mac-samhail sioncronaich. Dh'fhalbh an duilgheadas leis fhèin an dèidh ùine mhòr (mu dhà uair a thìde). Tha feum air tuilleadh rannsachaidh gus seo a cheartachadh. Tha na comharraidhean coltach ris a 'bhiast roimhe, a tha air adhbhrachadh le adhbhar eadar-dhealaichte, ach leis na h-aon bhuilean.

Dealbh Krogan air a thoirt bho Deviant Art le cead an ùghdair:

Modail cruinneachaidhean fàilligeadh stèidhichte air PostgreSQL agus Pacemaker

Source: www.habr.com

Cuir beachd ann