Ifihan
Diẹ ninu awọn akoko seyin ni mo ti fi fun awọn iṣẹ-ṣiṣe ti sese kan failover iṣupọ fun , nṣiṣẹ ni ọpọlọpọ awọn ile-iṣẹ data ti a ti sopọ nipasẹ okun opiti laarin ilu kan, ati pe o lagbara lati koju ikuna (fun apẹẹrẹ, didaku) ti ile-iṣẹ data kan. Gẹgẹbi sọfitiwia ti o ni iduro fun ifarada ẹbi, Mo yan nitori eyi ni ojutu osise lati RedHat fun ṣiṣẹda awọn iṣupọ ikuna. O dara nitori RedHat pese atilẹyin fun rẹ, ati nitori pe ojutu yii jẹ gbogbo agbaye (modular). Pẹlu iranlọwọ rẹ, yoo ṣee ṣe lati rii daju ifarada aṣiṣe kii ṣe ti PostgreSQL nikan, ṣugbọn ti awọn iṣẹ miiran, boya lilo awọn modulu boṣewa tabi ṣiṣẹda wọn fun awọn iwulo pato.
Ipinnu yii gbe ibeere ti o lọgbọnwa dide: bawo ni aibikita-ifarada yoo ṣe jẹ iṣupọ ikuna? Lati ṣe iwadii eyi, Mo ṣe agbekalẹ ibujoko idanwo kan ti o ṣe adaṣe ọpọlọpọ awọn ikuna lori awọn apa iṣupọ, n duro de iṣẹ lati tun pada, gba ipade ti o kuna pada, ati tẹsiwaju idanwo ni lupu kan. Ise agbese yii ni akọkọ ti a npe ni hapgsql, ṣugbọn bi akoko ti kọja, mo sunmi pẹlu orukọ, eyiti o ni faweli kan nikan. Nitorinaa, Mo bẹrẹ lati pe awọn apoti isura infomesonu ọlọdun ẹbi (ati oju omi IP ti n tọka si wọn) krogan (ohun kikọ kan lati inu ere kọnputa kan ninu eyiti gbogbo awọn ẹya pataki ti ṣe pidánpidán), ati awọn apa, awọn iṣupọ ati iṣẹ akanṣe funrararẹ jẹ tuchanka (ile aye ibi ti awọn krogans gbe).
Bayi iṣakoso ti gba laaye . README yoo ṣe itumọ laipẹ si Gẹẹsi (nitori o nireti pe awọn alabara akọkọ yoo jẹ Pacemaker ati awọn olupilẹṣẹ PostgreSQL), ati pe Mo pinnu lati ṣafihan ẹya atijọ ti Russian ti README (apakan) ni irisi nkan yii.

