Kutevedzera mafailaver masumbu akavakirwa paPostgreSQL uye Pacemaker

Nhanganyaya

Imwe nguva yapfuura ndakapihwa basa rekugadzira failover cluster ye PostgreSQL, inoshanda munzvimbo dzinoverengeka dzedata dzakabatana neoptical fiber mukati meguta rimwe, uye inokwanisa kutsungirira kutadza (somuenzaniso, kudzima) kweimwe data data. Sesoftware inokonzeresa kukanganisa kushivirira, ndakasarudza pacemakernekuti iyi ndiyo mhinduro yepamutemo kubva kuRedHat yekugadzira failover masumbu. Izvo zvakanaka nekuti RedHat inopa rutsigiro kwairi, uye nekuti iyi mhinduro ndeyepasirese (modular). Nerubatsiro rwayo, zvinogoneka kuve nechokwadi chekushivirira kukanganisa kwete kwePostgreSQL chete, asiwo yemamwe masevhisi, kungave kushandisa akajairwa mamodule kana kugadzira iwo kune chaiwo zvinodiwa.

Sarudzo iyi yakamutsa mubvunzo unonzwisisika: sei kukanganisa-kushivirira kuchaita failover cluster? Kuti ndiongorore izvi, ndakagadzira bhenji rekuyedza rinoteedzera kutadza kwakasiyana pamasumbu emasumbu, rinomirira kuti sevhisi idzorerwe, kudzoreredza node yakakundikana, uye kuenderera mberi nekuyedza muchiuno. Iyi purojekiti yakatanga kunzi hapgsql, asi nekufamba kwenguva ndakabhowekana nezita, iro raingova nevhawero rimwe chete. Naizvozvo, ndakatanga kudaidza kukanganisa-kushivirira dhatabhesi (uye inoyangarara IP ichinongedza kwavari) krogan (unhu kubva mumutambo wekombuta umo nhengo dzese dzakakosha dzinodzokororwa), uye node, masumbu uye purojekiti pachayo. tuchanka (nyika inogara krogans).

Iye zvino manejimendi abvumira vhura iyo purojekiti kune yakavhurika sosi nharaunda pasi peMIT rezinesi. The README ichakurumidza kushandurirwa muchiChirungu (nokuti zvinotarisirwa kuti vatengi vakuru vachave Pacemaker uye PostgreSQL vagadziri), uye ndakasarudza kupa shanduro yekare yeRussia ye README (chikamu) nenzira yechinyorwa ichi.

Kutevedzera mafailaver masumbu akavakirwa paPostgreSQL uye Pacemaker

Masumbu anoiswa pamakina chaiwo Virtualbox. Huwandu hwemachina gumi nemaviri (12GiB yakazara) ichaiswa, iyo inoumba 36 kukanganisa-kushivirira masumbu (akasiyana sarudzo). Iwo masumbu maviri ekutanga ane maviri ePostgreSQL maseva, ari munzvimbo dzakasiyana dze data, uye sevha yakajairika. pupura c quorum mudziyo (inogarwa pamuchina wakachipa chaiwo mune yechitatu data center), iyo inogadzirisa kusavimbika 50% / 50%, uchipa vhoti yako kune rimwe remapato. Chechitatu sumbu munzvimbo nhatu dze data: tenzi mumwe, varanda vaviri, kwete quorum mudziyo. Chikwata chechina chine maseva mana ePostgreSQL, maviri pachiteshi chedata: tenzi mumwe, mamwe makopi, uye anoshandisawo. pupura c quorum mudziyo. Yechina inogona kumira kutadza kwemaseva maviri kana imwe data data. Iyi mhinduro inogona kuyerwa kune nhamba yakakura ye replicas kana zvichidikanwa.

