ʻO ka hui o nā nodes ʻelua - aia ka diabolo i nā kikoʻī

Aloha, Habr! Ke hāʻawi aku nei au iā ʻoe i kahi unuhi o ka ʻatikala "ʻElua Nodes - Aia ka Diabolo i nā kikoʻī" na Andrew Beekhof.

Nui ka poʻe i makemake i nā pūʻulu node ʻelua no ka mea ʻoi aku ka maʻalahi o ka manaʻo a he 33% ʻoi aku ka maikaʻi ma mua o kā lākou mau node ʻekolu. ʻOiai hiki ke hoʻohui i kahi pūʻulu maikaʻi o nā nodes ʻelua, i ka nui o nā hihia, ma muli o nā hiʻohiʻona i noʻonoʻo ʻole ʻia, ʻo ia ʻano hoʻonohonoho e hana i nā pilikia he nui ʻole.

ʻO ka hana mua i ka hoʻokumu ʻana i nā ʻōnaehana kiʻekiʻe loa e ʻimi a hoʻāʻo e hoʻopau i nā wahi o ka hāʻule ʻole, pinepine ʻia e like me SPoF (kahi o ka hemahema).

Pono e hoʻomanaʻo ʻaʻole hiki ke hoʻopau i nā pilikia āpau o ka downtime i kekahi ʻōnaehana. Loaʻa kēia mai ka ʻoiaʻiʻo o kahi pale maʻamau i ka pilikia ʻo ia ka hoʻokomo ʻana i kekahi redundancy, e alakaʻi ana i ka hoʻonui ʻana i ka paʻakikī o ka ʻōnaehana a me ka puka ʻana o nā wahi hou o ka hemahema. No laila, hana mua mākou i kahi kuʻikahi a nānā i nā hanana e pili ana i kēlā me kēia wahi o ka hāʻule ʻole, ʻaʻole ma nā kaulahao o nā mea pili a, no laila, ʻoi aku ka liʻiliʻi o nā hanana.

Hāʻawi ʻia i nā kālepa-offs, ʻaʻole mākou e ʻimi wale i ka SPoF, akā i ke kaulike ʻana i nā pilikia a me nā hopena, ʻo ia ka hopena o ka hopena o ka mea koʻikoʻi a me ka mea ʻole i ʻokoʻa no kēlā me kēia kau.

ʻAʻole pono nā kānaka a pau i nā mea hoʻolako uila me nā laina mana kūʻokoʻa. ʻOiai ua uku ʻia ka paranoia no hoʻokahi mea kūʻai aku i ka wā i ʻike ai kā lākou nānā ʻana i kahi transformer hewa. Ua kelepona ka mea kūʻai aku e hoʻāʻo e makaʻala i ka hui mana a hiki i ka pahū ʻana o ka transformer hewa.

ʻO kahi kumu hoʻomaka maoli ka loaʻa ʻana o hoʻokahi node i loko o ka ʻōnaehana. Eia naʻe, ma mua o ka hiki ʻana i ka ʻōnaehana ke hoʻoneʻe i nā lawelawe i ka node e ola nei ma hope o ka hāʻule ʻana, pono ia e hōʻoia i ka hana ʻole o nā lawelawe e neʻe ʻia ma kahi ʻē.

ʻAʻohe ʻaoʻao i lalo o kahi pūʻulu node ʻelua inā loaʻa ka hopena i nā node ʻelua e lawelawe ana i ka pūnaewele static like. Eia nō naʻe, hoʻololi nā mea inā ʻo ka hopena ka hoʻokele kūʻokoʻa ʻana o nā ʻaoʻao ʻelua i kahi pila hana like ʻole a hāʻawi i ke komo kākau ʻole ʻole ʻia i kahi waihona i hoʻopili ʻia a i ʻole ka ʻōnaehana faila.

No laila, no ka pale ʻana i ka palaho ʻikepili ma muli o ka hemahema o ka node hoʻokahi - ke hilinaʻi nei mākou i kahi mea i kapa ʻia "dissociation" (pa).

ʻO ke kumu o ka dissociation

Aia ma ka puʻuwai o ke kumu o ka dissociation ka nīnau: hiki i kahi node hoʻokūkū ke kumu i ka palaho ʻikepili? Inā he hanana paha ka palaho ʻikepili, ʻo kahi hopena maikaʻi e hoʻokaʻawale i ka node mai nā noi komo a me ka mālama mau. ʻO ke ala maʻamau i ka hoʻokaʻawale ʻana, ʻo ia ka wehe ʻana i nā nodes hewa.