Awọn iṣupọ ti wa ni ransogun lori foju ero . Lapapọ awọn ẹrọ foju 12 (36GiB lapapọ) yoo wa ni ransogun, eyiti o ṣe awọn iṣupọ-ọlọdun ẹbi 4 (awọn aṣayan oriṣiriṣi). Awọn iṣupọ meji akọkọ ni awọn olupin PostgreSQL meji, eyiti o wa ni awọn ile-iṣẹ data oriṣiriṣi, ati olupin ti o wọpọ. ẹlẹri c ohun elo iyege (ti gbalejo lori ẹrọ foju olowo poku ni ile-iṣẹ data kẹta), eyiti o yanju aidaniloju 50% / 50%, fifun rẹ Idibo si ọkan ninu awọn ẹgbẹ. Iṣupọ kẹta ni awọn ile-iṣẹ data mẹta: oluwa kan, ẹru meji, rara ohun elo iyege. Iṣupọ kẹrin ni awọn olupin PostgreSQL mẹrin, meji fun ile-iṣẹ data: oluwa kan, awọn ẹda iyokù, ati tun lo. ẹlẹri c ohun elo iyege. Ẹkẹrin le koju ikuna ti awọn olupin meji tabi ile-iṣẹ data kan. Ojutu yii le ṣe iwọn si nọmba nla ti awọn ẹda ti o ba jẹ dandan.
Pese akoko iṣẹ tun ṣe atunto fun ifarada ẹbi, ṣugbọn o nlo ọna funrararẹ ntpd (orukan mode). Pipin olupin ẹlẹri n ṣiṣẹ bi olupin NTP aringbungbun, n pin akoko rẹ si gbogbo awọn iṣupọ, nitorinaa mimuuṣiṣẹpọ gbogbo awọn olupin pẹlu ara wọn. Ti o ba jẹ ẹlẹri kuna tabi di ipinya, lẹhinna ọkan ninu awọn olupin iṣupọ (laarin iṣupọ) yoo bẹrẹ lati pin kaakiri akoko rẹ. Caching oluranlọwọ HTTP aṣoju tun dide si ẹlẹri, pẹlu iranlọwọ rẹ, awọn ẹrọ foju miiran ni aaye si awọn ibi ipamọ Yum. Ni otitọ, awọn iṣẹ bii akoko deede ati awọn aṣoju yoo ṣee ṣe julọ ti gbalejo lori awọn olupin iyasọtọ, ṣugbọn ninu agọ wọn ti gbalejo lori ẹlẹri nikan lati fi awọn nọmba ti foju ero ati aaye.
Awọn ẹya
v0. Ṣiṣẹ pẹlu CentOS 7 ati PostgreSQL 11 lori VirtualBox 6.1.
Eto iṣupọ
Gbogbo awọn iṣupọ jẹ apẹrẹ lati wa ni awọn ile-iṣẹ data lọpọlọpọ, ni idapo sinu nẹtiwọọki alapin kan ati pe o gbọdọ koju ikuna tabi ipinya nẹtiwọki ti ile-iṣẹ data ẹyọkan. Iyẹn ni idi jẹ soro lo fun Idaabobo lodi si pipin-ọpọlọ boṣewa Pacemaker ọna ẹrọ ti a npe ni STONITH (Yin Ipade Omiiran Ni Ori) tabi Fidio. Kokoro rẹ: ti awọn apa inu iṣupọ bẹrẹ lati fura pe nkan kan jẹ aṣiṣe pẹlu ipade kan, ko dahun tabi ti n huwa ti ko tọ, lẹhinna wọn fi ipa pa a nipasẹ awọn ẹrọ “ita”, fun apẹẹrẹ, IPMI tabi kaadi iṣakoso UPS. . Ṣugbọn eyi yoo ṣiṣẹ nikan ni awọn ọran nibiti, ni iṣẹlẹ ti ikuna ẹyọkan, IPMI tabi olupin UPS tẹsiwaju lati ṣiṣẹ. Nibi a gbero lati daabobo lodi si ikuna ajalu pupọ diẹ sii, nigbati gbogbo ile-iṣẹ data ba kuna (fun apẹẹrẹ, padanu agbara). Ati pẹlu iru kiko, ohun gbogbo stonith-awọn ẹrọ (IPMI, UPS, bbl) yoo tun ko ṣiṣẹ.
Dipo, eto naa da lori imọran ti iyege. Gbogbo awọn apa ni ohun kan, ati pe awọn ti o le rii diẹ sii ju idaji gbogbo awọn apa le ṣiṣẹ. Iwọn “idaji + 1” yii ni a pe iyege. Ti iye akoko ko ba de, lẹhinna ipade pinnu pe o wa ni ipinya nẹtiwọki ati pe o gbọdọ pa awọn orisun rẹ, i.e. eyi ni ohun ti o jẹ pipin-ọpọlọ Idaabobo. Ti sọfitiwia ti o ni iduro fun ihuwasi yii ko ṣiṣẹ, lẹhinna oluṣọ kan, fun apẹẹrẹ, ti o da lori IPMI, yoo ni lati ṣiṣẹ.
Ti nọmba awọn apa jẹ paapaa (iṣupọ kan ni awọn ile-iṣẹ data meji), lẹhinna eyiti a pe ni aidaniloju le dide 50% / 50% (àádọ́ta-làádọ́ta) nigbati ipinya nẹtiwọki n pin iṣupọ gangan ni idaji. Nitorinaa, fun paapaa nọmba awọn apa, a ṣafikun ohun elo iyege jẹ daemon undemanding ti o le ṣe ifilọlẹ lori ẹrọ foju ti ko gbowolori ni ile-iṣẹ data kẹta kan. O fun Idibo rẹ si ọkan ninu awọn apakan (eyiti o rii), ati nitorinaa yanju 50%/50% aidaniloju. Mo lorukọ olupin lori eyiti ohun elo iyege ti yoo ṣe ifilọlẹ ẹlẹri (ọrọ lati repmgr, Mo feran o).
Awọn orisun le ṣee gbe lati ibi de ibi, fun apẹẹrẹ, lati awọn olupin ti ko tọ si awọn ti o ni ilera, tabi ni aṣẹ ti awọn alabojuto eto. Ki awọn alabara mọ ibiti awọn orisun ti wọn nilo wa (nibo ni lati sopọ?), lilefoofo IP (leefofo IP). Iwọnyi jẹ awọn IP ti Pacemaker le gbe ni ayika awọn apa (ohun gbogbo wa lori nẹtiwọọki alapin). Ọkọọkan wọn ṣe afihan orisun (iṣẹ) ati pe yoo wa nibiti o nilo lati sopọ ki o le ni iraye si iṣẹ yii (ninu ọran wa, data data).
Tuchanka1 (yika pẹlu iwapọ)
Ilana