Yakarurama nguva sevhisi ntpd zvakare yakagadziridzwa zvakare yekutadza kushivirira, asi inoshandisa iyo nzira pachayo ntpd (nherera mode) Shared server pupura inoshanda sepakati peNTP sevha, ichigovera nguva yayo kumasumbu ese, nekudaro ichiwiriranisa maseva ese kune mumwe nemumwe. Kana pupura inokundikana kana kuparadzaniswa, ipapo imwe yemasevha esumbu (mukati meboka) inotanga kugovera nguva yayo. Auxiliary caching HTTP proxy yakasimudzwawo ku pupura, nerubatsiro rwayo, mamwe machina chaiwo anogona kuwana Yum repositories. Muchokwadi, masevhisi akadai senguva chaiyo uye proxies anogona kunge achiitirwa pamaseva akazvitsaurira, asi mudumba iwo anogarwa pupura chete kuchengetedza huwandu hwemashini chaiwo uye nzvimbo.

Mavhesi

v0. Inoshanda neCentOS 7 uye PostgreSQL 11 paVirtualBox 6.1.

Cluster structure

Ese masumbu akagadzirwa kuti agare munzvimbo dzakawanda dzedata, akasanganiswa kuita imwechete flat network uye anofanirwa kushingirira kutadza kana network kuparadzaniswa kweimwe data data. Ndosaka hazvigoneki shandisa kudzivirira kubva kupatsanurwa-uropi standard Pacemaker tekinoroji inonzi STONITH (Pfura Iyo Imwe Node Mumusoro) kana fencing. Chinhu chayo: kana node dziri musumbu dzichitanga kufungidzira kuti chimwe chinhu chakashata neimwe node, haisi kupindura kana kuita zvisizvo, ipapo vanoidzima nechisimba kuburikidza nemidziyo "yekunze", semuenzaniso, IPMI kana UPS control kadhi. . Asi izvi zvinongoshanda mumamiriro ezvinhu apo, muchiitiko chekukundikana kumwe chete, IPMI kana UPS server inoramba ichishanda. Pano tinoronga kudzivirira kutadza kwakaipisisa, kana iyo data data yese yakundikana (somuenzaniso, inorasikirwa nesimba). Uye nekuramba kwakadaro, zvose stonth-devices (IPMI, UPS, etc.) haizoshandewo.

Pane kudaro, iyo system yakavakirwa pane pfungwa yequorum. Manodhi ese ane izwi, uye chete ayo anogona kuona inopfuura hafu yemanodhi ese anogona kushanda. Huwandu uhu hwe "hafu + 1" hunodanwa quorum. Kana quorum isingasviki, saka iyo node inosarudza kuti iri mune network yekuzviparadzanisa uye inofanira kudzima zviwanikwa zvayo, i.e. ndizvo zvazviri kupatsanurwa-uropi kudzivirira. Kana iyo software ine chekuita nehutsika iyi isingashande, ipapo murindi, semuenzaniso, zvichibva paIPMI, ichafanirwa kushanda.

Kana iyo nhamba yemanodhi iri kunyange (sumbu munzvimbo mbiri dzedhata), saka izvo zvinonzi kusava nechokwadi zvinogona kubuda. 50% / 50% (makumi mashanu neshanu) apo kuparadzaniswa kwetiweki kunopatsanura sumbu chairo nepakati. Nokudaro, kune imwe nhamba ye nodes, tinowedzera quorum mudziyo idhimoni risingaremekedzi iro rinogona kuvhurwa pamuchina wakachipa chaiwo mune yechitatu data center. Anopa vhoti yake kune chimwe chezvikamu (izvo zvaanoona), uye nokudaro anogadzirisa 50% / 50% kusava nechokwadi. Ndakadoma sevha ichavhurwa quorum mudziyo pupura (terminology kubva repmgr, ndakaifarira).