ʻElua mau ʻano o nā ʻano dissociation, aʻu e kāhea ai kuhikuhi и kū ʻole, akā hiki ke kapa like ʻia lākou ʻeleu и paʻapū. Hoʻokomo ʻia nā hana pololei ma ka ʻaoʻao o nā hoa ola, e like me ka launa pū ʻana me kahi IPMI (Intelligent Platform Management Interface) a i ʻole iLO (he ʻano hana no ka hoʻokele ʻana i nā kikowaena me ka loaʻa ʻole o ke kino iā lākou), ʻoiai ke hilinaʻi nei nā ala ʻole i ka hemahema. node no ka hoʻomaopopo ʻana aia i kahi kūlana maikaʻi ʻole (a i ʻole ke pale ʻana i nā lālā ʻē aʻe mai ka hoʻōla ʻana) a me ka hōʻailona. ʻīlio kiaʻi lako e pili ana i ka pono e wehe i ka node hemahema.

Kōkua ʻo Quorum i ka hoʻohana ʻana i nā ala pololei a i ʻole.

Dissociation pololei

I ka hihia o ka dissociation pololei, hiki iā mākou ke hoʻohana i ka quorum e pale ai i nā lāhui dissociation i ka wā o ka hemahema o ka pūnaewele.

Me ka manaʻo o ka quorum, lawa ka ʻike i loko o ka ʻōnaehana (ʻoiai me ka ʻole o ka hoʻopili ʻana i kona mau hoa) no ka ʻike pono ʻana o nā nodes inā pono lākou e hoʻomaka i ka dissociation a/a i ʻole ka hoʻihoʻi.

Me ka ʻole o ke kōrum, e manaʻo pono nā ʻaoʻao ʻelua o kahi ʻāpana pūnaewele ua make kēlā ʻaoʻao a e ʻimi e hoʻokaʻawale i kekahi. I ka hihia maikaʻi loa, hiki i nā ʻaoʻao ʻelua ke pani i ka pūʻulu holoʻokoʻa. ʻO kahi hiʻohiʻona ʻē aʻe he makematch, kahi loop loop pau ʻole o nā nodes spawning, ʻaʻole ʻike i kā lākou mau hoa, rebooting iā lākou, a hoʻomaka i ka hoʻihoʻi hou ʻana i ka wā e hahai ai kā lākou hoa i ka loina like.

ʻO ka pilikia me ka disassociation ʻo ka loaʻa ʻole o nā mea hoʻohana maʻamau ma muli o nā hanana like ʻole a mākou e makemake ai e kuhikuhi no ka hoʻihoʻi. Hoʻokomo ʻia ka hapa nui o nā kāleka IPMI a me iLO ma luna o nā pūʻali a lākou e hoʻokele ai, a ma ke ʻano maʻamau, hoʻohana i ka pūnaewele like, kahi e manaʻoʻiʻo ai ka poʻe hoʻokipa ʻē aʻe i waho.

ʻO ka mea pōʻino, ʻike pinepine ʻia nā hiʻohiʻona hana o IPMI a me iLo i ka manawa o ke kūʻai ʻana i nā lako.

ʻO ka hoʻokaʻawale ʻole

He mea koʻikoʻi nō hoʻi ke kōrum no ka mālama ʻana i ka hoʻokaʻawale ʻole; inā hana pololei ʻia, hiki i ke kōrum ke ʻae i ka poʻe i pakele e manaʻo e hoʻololi nā node nalowale i kahi kūlana palekana ma hope o kekahi manawa.

Me kēia hoʻonohonoho hoʻonohonoho, hoʻonohonoho hou ʻia ka mīkini kiaʻi kiaʻi i kēlā me kēia N kekona inā ʻaʻole nalowale ke kōrum. Inā pau ka manawa (maʻamau he nui o N), a laila hana ka mea hana i kahi mana maikaʻi ʻole (ʻaʻole pani ʻia).

He mea maikaʻi loa kēia ala, akā me ka ʻole o kahi kōrum ʻaʻole lawa ka ʻike i loko o ka pūʻulu e mālama ai. ʻAʻole maʻalahi ka haʻi ʻana i ka ʻokoʻa ma waena o ka pau ʻana o ka pūnaewele a me ka hemahema o ka peer node. ʻO ke kumu o kēia mea ʻoiai ʻaʻole hiki ke hoʻokaʻawale i waena o nā hihia ʻelua, koi ʻia ʻoe e koho i ka ʻano like i nā hihia ʻelua.