Awọn agutan ni wipe a ni ọpọlọpọ awọn kekere infomesonu pẹlu kekere fifuye, fun eyi ti o jẹ alailere a bojuto kan ifiṣootọ ẹrú olupin ni gbona imurasilẹ mode fun kika nikan lẹkọ (ko si nilo fun iru kan egbin ti oro).
Ile-iṣẹ data kọọkan ni olupin kan. Olupin kọọkan ni awọn apẹẹrẹ PostgreSQL meji (ni awọn ọrọ-ọrọ PostgreSQL wọn pe wọn ni awọn iṣupọ, ṣugbọn lati yago fun idamu Emi yoo pe wọn ni awọn apẹẹrẹ (nipa afiwe pẹlu awọn apoti isura data miiran), ati pe Emi yoo pe awọn iṣupọ Pacemaker nikan). Apeere kan n ṣiṣẹ ni ipo titunto si, ati pe o pese awọn iṣẹ nikan (IP leefofo loju omi nikan ni o tọ si). Apeere keji ṣiṣẹ bi ẹrú fun ile-iṣẹ data keji, ati pe yoo pese awọn iṣẹ nikan ti oluwa rẹ ba kuna. Niwọn igba ti ọpọlọpọ igba nikan ni apẹẹrẹ kan ninu meji (titunto si) yoo pese awọn iṣẹ (ṣe awọn ibeere), gbogbo awọn orisun olupin jẹ iṣapeye fun oluwa (iranti jẹ ipin fun kaṣe share_buffers, ati bẹbẹ lọ), ṣugbọn ki apẹẹrẹ keji. tun ni awọn orisun to (botilẹjẹpe fun iṣiṣẹ suboptimal nipasẹ kaṣe eto faili) ni ọran ti ikuna ti ọkan ninu awọn ile-iṣẹ data. Ẹru naa ko pese awọn iṣẹ (ko ṣe awọn ibeere kika nikan) lakoko iṣẹ deede ti iṣupọ, nitorinaa ko si ogun fun awọn orisun pẹlu oluwa lori ẹrọ kanna.
Ninu ọran ti awọn apa meji, ifarada aṣiṣe ṣee ṣe nikan pẹlu atunwi asynchronous, nitori pẹlu atunwi amuṣiṣẹpọ, ikuna ti ẹrú yoo ja si idaduro oluwa naa.
Ikuna lati jẹri

Ikuna lati jẹri (ohun elo iyege) Emi yoo ronu nikan fun iṣupọ Tuchanka1, pẹlu gbogbo awọn miiran yoo jẹ itan kanna. Ti ẹlẹri ba kuna, ko si ohun ti yoo yipada ninu eto iṣupọ, ohun gbogbo yoo tẹsiwaju lati ṣiṣẹ ni ọna kanna ti o ṣe. Ṣugbọn iyewo yoo di 2 ninu 3, ati nitori naa eyikeyi ikuna ti o tẹle yoo jẹ apaniyan fun iṣupọ naa. Yoo tun ni lati ṣe atunṣe ni kiakia.
Tuchanka1 aigba

Ikuna ti ọkan ninu awọn ile-iṣẹ data fun Tuchanka1. Fun idi eyi ẹlẹri sọ Idibo rẹ si ipade keji ni ile-iṣẹ data keji. Nibe, ẹrú iṣaaju naa yipada si oluwa, bi abajade, awọn oluwa mejeeji ṣiṣẹ lori olupin kanna ati awọn mejeeji ti IPs leefofo wọn tọka si wọn.
Tuchanka2 (kilasika)
Ilana

