Kupanga masango a failover kutengera PostgreSQL ndi Pacemaker

Mau oyamba

Kale, ndinapatsidwa ntchito yokonza gulu la failover PostgreSQL, ikugwira ntchito m'malo angapo a deta yolumikizidwa ndi fiber mkati mwa mzinda womwewo, ndikutha kupirira kulephera (mwachitsanzo, kuzimitsa) kwa malo amodzi a data. Monga mapulogalamu omwe ali ndi udindo wolekerera zolakwika, ndinasankha pacemaker, chifukwa iyi ndiye yankho lovomerezeka kuchokera ku RedHat popanga magulu a failover. Ndi zabwino chifukwa RedHat amapereka chithandizo kwa izo, ndipo chifukwa yankho ili lonse (modular). Ndi chithandizo chake, zidzatheka kupereka kulolerana kwa zolakwika osati kwa PostgreSQL kokha, komanso kwa mautumiki ena, pogwiritsa ntchito ma modules okhazikika kapena kuwapangira zosowa zenizeni.

Pachigamulochi, funso lomveka lidabuka: kodi gulu lolephera lidzakhala lololera bwanji? Kuti ndifufuze izi, ndinapanga benchi yoyesera yomwe imayerekezera zolephera zosiyanasiyana pamagulu a gulu, kudikirira kuchira, kubwezeretsa node yolephera ndikupitiriza kuyesa mu chipika. Poyamba, ntchitoyi inkatchedwa hapgsql, koma patapita nthawi ndinatopa ndi dzinali, lomwe lili ndi vowel imodzi yokha. Chifukwa chake, ndidayamba kutchula nkhokwe zololera zolakwika (ndi ma IP oyandama kuwalozera) krogan (munthu wochokera pamasewera apakompyuta, momwe ziwalo zonse zofunika zimapangidwira), ndi mfundo, magulu ndi polojekiti yomwe ili tchanka (Dziko lomwe ma krogans amakhala).

Utsogoleri wavomereza tsopano tsegulani projekiti ya anthu otseguka pansi pa layisensi ya MIT. README idzamasuliridwa posachedwa ku Chingerezi (chifukwa opanga Pacemaker ndi PostgreSQL akuyembekezeka kukhala ogula kwambiri), ndipo ndinaganiza zotulutsa Baibulo lachikale la Chirasha la README (pang'onopang'ono) mu mawonekedwe a nkhaniyi.

Kupanga masango a failover kutengera PostgreSQL ndi Pacemaker

Magulu amatumizidwa pamakina enieni Virtualbox. Pazonse, makina a 12 adzagwiritsidwa ntchito (36GiB yonse), yomwe imapanga magulu a 4 failover (zosankha zosiyana). Magulu awiri oyamba amakhala ndi ma seva awiri a PostgreSQL omwe ali m'malo osiyanasiyana a data ndi seva wamba mboni c chipangizo cha quorum (yokhala ndi makina otsika mtengo mu data center yachitatu) yomwe imathetsa kusatsimikizika 50% / 50%poponya voti. Gulu lachitatu m'malo atatu a data: mbuye m'modzi, akapolo awiri, ayi chipangizo cha quorum. Gulu lachinayi lili ndi ma seva anayi a PostgreSQL, awiri pa data center: mbuye m'modzi, ena onse ndi obwereza, komanso amagwiritsa ntchito. mboni c chipangizo cha quorum. Chachinayi chimapulumuka kulephera kwa ma seva awiri kapena malo amodzi a data. Yankholi likhoza kukulitsidwa mpaka ma replicas ambiri ngati kuli kofunikira.