Zviwanikwa zvinogona kutamiswa kubva kune imwe nzvimbo kuenda kune imwe, semuenzaniso, kubva kune anokanganisa maseva kuenda kune ane hutano, kana nekuraira kwevatariri vehurongwa. Kuti vatengi vazive kuti zviwanikwa zvavanoda zviri papi (pakubatanidza?), inoyangarara IP (kuyangarara IP) Aya maIPs ayo Pacemaker anogona kufamba achitenderedza node (zvese zviri paflat network). Imwe neimwe yadzo inomiririra sosi (sevhisi) uye ichave iripo kwaunoda kubatanidza kuti uwane mukana kune iyi sevhisi (munyaya yedu, dhatabhesi).

Tuchanka1 (dunhu rine compaction)

mamiriro

Kutevedzera mafailaver masumbu akavakirwa paPostgreSQL uye Pacemaker

Pfungwa yaive yekuti isu tine madiki madiki dhatabhesi ane yakaderera mutoro, izvo zvisingabatsiri kuchengetedza yakazvitsaurira muranda sevha mune inopisa yekumira modhi yekuverenga chete kutengeserana (hapana chikonzero chekurasa kwakadaro kwezvinhu).

Imwe neimwe data data ine server imwe. Sevha yega yega ine mbiri dzePostgreSQL (muPostgreSQL terminology dzinonzi masumbu, asi kuti ndidzivise nyonganiso ndichadzidaidza kuti zviitiko (nekuenzanisa nemamwe dhatabhesi), uye ini ndichadaidza masumbu ePacemaker chete. Imwe muenzaniso inoshanda mune master mode, uye chete inopa masevhisi (chete inoyangarara IP inotungamira kwairi). Chechipiri chiitiko chinoshanda semuranda kune yechipiri data data, uye ichapa masevhisi chete kana tenzi wayo akatadza. Sezvo nguva zhinji ichingori chiitiko chimwe chete kubva pavaviri (tenzi) vanozopa masevhisi (ita zvikumbiro), ese maseva zviwanikwa zvakagadziridzwa tenzi (ndangariro yakagoverwa kune yakagovaniswa_buffers cache, nezvimwewo), asi kuti kechipiri chiitiko. zvakare ine zviwanikwa zvakaringana (kunyangwe zve suboptimal mashandiro kuburikidza nefaira system cache) kana ikatadza imwe yedata data. Muranda haapi masevhisi (haaiti kuverenga chete zvikumbiro) panguva yakajairika kushanda kwesumbu, kuitira kuti pasave nehondo yezviwanikwa natenzi pamushini mumwe chete.

Panyaya yemanode maviri, kushivirira kukanganisa kunongogoneka neasynchronous kudzokorora, sezvo nekudzokorora kwakafanana, kutadza kwemuranda kunotungamira kumira kwatenzi.

Kutadza kupupura

Kutevedzera mafailaver masumbu akavakirwa paPostgreSQL uye Pacemaker

Kutadza kupupura (quorum mudziyo) Ndichafunga nezveboka reTuchanka1 chete, pamwe chete nemamwe ose ichava nyaya imwe chete. Kana chapupu chikakundikana, hapana chichachinja muhutano hwemasumbu, zvinhu zvose zvicharamba zvichishanda nenzira imwecheteyo. Asi quorum ichave 2 kubva pa3, uye nekudaro chero kukundikana kunozotevera kunouraya sumbu. Ichafanira kugadziriswa nekukasira.

Tuchanka1 kuramba

Kutevedzera mafailaver masumbu akavakirwa paPostgreSQL uye Pacemaker

Kukundikana kweimwe yedata data yeTuchanka1. Panyaya iyi pupura inokanda vhoti yayo kune yechipiri node mune yechipiri data center. Ikoko, aimbove muranda anoshanduka kuita tenzi, somugumisiro, vese vatenzi vanoshanda pane imwechete sevha uye ese ari maviri eyangarara IPs anonongedzera kwavari.

Tuchanka2 (yemhando yepamusoro)

mamiriro

Kutevedzera mafailaver masumbu akavakirwa paPostgreSQL uye Pacemaker

Classic scheme ye node mbiri. Tenzi anoshanda pane mumwe, muranda pane wechipiri. Vese vari vaviri vanogona kuita zvikumbiro (muranda anoverengwa chete), saka ese ari maviri anongedzerwa nekuyangarara IP: krogan2 ndiye tenzi, krogan2s1 muranda. Vose tenzi nomuranda vachava nokushivirira kwokukanganisa.

Panyaya yemanode maviri, kushivirira kukanganisa kunongogoneka neasynchronous kudzokorora, nekuti nekudzokorora kwakafanana, kutadza kwemuranda kunotungamira kumira kwatenzi.

Tuchanka2 kuramba

Kutevedzera mafailaver masumbu akavakirwa paPostgreSQL uye Pacemaker

Kana imwe yedata data ikakundikana pupura mavhoti echipiri. Pane chete nzvimbo yedata yekushanda, tenzi achasimudzwa, uye ese ari maviri IPs anoyangarara anonongedzera kwairi: tenzi nemuranda. Ehe, muenzaniso unofanirwa kugadziridzwa nenzira yekuti ine zviwanikwa zvakakwana (miganho yekubatanidza, nezvimwewo) kuti panguva imwe chete igamuchire zvese zvinongedzo uye zvikumbiro kubva kuna tenzi uye muranda float IP. Ndiko kuti, panguva yekushanda kwemazuva ose inofanira kuva nehuwandu hwakakwana hwemiganhu.

Tuchanka4 (varanda vazhinji)

mamiriro

Kutevedzera mafailaver masumbu akavakirwa paPostgreSQL uye Pacemaker

Kwatova kumwe kunyanyisa. Kune dhatabhesi inogamuchira yakawanda yekuverenga-chete zvikumbiro (yakajairika kesi yeyakakwira-mutoro saiti). Tuchanka4 mamiriro ezvinhu apo panogona kuva nevaranda vatatu kana kupfuura kuti vabate zvikumbiro zvakadaro, asi zvakadaro kwete zvakawanda. Nenhamba huru kwazvo yevaranda, zvichave zvakafanira kugadzira hierarchical replication system. Mune iyo diki kesi (pamufananidzo), imwe neimwe yenzvimbo mbiri dzedata ine maseva maviri, imwe neimwe ine PostgreSQL muenzaniso.

Chimwe chinhu chechirongwa ichi ndechekuti zvatove kugona kuronga imwe synchronous replication. Yakagadzirirwa kudzokorora, kana zvichibvira, kune imwe nzvimbo yedata, pane kune replica mune imwechete data data satenzi. Tenzi nemuranda wega wega vanonongedzwa neIP inoyangarara. Neraki, pakati pevaranda zvichave zvakafanira kuenzanisa zvikumbiro neimwe nzira sql proxy, semuenzaniso, kudivi revatengi. Mhando dzakasiyana dzevatengi dzinogona kuda marudzi akasiyana sql proxy, uye vanogadzira vatengi chete ndivo vanoziva vanoda izvo. Kuita uku kunogona kuitwa nedaemon rekunze kana neraibhurari yemutengi (yekubatanidza dziva), nezvimwe. Zvese izvi zvinopfuura musoro weiyo failover database cluster (failover SQL proxy inogona kuitwa yakazvimiririra, pamwe chete nekushivirira kukanganisa kwevatengi).

Tuchanka4 kuramba

Kutevedzera mafailaver masumbu akavakirwa paPostgreSQL uye Pacemaker

Kana imwe nzvimbo yedata (kureva, maseva maviri) ikakundikana, chapupu chinovhota chechipiri. Nekuda kweizvozvo, kune maseva maviri anomhanya munzvimbo yechipiri yedata: imwe iri kumhanya tenzi, uye tenzi anoyangarara IP anonongedzera kwairi (yekugamuchira kuverenga-nyora zvikumbiro); uye pane yechipiri sevha pane muranda ari kumhanya neakaenzana kudzokorora, uye imwe yevaranda inoyangarara IPs inonongedzera kwairi (yekuverenga-chete zvikumbiro).

Chinhu chekutanga chekucherechedza ndechekuti havasi vese varanda vanoyangarara IPs vachava vashandi, asi mumwe chete. Uye kushanda nayo nemazvo zvichave zvakakodzera kuti sql proxy yakadzoreredza zvikumbiro zvese kune yasara IP inoyangarara; uye kana sql proxy kwete, ipapo unogona kunyora ese anoyangarara IP varanda akaparadzaniswa nemakoma mune yekubatanidza URL. Muchiitiko ichi, ne libpq kubatana kuchave kune yekutanga kushanda IP, izvi zvinoitwa mune otomatiki yekuyedza system. Zvichida mune mamwe maraibhurari, semuenzaniso, JDBC, izvi hazvishande uye zvinodiwa sql proxy. Izvi zvinoitwa nekuti float IPs yevaranda inorambidzwa kusimudzwa panguva imwe chete pane imwe sevha, kuitira kuti igovaniswa zvakaenzana pakati pemaseva evaranda kana paine akati wandei ari kumhanya.

Chechipiri: kunyange kana chiitiko che data data kukundikana, synchronous replication ichachengetwa. Uye kunyangwe kana kutadza kwechipiri kuchiitika, ndiko kuti, imwe yemaseva maviri mune yasara data data ikatadza, iyo cluster, kunyangwe ichizomira kupa masevhisi, icharamba ichichengeta ruzivo nezvese kutengeserana kutengeserana kwayakapa simbiso yekuzvipira. (hapazovi neruzivo rwekurasikirwa kana kutadza kwechipiri).

Tuchanka3 (3 data centers)

mamiriro

Kutevedzera mafailaver masumbu akavakirwa paPostgreSQL uye Pacemaker

Iri isumbu remamiriro ezvinhu apo kune matatu anoshanda zvizere data data, imwe neimwe ine inoshanda zvizere database server. Panyaya iyi quorum mudziyo hazvidiwi. Imwe nzvimbo yedata inoshandirwa natenzi, mamwe maviri anoshandirwa nevaranda. Replication is synchronous, type ANY (muranda1, muranda2), kureva kuti, mutengi anogashira vimbiso yekuzvipira kana chero wevaranda ndiye wekutanga kupindura kuti abvuma kuita. Zviwanikwa zvinoratidzwa neiyo inoyangarara IP yatenzi uye maviri evaranda. Kusiyana neTuchanka4, ese matatu anoyangarara IPs anoshivirira kukanganisa. Kuenzanisa kuverenga-chete SQL mibvunzo yaunogona kushandisa sql proxy (nekusiyana kukanganisa kushivirira), kana kugovera imwe muranda inoyangarara IP kune hafu yevatengi, uye imwe hafu kune yechipiri.

Tuchanka3 kuramba

Kutevedzera mafailaver masumbu akavakirwa paPostgreSQL uye Pacemaker

Kana imwe yedata data ikakundikana, maviri anosara. Mune imwe, tenzi uye inoyangarara IP kubva kuna tenzi inosimudzwa, mune yechipiri - muranda uye ese ari maviri muranda anoyangarara IPs (muenzaniso unofanirwa kuve nekaviri chengetedzo yezviwanikwa kuti ugamuchire zvese zvinongedzo kubva kune ese ari maviri muranda anoyangarara IPs). Synchronous replication pakati pevatenzi nevaranda. Uyewo, boka racho richachengetedza ruzivo pamusoro pekuita uye kusimbiswa kwekutengeserana (hapazovi nekurasikirwa kwemashoko) muchiitiko chekuparadzwa kwenzvimbo mbiri dze data (kana dzisina kuparadzwa panguva imwe chete).

Ndakasarudza kusaisa tsananguro yakadzama yechimiro chefaira uye kutumira. Chero ani zvake anoda kutamba anogona kuiverenga yese mu README. Ndiri kungopa tsananguro yeotomatiki kuyedza.

Otomatiki yekuongorora system

Kuti uedze kukanganisa kushivirira kwemasumbu nekuenzanisa kukanganisa kwakasiyana, otomatiki yekuyedza sisitimu yakagadzirwa. Yakatangwa nescript test/failure. Iyo script inogona kutora sema paramita nhamba dzemasumbu aunoda kuyedza. Semuenzaniso uyu murairo:

test/failure 2 3

ichaedza chete sumbu rechipiri nerechitatu. Kana ma parameter asina kutaurwa, ipapo masumbu ese anoedzwa. Masumbu ese anoyedzwa anoenderana, uye mhedzisiro inoratidzwa mune tmux pani. Tmux inoshandisa yakatsaurirwa tmux server, saka script inogona kumhanyiswa kubva pasi peiyo default tmux, zvichikonzera nested tmux. Ini ndinokurudzira kushandisa iyo terminal muhwindo hombe uye nediki font. Kuyedzwa kusati kwatanga, ese machina emagetsi anotenderedzwa kumashure kune snapshot panguva iyo script inopera. setup.

Kutevedzera mafailaver masumbu akavakirwa paPostgreSQL uye Pacemaker

Iyo terminal yakakamurwa kuita makoramu zvichienderana nehuwandu hwemasumbu ari kuedzwa; nekukasira (mune skrini) kune mana. Ini ndichatsanangura zviri mukati memakoramu uchishandisa muenzaniso weTuchanka2. Iwo mapaneru ari muscreenshot akaverengerwa:

  1. Nhamba dzebvunzo dzinoratidzwa pano. Columns:
    • kukanganisa - zita rebvunzo (basa mune script) rinotevedzera kukanganisa.
    • kuita - arithmetic avhareji yenguva mumasekonzi panguva iyo cluster yakadzoreredza kushanda kwayo. Inoyerwa kubva pakutanga kwechinyorwa ichitevedzera kukanganisa kusvika panguva iyo cluster inodzoreredza kushanda kwayo uye inokwanisa kuenderera mberi nekupa masevhisi. Kana nguva yacho ipfupi kwazvo, semuenzaniso, masekonzi matanhatu (izvi zvinoitika mumasumbu nevaranda vakati wandei (Tuchanka3 naTuchanka4)), izvi zvinoreva kuti mhosva yaive pamuranda asynchronous uye haina kukanganisa kuita chero nzira; pakanga pasina. cluster state switches.
    • kutsauka - inoratidza kupararira (kururama) kwekukosha kuita uchishandisa nzira yakajairwa yekutsauka.
    • verenga β€” bvunzo iyi yakaitwa kangani.
  2. Rogi pfupi inobvumidza iwe kuti uongorore izvo cluster iri kuita parizvino. Iyo iteration (yebvunzo) nhamba, timestamp uye zita rekushanda zvinoratidzwa. Kumhanya zvakanyanya (> 5 maminitsi) kunoratidza dambudziko.
  3. mwoyo (moyo) - nguva yazvino. Kuongororwa kwekuona kwekuita vatenzi Iyo nguva yazvino inogara ichinyorwa kutafura yayo uchishandisa iyo float IP master. Kana zvikabudirira, mhedzisiro inoratidzwa mupaneri ino.
  4. rova (pulse) - "nguva yazvino", iyo yakambonyorwa ne script mwoyo kugona, ikozvino verenga kubva muranda kuburikidza neyayangarara IP. Inokutendera kuti utarise nemeso mashandiro emuranda uye kudzokorora. MuTuchanka1 hapana varanda vane float IP (hapana varanda vanopa masevhisi), asi pane zviitiko zviviri (DBs), saka hazvizoratidzwa pano. rovauye mwoyo muenzaniso wechipiri.
  5. Monitoring cluster hutano uchishandisa utility pcs mon. Inoratidza chimiro, kugovera zviwanikwa mumanode uye rumwe ruzivo runobatsira.
  6. Yekutarisa sisitimu kubva kune yega yega muchina musumbu inoratidzwa pano. Panogona kunge paine mamwe mapaneru akadaro zvichienderana nekuti mangani madhiri emakina ayo cluster ane. Magirafu maviri CPU Mutoro (virtual machines ine two processors), virtual muchina zita, System Mutoro (inonzi Load Average nekuti yakaenzana pamusoro pe5, 10 uye 15 maminetsi), gadzira data uye ndangariro kugoverwa.
  7. Tsanangudzo yescript ichiita bvunzo. Muchiitiko chekusashanda - kamwe kamwe kukanganisa kwekushanda kana kusingaperi kwekumirira kutenderera - pano iwe unogona kuona chikonzero chemaitiro aya.

Kuedzwa kunoitwa mumatanho maviri. Chekutanga, iyo script inopinda nemhando dzese dzebvunzo, zvisina tsarukano kusarudza muchina chaiwo wekushandisa bvunzo iyi. Ipapo kutenderera kusingagumi kwekuyedzwa kunoitwa, iwo chaiwo michina uye kukanganisa kunosarudzwa zvisina tsarukano nguva imwe neimwe. Kamwe kamwe kugumiswa kweiyo test script (pazasi panhi) kana kusingaperi loop yekumirira chimwe chinhu (> 5 maminetsi ekuuraya nguva yekuvhiya kumwe, izvi zvinogona kuoneka mukutsvaga) zvinoratidza kuti mamwe ebvunzo pasumbu iri akundikana.

Muedzo wega wega une zvinotevera mashandiro:

  1. Tangisa basa rinotevedzera kukanganisa.
  2. Ready? - kumirira kuti cluster idzoserwe (kana masevhisi ese apihwa).
  3. Inoratidza cluster recovery timeout (kuita).
  4. Fix - sumbu iri "kugadziriswa." Mushure mezvo inofanira kudzokera kune yakazara inoshanda mamiriro uye gadzirira kune inotevera kusashanda.

Heino rondedzero yebvunzo ine tsananguro yezvavanoita:

  • ForkBomb: Inogadzira "Kunze kwendangariro" uchishandisa bhomba reforogo.
  • OutOfSpace: Iyo hard drive yakazara. Asi muyedzo wacho unofananidzira; nemutoro usingakoshi unogadzirwa panguva yekuyedzwa, PostgreSQL kazhinji haikundike kana hard drive yazara.
  • Postgres-KUURAYA: inouraya PostgreSQL nemurairo killall -KILL postgres.
  • Postgres-MIRA: inorembera PostgreSQL murairo killall -STOP postgres.
  • dzima simba: "inopa simba" iyo chaiyo muchina nemirairo VBoxManage controlvm "Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΊΠ°" poweroff.
  • itangezve: inoremedza iyo chaiyo muchina nemirairo VBoxManage controlvm "Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΊΠ°" reset.
  • SBD-MIRA: inomisa dhimoni reSBD nemurairo killall -STOP sbd.
  • Vhara: inotumira murairo kumuchina chaiwo kuburikidza neSSH systemctl poweroff, iyo system inodzima zvine nyasha.
  • UnLink: network isolation, command VBoxManage controlvm "Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΊΠ°" setlinkstate1 off.

Kupedzisa kuyedza kungave uchishandisa yakajairwa tmux command "kuuraya-hwindo" Ctrl-b &, kana kuti "detach-client" murairo Ctrl-b d: panguva ino kuyedzwa kunopera, tmux inovhara, chaiwo michina inodzimwa.

Matambudziko akaonekwa panguva yekuedzwa

  • Panguva ino watchdog dhimoni sbd inoshanda pakumisa madhimoni anocherechedzwa, asi kwete kuaomesa nechando. Uye, semugumisiro, zvikanganiso zvinotungamirira kuchando chete Corosync ΠΈ pacemaker, asi kwete kurembera sbd. Zvekutarisa Corosync tatova nazvo PR#83 (paGitHub pa sbd), yakagamuchirwa kune shinda tenzi. Vakavimbisa (muPR#83) kuti pachave nechimwe chinhu chakafanana chePacemaker, ndinovimba kuti by Red Hat 8 achaita. Asi "mafunctions" akadaro anofungidzira uye anogona kugadzirwa nyore nyore kushandisa, semuenzaniso, killall -STOP corosync, asi usambosangana muhupenyu chaihwo.

  • Π£ pacemaker mushanduro ye CentOS 7 kugadzirwa zvisirizvo sync_timeout Ρƒ quorum mudziyo, semagumo kana imwe node yakundikana, pamwe neimwe mukana iyo node yechipiri zvakare yakatangazve, kwaifanirwa kutama tenzi. Kuporeswa nekuwedzera sync_timeout Ρƒ quorum mudziyo panguva yekuendesa (mu script setup/setup1) Kugadziriswa uku hakuna kugamuchirwa nevagadziri pacemaker, panzvimbo pacho vakavimbisa kugadziridza zvivakwa nenzira yakadai (pane imwe nguva isina kutaurwa) kuti nguva ino yekupera ichaverengerwa yega.

  • Kana iyo database configuration inotsanangura izvozvo LC_MESSAGES (mameseji) Unicode inogona kushandiswa, semuenzaniso. ru_RU.UTF-8, ipapo pakutanga postgres munzvimbo iyo nzvimbo yacho isiri UTF-8, taura munzvimbo isina chinhu (pano pacemaker+pgsqlms(paf) anomhanya postgres), zvino irogi rinenge riine mamakisi emubvunzo pachinzvimbo chemavara eUTF-8. Vagadziri vePostgreSQL havana kubvumirana pane zvekuita munyaya iyi. Zvinodhura, unofanira kuisa LC_MESSAGES=en_US.UTF-8 paunenge uchigadzirisa (kugadzira) muenzaniso we database.

  • Kana wal_receiver_timeout yaiswa (nekusagadzika ndeye 60s), ipapo panguva yePostgreSQL-STOP bvunzo pane tenzi mune tuchanka3 uye tuchanka4 masumbu. kudzokorora hakubatanidzi kune tenzi mutsva. Kudzokorora ikoko kunopindirana, saka kwete chete muranda anomira, asiwo tenzi mutsva. Inoshanda kutenderedza nekuseta wal_receiver_timeout=0 paunenge uchigadzira PostgreSQL.

  • Dzimwe nguva ndaiona kudzokorora kutonhora muPostgreSQL muForkBomb bvunzo (yeuko inofashukira). Mushure meForkBomb, dzimwe nguva varanda vanogona kusabatana zvakare kuna tenzi mutsva. Ndakangosangana neizvi mumasumbu e tuchanka3 uye tuchanka4, apo tenzi akaomeswa nechando nekuda kwekudzokorora kunoenderana. Dambudziko rakaenda roga mushure menguva refu (anenge maawa maviri). Kutsvakurudza kwakawanda kunodiwa kugadzirisa izvi. Zviratidzo zvakafanana nechekare yapfuura, iyo inokonzerwa nechikonzero chakasiyana, asi nemigumisiro yakafanana.

Krogan mufananidzo wakatorwa kubva Deviant Art nemvumo yemunyori:

Kutevedzera mafailaver masumbu akavakirwa paPostgreSQL uye Pacemaker

Source: www.habr.com

Voeg