Eto Ayebaye ti awọn apa meji. Ọgá náà ṣiṣẹ́ lórí ọ̀kan, ẹrú ní èkejì. Mejeeji le ṣiṣẹ awọn ibeere (ẹrú naa ni a ka nikan), nitorinaa awọn mejeeji tọka si nipasẹ float IP: krogan2 ni oluwa, krogan2s1 jẹ ẹrú. Mejeeji oluwa ati ẹrú yoo ni ifarada aṣiṣe.
Ninu ọran ti awọn apa meji, ifarada aṣiṣe ṣee ṣe nikan pẹlu atunkọ asynchronous, nitori pẹlu isọdọtun amuṣiṣẹpọ, ikuna ti ẹrú yoo ja si idaduro oluwa naa.
Tuchanka2 aigba

Ti ọkan ninu awọn ile-iṣẹ data ba kuna ẹlẹri ibo fun awọn keji. Lori ile-iṣẹ data ti n ṣiṣẹ nikan, oluwa yoo dide, ati awọn IPs oju omi mejeeji yoo tọka si: oluwa ati ẹrú naa. Nitoribẹẹ, apẹẹrẹ gbọdọ wa ni tunto ni ọna ti o ni awọn orisun to (awọn opin asopọ, ati bẹbẹ lọ) lati gba gbogbo awọn asopọ ati awọn ibeere nigbakanna oluwa ati ẹru leefofo IP. Iyẹn ni, lakoko iṣẹ deede o yẹ ki o ni ipese ti awọn opin to.
Tuchanka4 (ọpọlọpọ ẹrú)
Ilana

Tẹlẹ miiran awọn iwọn. Awọn apoti isura infomesonu ti o gba ọpọlọpọ awọn ibeere kika-nikan (ọran aṣoju ti aaye fifuye giga). Tuchanka4 jẹ ipo kan nibiti awọn ẹrú mẹta tabi diẹ sii le wa lati mu iru awọn ibeere bẹ, ṣugbọn sibẹsibẹ kii ṣe pupọ. Pẹlu nọmba ti o tobi pupọ ti awọn ẹrú, yoo jẹ pataki lati ṣẹda eto isọdọtun akoso. Ninu ọran ti o kere ju (ninu aworan), ọkọọkan awọn ile-iṣẹ data meji ni awọn olupin meji, ọkọọkan pẹlu apẹẹrẹ PostgreSQL kan.
Ẹya miiran ti ero yii ni pe o ti ṣee ṣe tẹlẹ lati ṣeto ẹda amuṣiṣẹpọ kan. O ti tunto lati tun ṣe, ti o ba ṣeeṣe, si ile-iṣẹ data miiran, kuku ju si ẹda kan ni ile-iṣẹ data kanna gẹgẹbi oluwa. Awọn titunto si ati kọọkan ẹrú ti wa ni tokasi nipa a leefofo IP. O da, laarin awọn ẹrú yoo jẹ pataki lati dọgbadọgba awọn ibeere bakan sql aṣoju, fun apẹẹrẹ, lori awọn ose ẹgbẹ. Awọn oriṣiriṣi awọn onibara le nilo awọn oriṣiriṣi oriṣiriṣi sql aṣoju, ati ki o nikan ni ose Difelopa mọ ti o nilo eyi ti. Iṣẹ ṣiṣe yii le ṣe imuse boya nipasẹ daemon ita tabi nipasẹ ile-ikawe alabara (pool asopọ), ati bẹbẹ lọ. Gbogbo eyi lọ kọja koko-ọrọ ti iṣupọ data data ti kuna (failover SQL aṣoju le ṣe imuse ni ominira, papọ pẹlu ifarada ẹbi alabara).
Tuchanka4 aigba