Utumiki wa Nthawi ntpd komanso reconfigured chifukwa chololera zolakwika, koma amagwiritsa ntchito njira ya ntpd (amasiye mode). Seva Yogawana mboni imagwira ntchito ngati seva yapakati ya NTP, kugawa nthawi yake kumagulu onse, potero kulumikiza ma seva onse wina ndi mnzake. Ngati mboni ikalephera kapena kukhala yokhayokha, ndiye kuti imodzi mwama seva (mkati mwa tsango) iyamba kugawa nthawi yake. Wothandizira caching HTTP proxy komanso kukwezedwa ku mboni, ndi chithandizo chake, makina ena enieni amatha kupeza nkhokwe za Yum. M'malo mwake, ntchito monga nthawi yolondola ndi projekiti zitha kuchitidwa pa ma seva odzipatulira, ndipo m'malo omwe amakhalapo. mboni kokha kupulumutsa chiwerengero cha makina pafupifupi ndi danga.

Ndime

v0. Imagwira ndi CentOS 7 ndi PostgreSQL 11 pa VirtualBox 6.1.

Kapangidwe kamagulu

Magulu onse adapangidwa kuti azikhala m'malo angapo a data, olumikizidwa mu netiweki imodzi yathyathyathya ndipo ayenera kupirira kulephera kapena kudzipatula kwa netiweki kwa data center imodzi. Ndichifukwa chake zosatheka kugwiritsa ntchito chitetezo kugawanika-ubongo muyezo Pacemaker luso lotchedwa STONITH (Kuwombera Nambala Ina Pamutu) kapena mpanda. Chofunikira chake: ngati mfundo zomwe zili mgululi zikuyamba kukayikira kuti china chake chalakwika ndi mfundo zina, sichiyankha kapena kuchita molakwika, ndiye kuti amazimitsa mokakamiza kudzera pazida "zakunja", mwachitsanzo, IPMI kapena UPS khadi yowongolera. Koma izi zidzangogwira ntchito pamene, ndi kulephera kumodzi kwa seva ya IPMI kapena UPS, akupitiriza kugwira ntchito. Ikukonzekeranso kuteteza kulephera koopsa kwambiri, pamene malo onse a deta akulephera (mwachitsanzo, amachotsedwa mphamvu). Ndipo ndi kukana koteroko, chirichonse stonth-zida (IPMI, UPS, etc.) sizigwiranso ntchito.

M'malo mwake, dongosololi limakhazikitsidwa ndi lingaliro la quorum. Ma node onse ali ndi mawu, ndipo okhawo omwe amawona oposa theka la mfundo zonse angathe kugwira ntchito. Nambala iyi "hafu + 1" imatchedwa chiwerengero. Ngati chiwerengerocho sichinafikire, ndiye kuti mfundoyo imasankha kuti ili pa intaneti yokhayokha ndipo iyenera kuzimitsa zinthu zake, i.e. zili choncho kugawanika-kuteteza ubongo. Ngati mapulogalamu omwe ali ndi udindo pa khalidweli sakugwira ntchito, ndiye kuti woyang'anira, mwachitsanzo, pogwiritsa ntchito IPMI, ayenera kugwira ntchito.