ʻO ka pilikia me ke koho ʻana i hoʻokahi ʻano, ʻaʻohe papa hana e hoʻonui i ka loaʻa a pale i ka nalowale o ka ʻikepili.

  • Inā koho ʻoe e noʻonoʻo i ka hana o ka node peer akā ʻaʻole i hāʻawi ʻia, e hoʻopau pono ka pūʻulu i nā lawelawe e holo ana e uku no ka nalowale o nā lawelawe mai ka node peer hemahema.
  • Inā hoʻoholo ʻoe e manaʻo e hāʻule ana kahi node, akā he hewa wale nō ia o ka pūnaewele a ʻoiaʻiʻo ka hana o ka node mamao, a laila ʻoi aku ka maikaʻi o ke kau inoa ʻana no kahi hoʻoponopono manual e hiki mai ana o nā pūʻulu ʻikepili hopena.

ʻAʻohe o ka heuristic āu e hoʻohana ai, he mea liʻiliʻi ka hana ʻana i kahi hāʻule e hoʻopōʻino ai nā ʻaoʻao ʻelua a i ʻole ke kumu e pani ai ka pūʻulu i nā node e ola nei. ʻO ka hoʻohana ʻole ʻana i ka quorum e hoʻonele maoli i ka puʻupuʻu o kekahi o nā mea hana ikaika loa i kāna arsenal.

Inā ʻaʻohe mea ʻē aʻe, ʻo ke ala maikaʻi loa ʻo ka mōhai ʻana i ka loaʻa (eia ka mea kākau e pili ana i ka theorem CAP). ʻAʻole kōkua ka loaʻa kiʻekiʻe o nā ʻikepili i hewa i kekahi, a ʻaʻole leʻaleʻa ka hoʻoponopono lima ʻana i nā pūʻulu ʻikepili like ʻole.

Korama

He kani maikaʻi ʻo Quorum, ʻeā?

ʻO ka haʻahaʻa wale nō ʻo ia i mea e loaʻa ai ia i loko o kahi hui me nā lālā N, pono ʻoe e loaʻa kahi pilina ma waena o N/2+1 o kāu mau nodes i koe. ʻAʻole hiki ke loaʻa i loko o kahi pūʻulu node ʻelua ma hope o ka pau ʻana o hoʻokahi node.

ʻO ka mea hope e lawe iā mākou i ka pilikia kumu me nā nodes ʻelua:
ʻAʻole kūpono ʻo Quorum i nā pūʻulu node ʻelua, a me ka ʻole o ka hiki ʻole ke hoʻoholo pono i ke ʻano o ka hana e hoʻonui ai i ka loaʻa a pale i ka nalowale o ka ʻikepili.
ʻOiai i loko o kahi ʻōnaehana o nā nodes ʻelua i hoʻopili ʻia e kahi kaula crossover, ʻaʻole hiki ke hoʻokaʻawale i waena o kahi outage pūnaewele a me ka hemahema o ka node ʻē aʻe. ʻO ka hoʻopau ʻana i hoʻokahi hopena (ʻo ke kūpono o ia, ʻoiaʻiʻo, e like me ka mamao ma waena o nā nodes) e lawa ia e hōʻole i ka manaʻo e like ke olakino o ka loulou me ke olakino o ka node hoa.

Ke hana ʻana i kahi hui pū ʻelua node

I kekahi manawa ʻaʻole hiki a makemake ʻole paha ka mea kūʻai aku e kūʻai i ke kolu node, a koi ʻia mākou e ʻimi i kahi koho.

Koho 1 - Kaʻina hoʻokaʻawale ʻelua

Hōʻike ka iLO a i ʻole IPMI o kahi node i kahi o ka hāʻule no ka mea, inā hāʻule, ʻaʻole hiki i nā mea ola ke hoʻohana iā ia e lawe i ka node i kahi kūlana palekana. I loko o kahi hui o 3 a ʻoi aʻe paha nā node, hiki iā mākou ke hoʻēmi i kēia ma ka helu ʻana i ka quorum a me ka hoʻohana ʻana i kahi ʻīlio kiaʻi (kahi hana hoʻokaʻawale indirect, e like me ka mea i kūkākūkā mua ʻia). I ka hihia o nā node ʻelua, pono mākou e hoʻohana i nā ʻāpana hoʻohele mana pūnaewele (PDUs).