Ti ile-iṣẹ data kan (ie, awọn olupin meji) kuna, awọn ibo ẹlẹri fun keji. Bi abajade, awọn olupin meji nṣiṣẹ ni ile-iṣẹ data keji: ọkan nṣiṣẹ oluwa kan, ati pe oluwa leefofo oju omi IP tọka si (fun gbigba awọn ibeere kika-kikọ); ati lori olupin keji o wa ẹrú kan ti o nṣiṣẹ pẹlu atunwi amuṣiṣẹpọ, ati ọkan ninu awọn IPs ti o leefofo ẹrú tọka si (fun awọn ibeere kika-nikan).
Ohun akọkọ lati ṣe akiyesi ni pe kii ṣe gbogbo awọn IPs float ẹrú yoo jẹ oṣiṣẹ, ṣugbọn ọkan nikan. Ati lati ṣiṣẹ pẹlu rẹ bi o ti tọ yoo jẹ pataki pe sql aṣoju darí gbogbo awọn ibeere si awọn nikan ti o ku leefofo IP; ati ti o ba sql aṣoju Rara, lẹhinna o le ṣe atokọ gbogbo awọn ẹrú IP leefofo loju omi ti o yapa nipasẹ aami idẹsẹ ni URL asopọ. Ni idi eyi, pẹlu libpq asopọ naa yoo jẹ si IP akọkọ ti n ṣiṣẹ, eyi ni a ṣe ni eto idanwo laifọwọyi. Boya ni awọn ile-ikawe miiran, fun apẹẹrẹ, JDBC, eyi kii yoo ṣiṣẹ ati pe o jẹ dandan sql aṣoju. Eyi ni a ṣe nitori awọn IPs leefofo loju omi fun awọn ẹrú ti ni idinamọ lati dide ni nigbakannaa lori olupin kan, nitorinaa wọn pin kaakiri laarin awọn olupin ẹrú ti ọpọlọpọ wọn ba nṣiṣẹ.
Ẹlẹẹkeji: paapaa ni iṣẹlẹ ti ikuna ile-iṣẹ data, atunṣe amuṣiṣẹpọ yoo wa ni itọju. Ati paapaa ti ikuna keji ba waye, iyẹn ni, ọkan ninu awọn olupin meji ti o wa ninu ile-iṣẹ data ti o ku kuna, iṣupọ naa, botilẹjẹpe yoo dawọ lati pese awọn iṣẹ, yoo tun ni ifitonileti nipa gbogbo awọn iṣowo ifaramọ fun eyiti o ti fun ni idaniloju ifaramo naa. (ko si alaye pipadanu ni ọran ikuna keji).
Tuchanka3 (awọn ile-iṣẹ data 3)
Ilana

Eyi jẹ iṣupọ fun ipo kan nibiti awọn ile-iṣẹ data ti n ṣiṣẹ ni kikun mẹta wa, ọkọọkan wọn ni olupin data ti n ṣiṣẹ ni kikun. Fun idi eyi ohun elo iyege ko nilo. Ile-iṣẹ data kan jẹ oṣiṣẹ nipasẹ oga kan, awọn meji miiran jẹ oṣiṣẹ nipasẹ awọn ẹrú. Atunse jẹ synchronous, tẹ KANKAN (ẹrú1, slave2), ti o ni, awọn ose yoo gba a ifẹsẹmulẹ ifẹsẹmulẹ nigbati eyikeyi ninu awọn ẹrú ti wa ni akọkọ lati dahun pe o ti gba awọn ṣẹ. Awọn orisun jẹ itọkasi nipasẹ IP lilefoofo kan fun oluwa ati meji fun awọn ẹrú. Ko dabi Tuchanka4, gbogbo awọn IPs leefofo loju omi mẹtẹẹta jẹ ifarada-ẹbi. Lati dọgbadọgba awọn ibeere SQL kika-nikan o le lo sql aṣoju (pẹlu ifarada ẹbi lọtọ), tabi fi IP leefofo ẹru kan si idaji awọn alabara, ati idaji keji si keji.
Tuchanka3 aigba