Ngati chiwerengero cha node chiri chofanana (gulu m'malo awiri a data), ndiye zomwe zimatchedwa kusatsimikizika zingabwere. 50% / 50% (makumi asanu) pamene kudzipatula kwa netiweki kugawa masango ndendende pakati. Chifukwa chake, pama node angapo, amawonjezeredwa chipangizo cha quorum - daemon yosavomerezeka yomwe imatha kuyendetsedwa pamakina otsika mtengo kwambiri pa data yachitatu. Amapereka voti ku gawo limodzi (lomwe amawona), ndipo potero amathetsa kusatsimikizika kwa 50% / 50%. Seva yomwe chipangizo cha quorum chidzayendera, ndinayitana mboni (mawu ochokera ku repmgr, ndawakonda).

Zothandizira zimatha kusuntha kuchokera kumalo kupita kumalo, mwachitsanzo, kuchokera ku ma seva olakwika kupita ku omwe angagwire ntchito, kapena molamulidwa ndi oyang'anira makina. Kuti makasitomala adziwe komwe zinthu zomwe akufunikira zili (kuti agwirizane?), IP yoyandama (IP yoyandama). Awa ndi ma IP omwe Pacemaker amatha kusuntha ma node (chilichonse chili mu network yosalala). Chilichonse chimayimira gwero (ntchito) ndipo chidzapezeka pomwe muyenera kulumikizana kuti mupeze mwayi wogwiritsa ntchito ntchitoyi (kwathu, database).

Tuchanka1 (compressed scheme)

kapangidwe

Kupanga masango a failover kutengera PostgreSQL ndi Pacemaker

Lingaliro linali loti tili ndi ma database ang'onoang'ono omwe ali ndi katundu wochepa, zomwe sizothandiza kusunga seva yodzipatulira ya kapolo mumayendedwe otentha kuti muwerenge zochitika zokhazokha (palibe chifukwa chotaya zinthu zotere).

Deta iliyonse ili ndi seva imodzi. Seva iliyonse ili ndi zochitika ziwiri za PostgreSQL (mu terminology ya PostgreSQL, amatchedwa masango, koma kuti ndipewe chisokonezo, ndimawatcha zochitika (mwa fanizo ndi ma database ena), ndipo ndimangotchula masango a Pacemaker). Chitsanzo chimodzi chimagwira ntchito mwaukadaulo, ndipo ndichokhacho chomwe chimapereka ntchito (IP yoyandama yokha imatsogolera). Chochitika chachiwiri chimagwira ntchito ngati kapolo wa data center yachiwiri, ndipo idzapereka ntchito ngati mbuye wake alephera. Popeza nthawi zambiri imodzi yokha mwazochitika ziwirizi (mbuye) idzapereka ntchito (kuchita zopempha), zothandizira zonse za seva zimakonzedweratu kwa mbuye (kukumbukira kumaperekedwa kwa share_buffers cache, etc.), koma kotero kuti kachiwiri ilinso ndi zothandizira zokwanira (ngakhale kuti sizigwira ntchito bwino kudzera pa cache system cache) ngati imodzi mwama data yalephera. Kapolo samapereka ntchito (samangowerenga zopempha) panthawi yogwira ntchito yamagulu, kotero kuti palibe nkhondo yazinthu ndi mbuye pa makina omwewo.

Pankhani ya ma node awiri, kulolerana kolakwa kumatheka kokha ndi kubwereza kwa asynchronous, popeza ndi kubwereza kofanana, kulephera kwa kapolo kumabweretsa kuyimitsidwa kwa mbuye.

kulephera kuchitira umboni

Kupanga masango a failover kutengera PostgreSQL ndi Pacemaker

kulephera kuchitira umboni (chipangizo cha quorum) Ndidzangoganizira za gulu la Tuchanka1, nkhani yomweyi idzakhala ndi ena onse. Ngati umboni ulephera, palibe chomwe chidzasinthe mumagulu amagulu, zonse zidzapitiriza kugwira ntchito mofanana ndi momwe zinagwirira ntchito. Koma quorum idzakhala 2 mwa 3, choncho kulephera kwina kulikonse kudzakhala koopsa kwa gululo. Ikufunikabe kuchitidwa mwachangu.

Kukana Tuchanka1

Kupanga masango a failover kutengera PostgreSQL ndi Pacemaker

Kulephera kwa amodzi mwama data a Tuchanka1. Pamenepa mboni amaponya voti ku node yachiwiri mu data center yachiwiri. Kumeneko, kapolo wakaleyo amasanduka mbuye, chifukwa chake, ambuye onse amagwira ntchito pa seva imodzi ndipo ma IP awo onse oyandama amawalozera.

Tuchanka 2 (classic)

kapangidwe

Kupanga masango a failover kutengera PostgreSQL ndi Pacemaker

The tingachipeze powerenga chiwembu cha mfundo ziwiri. Mbuye akugwira ntchito pa imodzi, kapolo amagwira yachiwiri. Onsewa atha kuchita zopempha (kapolo amangowerengedwa kokha), kotero onse amalozeredwa ndi IP yoyandama: krogan2 ndiye mbuye, krogan2s1 ndi kapolo. Onse aΕ΅iri mbuye ndi kapolo adzakhala ndi kulolera zolakwa.

Pankhani ya node ziwiri, kulolerana kolakwa kumatheka kokha ndi kubwereza kwa asynchronous, chifukwa ndi kubwereza kofanana, kulephera kwa kapolo kumayambitsa kuyimitsidwa kwa mbuye.

Kukana Tuchanka2

Kupanga masango a failover kutengera PostgreSQL ndi Pacemaker

Ngati imodzi mwa malo a data ikulephera mboni voterani wachiwiri. Pamalo okhawo ogwirira ntchito, mbuyeyo adzakwezedwa, ndipo ma IP onse oyandama adzalozera: mbuye ndi kapolo. Zoonadi, chitsanzocho chiyenera kukhazikitsidwa m'njira yoti chikhale ndi zothandizira zokwanira (malire ogwirizanitsa, ndi zina zotero) kuti avomereze nthawi yomweyo kugwirizanitsa ndi zopempha kuchokera kwa master ndi akapolo float IP. Ndiko kuti, panthawi yogwira ntchito bwino, iyenera kukhala ndi malire okwanira.

Tuchanka4 (akapolo ambiri)

kapangidwe

Kupanga masango a failover kutengera PostgreSQL ndi Pacemaker

Kale wina monyanyira. Pali ma database omwe ali ndi zopempha zambiri zowerengera zokha (zochitika zamasamba odzaza kwambiri). Tuchanka4 ndi mkhalidwe womwe pangakhale akapolo atatu kapena kuposerapo kuti akwaniritse zopempha zotere, komabe osachuluka. Ndi akapolo ochuluka kwambiri, padzakhala kofunikira kupanga dongosolo lobwerezabwereza la hierarchical. Pazochepa (pachithunzichi), chilichonse mwa malo awiriwa ali ndi ma seva awiri, omwe ali ndi chitsanzo cha PostgreSQL.

Mbali ina ya chiwembuchi ndikuti ndizotheka kale kukonza kubwereza kofananira pano. Imakonzedwa kuti ibwerezenso, ngati n'kotheka, kumalo ena a data, osati ku chifaniziro cha malo omwewo monga mbuye. Mbuye ndi kapolo aliyense amasonyezedwa ndi IP yoyandama. Zabwino, pakati pa akapolo padzakhala kofunikira kuchita mtundu wina wa zopempha sql proxy, mwachitsanzo, kumbali ya kasitomala. Makasitomala osiyanasiyana angafunike mitundu yosiyanasiyana ya sql proxy, ndipo opanga makasitomala okha ndi omwe amadziwa yemwe akufunika. Izi zitha kukhazikitsidwa ndi daemon yakunja kapena laibulale yamakasitomala (malo olumikizirana), ndi zina zambiri. Zonsezi ndizoposa kuchuluka kwa gulu la database failover (failover SQL proxy ikhoza kukhazikitsidwa paokha, pamodzi ndi kasitomala failover).

Kukana Tuchanka4

Kupanga masango a failover kutengera PostgreSQL ndi Pacemaker

Ngati malo amodzi a data (ie ma seva awiri) alephera, mboni imavotera yachiwiri. Zotsatira zake, ma seva awiri amagwira ntchito pamalo achiwiri a data: mbuye amagwira ntchito pa imodzi, ndipo mbuyeyo amayandama pa IP (kuti alandire zopempha zolembera); ndipo kapolo wokhala ndi kubwereza kofanana akuthamanga pa seva yachiwiri, ndipo imodzi mwa akapolo oyandama IPs imalozera kwa izo (zongowerenga zopempha).

Chinthu choyamba kudziwa: si ma IP onse oyandama akapolo omwe angagwire ntchito, koma imodzi yokha. Ndipo kuti mugwire bwino ntchito ndi izo, zidzakhala zofunikira sql proxy idalozera zopempha zonse ku IP yokha yoyandama yotsala; ndi ngati sql proxy ayi, mutha kulembetsa akapolo onse oyandama a IP olekanitsidwa ndi ma comma mu URL yolumikizira. Zikatero, ndi libpq kugwirizana kudzakhala kwa IP yoyamba yogwira ntchito, monga momwe amachitira mu makina oyesera okha. Mwina m'malaibulale ena, mwachitsanzo, JDBC, izi sizigwira ntchito ndipo ndizofunikira sql proxy. Izi zimachitika chifukwa kuyandama IP kwa akapolo ndikoletsedwa kukwera nthawi imodzi pa seva imodzi, kotero kuti amagawidwa mofanana pakati pa ma seva akapolo ngati alipo angapo.

Chachiwiri: ngakhale pakagwa vuto la data center, kubwereza kofanana kudzasungidwa. Ndipo ngakhale kulephera kwachiwiri kungachitike, ndiye kuti, imodzi mwama seva awiriwo ikalephera pamalo otsala a data, gululo, ngakhale limasiya kupereka ntchito, lisungabe chidziwitso chazochita zonse zomwe adatsimikiza kuchita (padzakhala musakhale ndi chidziwitso chotayika pakulephera kwachiwiri).

Tuchanka3 (3 data centers)

kapangidwe

Kupanga masango a failover kutengera PostgreSQL ndi Pacemaker

Ili ndi gulu la nthawi yomwe pali ma data atatu omwe amagwira ntchito bwino, iliyonse yomwe ili ndi seva yogwira ntchito mokwanira. Pamenepa chipangizo cha quorum osafunikira. Mbuye amagwira ntchito pamalo amodzi osungiramo zinthu, ndipo akapolo amagwira ntchito kumalo ena awiriwo. Kubwereza ndikofanana, lembani ALIYENSE (kapolo1, kapolo2), ndiye kuti, kasitomala adzalandira chitsimikiziro cha kudzipereka pamene aliyense wa akapolowo ndiye woyamba kuyankha kuti wavomera. Zothandizira zimalozeredwa ndi IP yoyandama imodzi ya mbuye ndi ziwiri za akapolo. Mosiyana ndi Tuchanka4, ma IP onse atatu oyandama amalekerera zolakwika. Kuti muwerenge mafunso owerengera a SQL okha, mutha kugwiritsa ntchito sql proxy (ndi kulolerana kosiyana), kapena perekani kapolo mmodzi IP kuyandama theka la makasitomala, ndipo yachiwiri kwa theka linalo.

Kukana Tuchanka3

Kupanga masango a failover kutengera PostgreSQL ndi Pacemaker

Ngati imodzi mwa malo a deta ikulephera, awiri amakhalabe. M'modzi, mbuye ndi IP yoyandama kuchokera kwa mbuyeyo amakwezedwa, chachiwiri, kapolo ndi ma IP amayandama akapolo (mwachitsanzo ayenera kukhala ndi malire awiri kuti avomereze kulumikizana konse kuchokera ku ma IP amtundu wa akapolo). Kubwereza kwa synchronous pakati pa ambuye ndi akapolo. Komanso, gululo lidzapulumutsa zambiri zokhudzana ndi zomwe zachitika komanso zotsimikizika (sipadzakhala kutaya chidziwitso) pakawonongeka kwa malo awiri a data (ngati sakuwonongedwa nthawi imodzi).

Ndinaganiza kuti ndisaphatikizepo kufotokozera mwatsatanetsatane za mapangidwe a fayilo ndi kutumizidwa. Ngati mukufuna kusewera, mutha kuwerenga zonsezi mu README. Ndikungofotokoza za kuyezetsa kodziwikiratu.

Makina oyesera okha

Kuti muwone kulekerera kwa zolakwika zamagulu ndikutsanzira zolakwika zosiyanasiyana, makina oyesera okha adapangidwa. Choyambitsidwa ndi script test/failure. Zolemba zimatha kutenga ngati magawo manambala amagulu omwe mukufuna kuyesa. Mwachitsanzo, lamulo ili:

test/failure 2 3

adzangoyesa tsango lachiwiri ndi lachitatu. Ngati magawo sanatchulidwe, ndiye kuti magulu onse adzayesedwa. Magulu onse amayesedwa mofanana ndipo zotsatira zake zikuwonetsedwa mu gulu la tmux. Tmux imagwiritsa ntchito seva yodzipatulira ya tmux, kotero script ikhoza kuyendetsedwa kuchokera pansi pa tmux yosasinthika, zomwe zimapangitsa kuti tmux ikhale yosasinthika. Ndikupangira kugwiritsa ntchito terminal pawindo lalikulu komanso ndi font yaying'ono. Asanayambe kuyezetsa, makina onse amasinthidwanso ku chithunzithunzi panthawi yomwe script ikutha. setup.

Kupanga masango a failover kutengera PostgreSQL ndi Pacemaker

Ma terminal amagawidwa m'mizere molingana ndi kuchuluka kwamagulu oyesedwa, mwachisawawa (pazithunzi) pali anayi. Ndifotokoza zomwe zili m'mizatiyo pogwiritsa ntchito Tuchanka2 mwachitsanzo. Ma panel omwe ali pachithunzichi amawerengedwa:

  1. Apa ndipamene ziwerengero zoyeserera zimawonetsedwa. Olankhula:
    • kulephera - dzina la mayeso (ntchito mu script) zomwe zimatsanzira kulephera.
    • anachita - masamu amatanthawuza nthawi mumasekondi omwe gululo labwezeretsa ntchito yake. Imayesedwa kuyambira pachiyambi cha script yomwe imatsanzira kulephera, ndipo mpaka nthawi yomwe gululo limabwezeretsa thanzi lake ndikutha kupitiriza kupereka ntchito. Ngati nthawiyo ili yochepa kwambiri, mwachitsanzo, masekondi asanu ndi limodzi (izi zimachitika m'magulu omwe ali ndi akapolo angapo (Tuchanka3 ndi Tuchanka4)), izi zikutanthauza kuti kusokonezeka kunathera pa kapolo wosasunthika ndipo sikunakhudze ntchito mwanjira iliyonse, panalibe masiwichi a cluster state.
    • kupatuka - ikuwonetsa kufalikira (kulondola) kwa mtengowo anachita mwa njira yokhazikika yopatuka.
    • awerenge Mayesowa achitika kangati.
  2. Logi lalifupi limakupatsani mwayi wowunika zomwe gululi likuchita pakadali pano. Nambala yobwereza (yoyesa), sitampu yanthawi, ndi dzina la ntchito zikuwonetsedwa. Kuchita motalika kwambiri (> 5 mphindi) kumasonyeza vuto linalake.
  3. mtima (mtima) ndi nthawi yamakono. Kuti muwunikire magwiridwe antchito mbuye nthawi yamakono imalembedwa nthawi zonse patebulo lake pogwiritsa ntchito IP yoyandama ya master. Ngati zapambana, zotsatira zake zikuwonetsedwa pagawoli.
  4. kumenya (pulse) - "nthawi yapano", yomwe idalembedwa kale ndi script mtima kuti muphunzire, tsopano werengani kuchokera kapolo kudzera pa IP yake yoyandama. Imakulolani kuti muwone momwe kapolo amagwirira ntchito komanso kubwerezabwereza. Palibe akapolo omwe ali ndi IP yoyandama ku Tuchanka1 (palibe akapolo omwe amapereka chithandizo), koma pali zochitika ziwiri (DB), kotero siziwonetsedwa apa. kumenyandi mtima chachiwiri.
  5. Kuyang'anira momwe gulu likugwirira ntchito pcs mon. Imawonetsa kapangidwe kake, kagawidwe kazinthu ndi ma node ndi zidziwitso zina zothandiza.
  6. Imawonetsa kuwunika kwadongosolo kuchokera pamakina aliwonse apagulu. Pakhoza kukhala mapanelo ochulukirapo - ndi makina angati omwe gululi lili nawo. Ma graph awiri CPU Katundu (mapurosesa awiri mu makina enieni), dzina la makina enieni, Katundu Wadongosolo (yotchedwa Load Average chifukwa imatenga pafupifupi mphindi 5, 10, ndi 15), sungani deta, ndi kugawa kukumbukira.
  7. Kutsata script yomwe imayesa mayeso. Pakachitika vuto - kusokonezeka mwadzidzidzi kwa ntchito kapena kudikirira kosalekeza - apa mutha kuwona chifukwa cha khalidweli.

Kuyezetsa kumachitika mu magawo awiri. Choyamba, script imadutsa mumitundu yonse ya mayesero, mwachisawawa kusankha makina enieni omwe mayeserowa akuyenera kugwiritsidwa ntchito. Ndiye kuzungulira kosatha kuyezetsa kumachitika, makina enieni ndi kulephera kumasankhidwa mwachisawawa nthawi iliyonse. Kutha kwadzidzidzi kwa script yoyeserera (gawo lapansi) kapena kudikirira kosalekeza kwa china chake (> 5 mphindi nthawi kuti amalize ntchito imodzi, izi zitha kuwoneka potsatira) zikuwonetsa kuti mayeso ena pagululi alephera.

Mayeso aliwonse amakhala ndi izi:

  1. Kuyamba ntchito yomwe imatengera cholakwika.
  2. Mwakonzeka? - kuyembekezera kubwezeretsedwa kwa thanzi la gulu (pamene mautumiki onse aperekedwa).
  3. Nthawi yobwezeretsa Cluster ikuwonetsedwa (anachita).
  4. Konzani - masango "akonzedwa". Pambuyo pake iyenera kubwerera kuntchito yogwira ntchito mokwanira ndikukonzekera kusokonezeka kwina.

Nawu mndandanda wa mayeso ofotokoza zomwe amachita:

  • Bomba: Amapanga "Zokumbukira" ndi bomba la foloko.
  • OutOfSpace: hard drive yadzaza. Koma mayesowo ndi ophiphiritsa, ndi katundu wocheperako womwe umapangidwa pakuyesedwa, hard drive ikasefukira, PostgreSQL nthawi zambiri siyilephera.
  • Postgres-KUPHA: imapha PostgreSQL ndi lamulo killall -KILL postgres.
  • postgres-STOP: imapachika PostgreSQL ndi lamulo killall -STOP postgres.
  • kuzimitsa: "de-energizes" makina enieni ndi lamulo VBoxManage controlvm "Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΊΠ°" poweroff.
  • Bwezerani: imatsitsanso makina enieni ndi lamulo VBoxManage controlvm "Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΊΠ°" reset.
  • SBD STOP: imayimitsa daemon ya SBD ndi lamulo killall -STOP sbd.
  • Tsekani: kudzera pa SSH imatumiza lamulo ku makina enieni systemctl poweroff, dongosololi limatseka mwachisomo.
  • chotsani: kudzipatula pa intaneti, lamulo VBoxManage controlvm "Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΊΠ°" setlinkstate1 off.

Tsitsani kuyesa mwina ndi lamulo la tmux la "kupha-window" ctrl-b&, kapena mwa lamulo "detach-client" ctrl-bd: nthawi yomweyo, kuyesa kwatha, tmux imatsekedwa, makina enieni amazimitsidwa.

Mavuto Odziwika Poyesa

  • Pa nthawiyi watchdog daemon sbd imayendetsa kuyimitsa ma daemoni, koma osawazizira. Ndipo, chifukwa chake, zosokoneza zimakonzedwa molakwika, zomwe zimatsogolera kuzizira kokha Corosync ΠΈ pacemaker, koma osagwa sbd... Kwa cheke Corosync ali nazo kale PR#83 (pa GitHub pa sbd), analandiridwa munthambi mbuye. Adalonjeza (mu PR # 83) kuti padzakhala china chofanana ndi Pacemaker, ndikuyembekeza kuti potero Chipewa Chofiira 8 nditero. Koma "zolakwika" zotere ndizongopeka, zimatsanzira mosavuta kugwiritsa ntchito, mwachitsanzo, killall -STOP corosynckoma osakumana m'moyo weniweni.

  • Π£ pacemaker mu Baibulo la CentOS 7 kukhazikitsidwa molakwika sync_timeout Ρƒ chipangizo cha quorumzotsatira zake ngati mfundo imodzi yalephera, nodi yachiwiri idayambiranso ndikutheka, kumene mbuyeyo anayenera kupitako. Kuchulukitsa ndi kuchuluka sync_timeout Ρƒ chipangizo cha quorum panthawi yotumizira (mu script setup/setup1). Kusintha uku sikunavomerezedwe ndi opanga pacemaker, m'malo mwake adalonjeza kuti adzakonzanso zomangamanga m'njira yoti (m'tsogolomu mpaka kalekale) kuti nthawi yothayi iwerengedwe yokha.

  • Ngati mwatchulapo pakusintha kwa database LC_MESSAGES (mameseji) Unicode itha kugwiritsidwa ntchito, mwachitsanzo, ru_RU.UTF-8, kenako poyambira postgres m'malo omwe malo si UTF-8, tinene, pamalo opanda kanthu (apa wopanga pacemaker+pgsqlms(paf) amayamba postgres) ndiye mu chipika m'malo mwa zilembo za UTF-8 padzakhala mafunso. Madivelopa a PostgreSQL sanagwirizanepo pazomwe angachite pankhaniyi. Zimawononga, muyenera kuziyika LC_MESSAGES=en_US.UTF-8 pamene mukukonzekera (kupanga) chitsanzo cha DB.

  • Ngati wal_receiver_timeout yakhazikitsidwa (mwachikhazikitso ndi 60s), ndiye poyesa PostgreSQL-STOP pa master mu tuchanka3 ndi tuchanka4 masango. Kubwereza sikulumikizananso ndi mbuye watsopano. Kubwereza komweko ndikofanana, kotero sikuti kapolo yekha amasiya, komanso mbuye watsopano. Imapeza pokhazikitsa wal_receiver_timeout=0 pokonza PostgreSQL.

  • Nthawi zina ndimawona kubwereza kwa PostgreSQL kukulendewera mu mayeso a ForkBomb (kusefukira kwa kukumbukira). Pambuyo pa ForkBomb, nthawi zina akapolo sangalumikizanenso ndi mbuye watsopano. Ndaziwona izi m'magulu a tuchanka3 ndi tuchanka4, pomwe chifukwa chakuti kubwereza ndikofanana, mbuyeyo adapachika. Vutolo linachoka lokha, patapita nthawi yaitali (pafupifupi maola awiri). Kafukufuku wochulukirapo akufunika kukonza izi. Zizindikirozi ndizofanana ndi kachilombo kameneka, komwe kamayambitsa chifukwa chosiyana, koma ndi zotsatira zofanana.

Chithunzi cha Krogan chotengedwa kuchokera wakhalidwe losalongosoka Art ndi chilolezo cha wolemba:

Kupanga masango a failover kutengera PostgreSQL ndi Pacemaker

Source: www.habr.com

Kuwonjezera ndemanga