Ma hope o ka hāʻule ʻana, hoʻāʻo mua ka mea ola e hoʻopili i ka mea hoʻokaʻawale mua (iLO a i ʻole IPMI i hoʻokomo ʻia). Inā holomua kēia, hoʻomau ka hoʻihoʻi ʻana e like me ka maʻamau. Inā hāʻule ka polokalamu iLO/IPMI wale nō ke kiʻi ʻia ka PDU; inā kūleʻa ke komo ʻana, hiki ke hoʻomau ka hoʻōla.

E hōʻoia e kau i ka PDU ma kahi pūnaewele ʻokoʻa ma mua o ka huakaʻi cluster, inā ʻaʻole e hoʻopaʻa ʻia kahi hemahema o ka pūnaewele i ke komo ʻana i nā ʻaoʻao disassociation ʻelua a kāpae i ka hoʻihoʻi ʻana i nā lawelawe.

Maanei ʻoe e nīnau ai - ʻo ka PDU kahi helu hoʻokahi o ka hemahema? ʻO ia ka pane, ʻoiaʻiʻo nō.

Inā he mea koʻikoʻi kēia pilikia iā ʻoe, ʻaʻole ʻoe wale nō: e hoʻopili i nā node ʻelua i ʻelua PDU a haʻi i ka polokalamu clustering e hoʻohana i nā mea ʻelua i ka wā e hoʻohana ana i nā nodes a i ʻole. Ke hoʻomau nei ka puʻupuʻu inā make kekahi PDU, a ʻo ka lua o ka hemahema o ka PDU ʻē aʻe a i ʻole ka mea IPMI e koi ʻia e ālai i ka hoʻōla.

Koho 2 - Hoʻohui i kahi Arbiter

I kekahi mau hiʻohiʻona, ʻoiai ʻo ke ʻano o ka disassociation duplicate hiki ke ʻenehana, he paʻakikī ka politika. Nui nā hui e makemake i ka hoʻokaʻawale ʻana ma waena o nā luna hoʻomalu a me nā mea nona nā noi, a ʻaʻole makemake mau nā luna hoʻomalu palekana e pili ana i ka kaʻana ʻana i nā hoʻonohonoho komo PDU me kekahi.

I kēia hihia, ʻo ka mea ʻē aʻe i ʻōlelo ʻia, ʻo ia ka hana ʻana i kahi ʻaoʻao kūʻokoʻa i hiki ke hoʻohui i ka helu kōrum.

I ka wā o ka hāʻule ʻole, pono e ʻike ka node i nā nalu ea o kāna hoa a i ʻole ka mea hoʻoponopono i mea e hoʻihoʻi ai i nā lawelawe. Hoʻokomo pū ka mea hoʻoponopono i kahi hana wehe inā hiki i nā node ʻelua ke ʻike i ka mea hoʻoponopono akā ʻaʻole hiki ke ʻike kekahi i kekahi.

Pono e hoʻohana pū ʻia kēia koho me kahi ʻano hoʻokaʻawale ʻole, e like me ka mīkini kiaʻi manawaleʻa, i hoʻonohonoho ʻia e pepehi i kahi mīkini inā nalowale ka pilina i kona hoa a me ka node arbiter. No laila, hiki i ka mea ola ke manaʻo kūpono e noho paʻa ana kāna pona hoa ma hope o ka pau ʻana o ka manawa kiaʻi.

ʻO ka ʻokoʻa ma waena o ka mea hoʻoponopono a me ka node ʻekolu, ʻo ia ka mea e pono ai ka mea hoʻoponopono i ka liʻiliʻi loa o nā kumuwaiwai e hana ai a hiki ke lawelawe i nā hui ʻoi aku ma mua o hoʻokahi.

Koho 3 - Ke kumu kanaka

ʻO ke ala hope loa no ka poʻe i pakele e hoʻomau i ka holo ʻana i nā lawelawe a lākou e holo nei, akā ʻaʻole e hoʻomaka i nā mea hou a hiki i ka hoʻonā ʻana o ka pilikia iā ia iho (hoʻihoʻi hou ʻana i ka pūnaewele, hoʻomaka hou ka node) a i ʻole e lawe ke kanaka i ke kuleana no ka hōʻoia lima ʻana ua make kēlā ʻaoʻao.

Koho bonus

Ua ʻōlelo paha wau hiki iā ʻoe ke hoʻohui i kahi node ʻekolu?