Ti ọkan ninu awọn ile-iṣẹ data ba kuna, meji ku. Ninu ọkan, oluwa ati leefofo IP lati ọdọ oluwa ni a gbe dide, ni keji - ẹrú ati awọn mejeeji eru leefofo IPs (apẹẹrẹ gbọdọ ni ifipamọ meji ti awọn orisun lati gba gbogbo awọn asopọ lati ọdọ awọn IPs float ẹrú mejeeji). Atunse amuṣiṣẹpọ laarin awọn oluwa ati awọn ẹrú. Pẹlupẹlu, iṣupọ naa yoo ṣafipamọ alaye nipa awọn iṣowo ti a ṣe ati timo (ko si isonu ti alaye) ni iṣẹlẹ ti iparun ti awọn ile-iṣẹ data meji (ti wọn ko ba run ni nigbakannaa).
Mo pinnu lati ma ṣe pẹlu apejuwe alaye ti eto faili ati imuṣiṣẹ. Ẹnikẹni ti o ba fẹ lati ṣere ni ayika le ka gbogbo rẹ ni README. Mo n pese apejuwe kan ti idanwo adaṣe nikan.
Eto idanwo aifọwọyi
Lati ṣe idanwo ifarada ẹbi ti awọn iṣupọ nipa ṣiṣafarawe ọpọlọpọ awọn aṣiṣe, eto idanwo adaṣe kan ti ṣẹda. Ti ṣe ifilọlẹ nipasẹ iwe afọwọkọ test/failure. Awọn iwe afọwọkọ le gba bi awọn paramita awọn nọmba ti awọn iṣupọ ti o fẹ lati ṣe idanwo. Fun apẹẹrẹ aṣẹ yii:
test/failure 2 3yoo ṣe idanwo iṣupọ keji ati kẹta nikan. Ti awọn paramita ko ba ni pato, lẹhinna gbogbo awọn iṣupọ yoo ni idanwo. Gbogbo awọn iṣupọ ti ni idanwo ni afiwe, ati abajade ti han ni tmux nronu. Tmux nlo olupin tmux igbẹhin, nitorinaa iwe afọwọkọ naa le ṣiṣẹ lati labẹ tmux aiyipada, ti o mu abajade tmux itẹ-ẹiyẹ kan. Mo ṣeduro lilo ebute ni window nla kan ati pẹlu fonti kekere kan. Ṣaaju ki idanwo bẹrẹ, gbogbo awọn ẹrọ foju ti yiyi pada si fọto ni akoko ti iwe afọwọkọ naa ti pari setup.

Ti pin ebute naa si awọn ọwọn ni ibamu si nọmba awọn iṣupọ ti a ṣe idanwo nipasẹ aiyipada (ninu iboju) mẹrin wa. Emi yoo ṣe apejuwe awọn akoonu ti awọn ọwọn nipa lilo apẹẹrẹ ti Tuchanka2. Awọn panẹli inu sikirinifoto naa jẹ nọmba:
- Awọn iṣiro idanwo ti han nibi. Awọn ọwọn:
- ikuna - awọn orukọ ti awọn igbeyewo (iṣẹ ni awọn akosile) ti o emulates awọn ẹbi.
- lenu - iye akoko iṣiro ni iṣẹju-aaya nigba eyiti iṣupọ naa gba iṣẹ ṣiṣe rẹ pada. O jẹ iwọn lati ibẹrẹ ti iwe afọwọkọ ti n ṣe apẹẹrẹ aṣiṣe kan titi di akoko ti iṣupọ naa tun mu iṣẹ ṣiṣe rẹ pada ati pe o ni anfani lati tẹsiwaju lati pese awọn iṣẹ. Ti akoko ba kuru pupọ, fun apẹẹrẹ, awọn aaya mẹfa (eyi ṣẹlẹ ni awọn iṣupọ pẹlu ọpọlọpọ awọn ẹrú (Tuchanka3 ati Tuchanka4)), eyi tumọ si pe aṣiṣe naa wa lori ẹrú asynchronous ati pe ko ni ipa lori iṣẹ ni eyikeyi ọna; iṣupọ ipinle yipada.
- iyapa - fihan itankale (ipeye) ti iye naa lenu lilo awọn boṣewa iyapa ọna.
- ka — melomelo ni idanwo yii ṣe.
- Iwe akọọlẹ kukuru kan gba ọ laaye lati ṣe iṣiro ohun ti iṣupọ n ṣe lọwọlọwọ. Nọmba aṣetunṣe (idanwo) nọmba, timestamp ati orukọ iṣẹ naa ti han. Ṣiṣe gun ju (> iṣẹju 5) tọkasi iṣoro kan.
- okan (okan) - lọwọlọwọ akoko. Fun iṣiro wiwo ti iṣẹ ọga Akoko lọwọlọwọ jẹ kikọ nigbagbogbo si tabili rẹ ni lilo oluwa IP leefofo. Ti o ba ṣaṣeyọri, abajade yoo han ni nronu yii.
- lu (pulse) - “akoko lọwọlọwọ”, eyiti a ti gbasilẹ tẹlẹ nipasẹ iwe afọwọkọ okan lati titunto si, bayi ka lati ẹrú nipasẹ awọn oniwe-leefofo IP. Gba ọ laaye lati ṣe ayẹwo ojuwo iṣẹ ti ẹrú ati ẹda. Ni Tuchanka1 ko si awọn ẹrú pẹlu IP leefofo (ko si awọn ẹrú ti n pese awọn iṣẹ), ṣugbọn awọn iṣẹlẹ meji wa (DBs), nitorinaa kii yoo han nibi lu, ati okan keji apẹẹrẹ.
- Mimojuto ilera iṣupọ nipa lilo ohun elo
pcs mon. Ṣe afihan igbekalẹ, pinpin awọn orisun kọja awọn apa ati alaye iwulo miiran. - Abojuto eto lati ẹrọ foju kọọkan ninu iṣupọ ti han nibi. O le jẹ diẹ sii iru awọn panẹli ti o da lori iye awọn ẹrọ foju ti iṣupọ naa ni. Awọn aworan meji Sipiyu fifuye (awọn ẹrọ foju ni awọn ero isise meji), orukọ ẹrọ foju, Eto fifuye (ti a npè ni Apapọ Iwọn nitori pe o jẹ aropin lori 5, 10 ati iṣẹju 15), data ilana ati ipin iranti.
- Wa kakiri ti awọn iwe afọwọkọ sise igbeyewo. Ni iṣẹlẹ ti aiṣedeede - idalọwọduro lojiji ti iṣẹ tabi ọna idaduro ailopin - nibi o le rii idi fun ihuwasi yii.
Idanwo ni a ṣe ni awọn ipele meji. Ni akọkọ, iwe afọwọkọ naa lọ nipasẹ gbogbo awọn iru awọn idanwo, laileto yiyan ẹrọ foju kan eyiti o le lo idanwo yii. Lẹhinna ọmọ ailopin ti idanwo ni a ṣe, awọn ẹrọ foju ati aṣiṣe ni a yan laileto ni akoko kọọkan. Lojiji ifopinsi iwe afọwọkọ idanwo (panel isalẹ) tabi lupu ailopin ti nduro fun nkan kan (> akoko ipaniyan iṣẹju 5 fun iṣẹ kan, eyi ni a le rii ninu itọpa) tọka pe diẹ ninu awọn idanwo lori iṣupọ yii ti kuna.
Idanwo kọọkan ni awọn iṣẹ ṣiṣe wọnyi:
- Lọlẹ iṣẹ kan ti o fara wé a ẹbi.
- Setan? - nduro fun iṣupọ lati mu pada (nigbati gbogbo awọn iṣẹ ti pese).
- Ṣe afihan akoko imularada iṣupọ (lenu).
- Mu fifọ — iṣupọ naa ti “ṣe atunṣe.” Lẹhin eyi o yẹ ki o pada si ipo iṣẹ ni kikun ki o ṣetan fun aiṣedeede atẹle.
Eyi ni atokọ ti awọn idanwo pẹlu apejuwe ohun ti wọn ṣe:
- ForkBomb: Ṣẹda "Jade ti iranti" lilo a orita bombu.
- OutOfSpace: Dirafu lile ti kun. Ṣugbọn idanwo naa jẹ aami apẹẹrẹ pẹlu ẹru ti ko ṣe pataki ti o ṣẹda lakoko idanwo, PostgreSQL nigbagbogbo ko kuna nigbati dirafu lile ti kun.
- Postgres-PA: pa PostgreSQL pẹlu aṣẹ
killall -KILL postgres. - Postgres-Duro: kọorí PostgreSQL pipaṣẹ
killall -STOP postgres. - agbara pa: "de-energizes" awọn foju ẹrọ pẹlu pipaṣẹ
VBoxManage controlvm "виртуалка" poweroff. - Tun: overloads awọn foju ẹrọ pẹlu aṣẹ
VBoxManage controlvm "виртуалка" reset. - SBD-Duro: da ẹmi èṣu SBD duro pẹlu aṣẹ
killall -STOP sbd. - Paade: firanṣẹ aṣẹ kan si ẹrọ foju nipasẹ SSH
systemctl poweroff, awọn eto ku si isalẹ gracefully. - Yọ Asopọmọra: ipinya nẹtiwọki, pipaṣẹ
VBoxManage controlvm "виртуалка" setlinkstate1 off.
Ipari idanwo boya lilo aṣẹ tmux boṣewa “pa-window” Ctrl-b &, tabi aṣẹ "detach-client". Ctrl-b d: ni aaye yii idanwo pari, tmux tilekun, awọn ẹrọ foju ti wa ni pipa.
Awọn iṣoro ti a mọ lakoko idanwo
Ni akoko yii esu ajafitafita sbd ṣiṣẹ lori didaduro awọn daemons ti a ṣe akiyesi, ṣugbọn kii ṣe didi wọn. Ati pe, bi abajade, awọn aṣiṣe ti o yorisi didi nikan Corosync и ẹni, sugbon ko adiye nitori. Fun ayẹwo Corosync ti tẹlẹ , gba si okun titunto si. Wọn ṣe ileri (ni PR # 83) pe nkan kan yoo wa fun Pacemaker, Mo nireti pe nipasẹ fila pupa 8 ma a se. Ṣugbọn iru “awọn aiṣedeede” jẹ arosọ ati pe o le ni irọrun ṣe adaṣe ni atọwọdọwọ nipa lilo, fun apẹẹrẹ,
killall -STOP corosync, ṣugbọn ko pade ni aye gidi.У ẹni ninu awọn ti ikede fun CentOS 7 ti ko tọ ṣeto sync_timeout у ohun elo iyege, Nitorina na , eyi ti oluwa yẹ ki o gbe. Ni arowoto nipa gbooro sync_timeout у ohun elo iyege lakoko imuṣiṣẹ (ni iwe afọwọkọ
setup/setup1). Atunse yii ko gba nipasẹ awọn olupilẹṣẹ ẹni, dipo wọn ṣe ileri lati tun ṣe awọn amayederun ni ọna kan (ni diẹ ninu awọn ọjọ iwaju ti a ko ni pato) pe akoko akoko yi yoo ṣe iṣiro laifọwọyi.Ti o ba ti database iṣeto ni pato ti
LC_MESSAGES(awọn ifọrọranṣẹ) Unicode le ṣee lo, f.eks.ru_RU.UTF-8, lẹhinna ni ibẹrẹ awọn ifiweranṣẹ ni agbegbe nibiti agbegbe kii ṣe UTF-8, sọ ni agbegbe ti o ṣofo (nibi ohun elo akura+pgsqlms(paf) nṣiṣẹ awọn ifiweranṣẹ), lẹhinna . Awọn olupilẹṣẹ PostgreSQL ko gba lori kini lati ṣe ninu ọran yii. O jẹ idiyele, o nilo lati fi sori ẹrọLC_MESSAGES=en_US.UTF-8nigbati atunto (ṣẹda) a database apẹẹrẹ.Ti o ba ti ṣeto wal_receiver_timeout (nipasẹ aiyipada o jẹ 60s), lẹhinna lakoko idanwo PostgreSQL-STOP lori oluwa ni tuchanka3 ati awọn iṣupọ tuchanka4 . Atunṣe tun wa ni amuṣiṣẹpọ, nitorinaa kii ṣe ẹrú nikan duro, ṣugbọn oluwa tuntun tun. Ṣiṣẹ ni ayika nipa tito wal_receiver_timeout=0 nigba tito atunto PostgreSQL.
Lẹẹkọọkan Mo ṣe akiyesi awọn didi ẹda ni PostgreSQL ninu idanwo ForkBomb (aponju iranti). . Mo ti pade eyi nikan ni awọn iṣupọ tuchanka3 ati tuchanka4, nibiti oluwa ti di didi nitori atunwi amuṣiṣẹpọ. Iṣoro naa lọ funrararẹ lẹhin igba pipẹ (nipa wakati meji). A nilo iwadi diẹ sii lati ṣe atunṣe eyi. Awọn aami aisan jẹ iru si kokoro ti tẹlẹ, eyiti o fa nipasẹ idi ti o yatọ, ṣugbọn pẹlu awọn abajade kanna.
Krogan aworan ya lati pẹlu igbanilaaye ti onkọwe:

orisun: www.habr.com