ʻElua pā

No ka hoʻopaʻapaʻa, e hoʻohālike mākou ua hōʻoiaʻiʻo wau iā ʻoe i ka pono o ka node ʻekolu, i kēia manawa pono mākou e noʻonoʻo i ka hoʻonohonoho kino o nā node. Inā noho lākou (a hoʻohana ʻia) i loko o ka pahu hoʻokahi, ʻo ia hoʻi ka SPoF, a ʻaʻole hiki ke hoʻoholo ʻia ma ka hoʻohui ʻana i kahi pahu lua.

Inā he mea kupanaha kēia, e noʻonoʻo i ka mea e hana ʻia inā hāʻule kahi pahu me nā node ʻelua, a pehea e ʻokoʻa ai ka node e ola nei ma waena o kēlā a me ka hemahema o ka pūnaewele.

ʻO ka pane pōkole ʻaʻole hiki, a ke hana hou nei mākou i nā pilikia āpau i ka hihia node ʻelua. A i ʻole mea ola:

  • ʻaʻole i nānā i ka quorum a hoʻāʻo hewa e hoʻomaka i ka hoʻihoʻi ʻana i ka wā o ka pau ʻana o ka pūnaewele (ʻo ka hiki ke hoʻopau i ka dissociation he moʻolelo ʻē aʻe a hilinaʻi ʻia inā pili ka PDU a inā paha lākou e kaʻana like i ka mana me kekahi o nā racks), a i ʻole
  • mahalo ʻo ia i ke kōrum a hoʻokaʻawale iā ia iho i ka wā e hāʻule ʻole ai kāna node hoa

ʻO kēlā me kēia hihia, ʻaʻole ʻoi aku ka maikaʻi o nā pahu ʻelua ma mua o ka hoʻokahi, a pono e loaʻa i nā node nā lako mana kūʻokoʻa a i ʻole e puʻunaue ʻia i ʻekolu (a ʻoi aku paha, e pili ana i ka nui o nā nodes iā ʻoe).

ʻElua mau kikowaena ʻikepili

I kēia manawa, makemake paha ka poʻe heluhelu ʻaʻole e hopohopo hou e noʻonoʻo i ka hoʻihoʻi ʻana i ka pōʻino. He aha ka hopena i ka wā e paʻi ai kahi asteroid i ke kikowaena ʻikepili like me kā mākou mau node ʻekolu i hoʻolaha ʻia ma nā ʻano ʻokoʻa ʻekolu? ʻO nā mea maikaʻi ʻole, akā ma muli o kāu mau pono, ʻaʻole lawa ka hoʻohui ʻana i kahi kikowaena data lua.

Inā hana pololei, hāʻawi ke kikowaena ʻikepili ʻelua iā ʻoe (a me ke kūpono) me kahi kope hou a paʻa mau o kāu mau lawelawe a me kā lākou ʻikepili. Eia naʻe, e like me nā hiʻohiʻona ʻelua-node, ʻelua-rack, ʻaʻole lawa ka ʻike i loko o ka ʻōnaehana e hōʻoia i ka loaʻa ʻana o ka nui a pale i ka palaho (a i ʻole nā ​​ʻikepili hoʻonohonoho ʻokoʻa). ʻOiai me ʻekolu nodes (a i ʻole nā ​​pahu), ʻo ka puʻunaue ʻana iā lākou ma nā kikowaena data ʻelua wale nō e waiho i ka ʻōnaehana hiki ʻole ke hana pono i ka hoʻoholo kūpono inā loaʻa kahi hanana (ʻoi aku ka nui o kēia manawa) hiki ʻole i nā ʻaoʻao ʻelua ke kamaʻilio.

ʻAʻole kēia manaʻo ʻaʻole kūpono ka hoʻonā kikowaena data pālua. Makemake pinepine nā ʻoihana i kahi kanaka e ʻike ma mua o ka hana ʻana i ka hana kupaianaha o ka neʻe ʻana i kahi kikowaena data backup. E hoʻomanaʻo wale ʻoe inā makemake ʻoe e hoʻokaʻawale i ka pau ʻana, pono ʻoe i ke kolu o ke kikowaena data no ka quorum e hoʻomaopopo ai (a pololei a i ʻole ma o ka arbiter), a i ʻole e ʻimi ʻoe i kahi ala e pani pono ai i ka ʻikepili holoʻokoʻa. kikowaena.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka