Bii o ṣe le baamu “ọfẹ” PostgreSQL sinu agbegbe ile-iṣẹ lile kan

Ọpọlọpọ eniyan ni o mọ pẹlu PostgreSQL DBMS, ati pe o ti fi ara rẹ han ni awọn fifi sori ẹrọ kekere. Bibẹẹkọ, aṣa si Orisun Ṣii ti di mimọ siwaju sii, paapaa nigbati o ba de awọn ile-iṣẹ nla ati awọn ibeere ile-iṣẹ. Ninu àpilẹkọ yii a yoo sọ fun ọ bi o ṣe le ṣepọ Postgres sinu agbegbe ajọṣepọ kan ati pin iriri wa ti ṣiṣẹda eto afẹyinti (BSS) fun aaye data yii nipa lilo eto afẹyinti Commvault gẹgẹbi apẹẹrẹ.

Bii o ṣe le baamu “ọfẹ” PostgreSQL sinu agbegbe ile-iṣẹ lile kan
PostgreSQL ti ṣe afihan iye rẹ tẹlẹ - DBMS ṣiṣẹ nla, o jẹ lilo nipasẹ awọn iṣowo oni-nọmba asiko bii Alibaba ati TripAdvisor, ati aini awọn idiyele iwe-aṣẹ jẹ ki o jẹ yiyan idanwo si iru awọn ohun ibanilẹru bii MS SQL tabi Oracle DB. Ṣugbọn ni kete ti a ba bẹrẹ ironu nipa PostgreSQL ni ala-ilẹ Idawọlẹ, lẹsẹkẹsẹ a sare sinu awọn ibeere to muna: “Kini nipa ifarada ẹbi atunto? ajalu resistance? ibi ti okeerẹ monitoring? Kini nipa awọn afẹyinti adaṣe? Kini nipa lilo awọn ile-ikawe teepu taara ati lori ibi ipamọ keji?”

Bii o ṣe le baamu “ọfẹ” PostgreSQL sinu agbegbe ile-iṣẹ lile kan
Ni ọna kan, PostgreSQL ko ni awọn irinṣẹ afẹyinti ti a ṣe sinu, gẹgẹbi awọn DBMS "agbalagba" gẹgẹbi RMAN ni Oracle DB tabi SAP Database Backup. Ni apa keji, awọn olupese ti awọn eto afẹyinti ile-iṣẹ (Veeam, Veritas, Commvault) botilẹjẹpe wọn ṣe atilẹyin PostgreSQL, ni otitọ wọn ṣiṣẹ nikan pẹlu iṣeto kan (nigbagbogbo standalone) iṣeto ati pẹlu ṣeto ti awọn ihamọ pupọ.

Awọn ọna ṣiṣe afẹyinti ti a ṣe pataki fun PostgreSQL, gẹgẹbi Barman, Wal-g, pg_probackup, jẹ olokiki pupọ ni awọn fifi sori ẹrọ kekere ti PostgreSQL DBMS tabi nibiti awọn afẹyinti iwuwo ti awọn eroja miiran ti ala-ilẹ IT ko nilo. Fun apẹẹrẹ, ni afikun si PostgreSQL, awọn amayederun le pẹlu awọn olupin ti ara ati foju, OpenShift, Oracle, MariaDB, Cassandra, ati bẹbẹ lọ. O ni imọran lati ṣe afẹyinti gbogbo eyi pẹlu ọpa ti o wọpọ. Fifi ojutu lọtọ ni iyasọtọ fun PostgreSQL jẹ imọran buburu: data naa yoo daakọ ni ibikan si disk, lẹhinna o nilo lati yọkuro si teepu. Afẹyinti ilọpo meji yii mu akoko afẹyinti pọ si, ati paapaa, diẹ sii ni itara, akoko imularada.

Ninu ojutu ile-iṣẹ kan, afẹyinti fifi sori ẹrọ waye pẹlu nọmba awọn apa kan ninu iṣupọ iyasọtọ kan. Ni akoko kanna, fun apẹẹrẹ, Commvault le ṣiṣẹ nikan pẹlu iṣupọ ipade-meji, ninu eyiti Alakoko ati Atẹle ti wa ni sọtọ si awọn apa kan. Ati pe o jẹ oye nikan lati ṣe afẹyinti lati Alakọbẹrẹ, nitori afẹyinti lati Atẹle ni awọn idiwọn rẹ. Nitori awọn pataki ti DBMS, idalenu ko ṣẹda lori Atẹle, ati nitorinaa o ṣeeṣe ti afẹyinti faili nikan ni o ku.

Lati dinku eewu ti akoko idinku, nigbati o ba ṣẹda eto ifarada-aṣiṣe, iṣeto iṣupọ “ifiwe laaye” ti ṣẹda, ati pe Alakọbẹrẹ le ṣe iṣikiri diẹdiẹ laarin awọn olupin oriṣiriṣi. Fun apẹẹrẹ, sọfitiwia Patroni funrararẹ ṣe ifilọlẹ Primary lori ipade iṣupọ ti a yan laileto. IBS ko ni ọna lati tọpa eyi kuro ninu apoti, ati pe ti iṣeto ba yipada, awọn ilana naa bajẹ. Iyẹn ni, iṣafihan iṣakoso ita n ṣe idiwọ ISR lati ṣiṣẹ ni imunadoko, nitori pe olupin iṣakoso nìkan ko loye ibiti ati kini data nilo lati daakọ lati.

Iṣoro miiran ni imuse ti afẹyinti ni Postgres. O ṣee ṣe nipasẹ idalẹnu, ati pe o ṣiṣẹ lori awọn apoti isura data kekere. Ṣugbọn ni awọn apoti isura infomesonu nla, idalẹnu naa gba akoko pipẹ, nilo ọpọlọpọ awọn orisun ati pe o le ja si ikuna ti apẹẹrẹ data.

Afẹyinti faili ṣe atunṣe ipo naa, ṣugbọn lori awọn apoti isura infomesonu nla o lọra nitori pe o ṣiṣẹ ni ipo asapo ẹyọkan. Ni afikun, awọn olutaja ni nọmba awọn ihamọ afikun. Boya o ko le lo faili ati ju awọn afẹyinti silẹ ni akoko kanna, tabi yiyọkuro ko ni atilẹyin. Awọn iṣoro pupọ lo wa, ati nigbagbogbo o rọrun lati yan gbowolori ṣugbọn DBMS ti a fihan dipo Postgres.

Ko si ibi kan lati padasehin! Awọn olupilẹṣẹ Moscow wa lẹhin!

Sibẹsibẹ, laipẹ ẹgbẹ wa dojuko ipenija ti o nira: ninu iṣẹ akanṣe lati ṣẹda AIS OSAGO 2.0, nibiti a ti ṣẹda awọn amayederun IT, awọn olupilẹṣẹ yan PostgreSQL fun eto tuntun.

O rọrun pupọ fun awọn olupilẹṣẹ sọfitiwia nla lati lo awọn solusan “iṣafihan” ṣiṣi-orisun. Facebook ni awọn alamọja ti o to lati ṣe atilẹyin iṣẹ ti DBMS yii. Ati ninu ọran ti RSA, gbogbo awọn iṣẹ-ṣiṣe ti "ọjọ keji" ṣubu lori awọn ejika wa. A nilo lati rii daju ifarada ẹbi, ṣajọ iṣupọ kan ati, dajudaju, ṣeto afẹyinti. Imọye iṣe iṣe jẹ bi atẹle:

  • Kọ SRK lati ṣe awọn afẹyinti lati ori ipade akọkọ ti iṣupọ. Lati ṣe eyi, SRK gbọdọ wa - eyiti o tumọ si iṣọpọ pẹlu ọkan tabi omiiran ojutu iṣakoso iṣupọ PostgreSQL nilo. Ninu ọran ti RSA, software Patroni ti lo fun eyi.
  • Ṣe ipinnu lori iru afẹyinti ti o da lori iwọn didun data ati awọn ibeere imularada. Fun apẹẹrẹ, nigba ti o ba nilo lati mu pada awọn oju-iwe granularly, lo idalẹnu kan, ati pe ti awọn apoti isura infomesonu ba tobi ati atunṣe granular ko nilo, ṣiṣẹ ni ipele faili.
  • So awọn seese ti Àkọsílẹ afẹyinti to ojutu lati ṣẹda a afẹyinti daakọ ni olona-asapo mode.

Ni akoko kanna, a bẹrẹ ni ibẹrẹ lati ṣẹda eto ti o munadoko ati irọrun laisi ijanu ibanilẹru ti awọn paati afikun. Awọn crutches ti o dinku, iṣẹ ṣiṣe ti o dinku lori oṣiṣẹ ati dinku eewu ti ikuna IBS. Lẹsẹkẹsẹ a yọkuro awọn isunmọ ti o lo Veeam ati RMAN, nitori ṣeto ti awọn ojutu meji ti tẹlẹ tọka si ailagbara ti eto naa.

Idan kekere kan fun ile-iṣẹ

Nitorinaa, a nilo lati ṣe iṣeduro afẹyinti igbẹkẹle fun awọn iṣupọ 10 ti awọn apa 3 ọkọọkan, pẹlu awọn amayederun kanna ti o ṣe afihan ni ile-iṣẹ data afẹyinti. Awọn ile-iṣẹ data ni awọn ofin ti PostgreSQL ṣiṣẹ lori ilana-palolo lọwọ. Apapọ iwọn data jẹ TB 50. Eyikeyi eto iṣakoso ipele ile-iṣẹ le ni irọrun farada eyi. Ṣugbọn akiyesi ni pe ni ibẹrẹ Postgres ko ni itọka fun kikun ati ibaramu jinlẹ pẹlu awọn eto afẹyinti. Nitorinaa, a ni lati wa ojutu kan ti akọkọ ni iṣẹ ṣiṣe ti o pọju ni apapo pẹlu PostgreSQL, ati ṣatunṣe eto naa.

A ṣe awọn “hackathons” inu inu 3 - a wo diẹ sii ju awọn idagbasoke aadọta, ṣe idanwo wọn, ṣe awọn ayipada ni asopọ pẹlu awọn idawọle wa, a si tun danwo wọn lẹẹkansi. Lẹhin atunwo awọn aṣayan to wa, a yan Commvault. Ninu apoti, ọja yii le ṣiṣẹ pẹlu fifi sori ẹrọ iṣupọ PostgreSQL ti o rọrun julọ, ati ṣiṣii faaji gbe awọn ireti dide (eyiti o jẹ idalare) fun idagbasoke aṣeyọri ati isọpọ. Commvault tun le ṣe afẹyinti awọn igbasilẹ PostgreSQL. Fun apẹẹrẹ, Veritas NetBackup ni awọn ofin ti PostgreSQL le ṣe awọn afẹyinti ni kikun nikan.

Diẹ ẹ sii nipa faaji. Awọn olupin iṣakoso Commvault ni a fi sori ẹrọ ni ọkọọkan awọn ile-iṣẹ data meji ni iṣeto CommServ HA kan. Eto naa jẹ digi, iṣakoso nipasẹ console kan ati, lati oju wiwo HA, pade gbogbo awọn ibeere ile-iṣẹ.

Bii o ṣe le baamu “ọfẹ” PostgreSQL sinu agbegbe ile-iṣẹ lile kan
A tun ṣe ifilọlẹ awọn olupin media ti ara meji ni ile-iṣẹ data kọọkan, eyiti a sopọ mọ awọn ohun elo disiki ati awọn ile-ikawe teepu ti a ṣe iyasọtọ fun awọn afẹyinti nipasẹ SAN nipasẹ ikanni Fiber. Awọn apoti isura infomesonu ti o gbooro sii ṣe idaniloju ifarada ẹbi ti awọn olupin media, ati sisopọ olupin kọọkan si CSV kọọkan mu ṣiṣẹ lemọlemọfún ti eyikeyi paati ba kuna. Awọn faaji eto ngbanilaaye afẹyinti lati tẹsiwaju paapaa ti ọkan ninu awọn ile-iṣẹ data ba ṣubu.

Patroni n ṣalaye ipade akọkọ fun iṣupọ kọọkan. O le jẹ eyikeyi ipade ọfẹ ni ile-iṣẹ data - ṣugbọn nikan ni okeene. Ninu afẹyinti, gbogbo awọn apa jẹ Atẹle.

Ni ibere fun Commvault lati ni oye kini ipade iṣupọ jẹ Akọbẹrẹ, a ṣepọ eto naa (ọpẹ si faaji ṣiṣi ti ojutu) pẹlu Postgres. Fun idi eyi, a ṣẹda iwe afọwọkọ ti o jabo ipo lọwọlọwọ ti oju ipade akọkọ si olupin iṣakoso Commvault.

Ni gbogbogbo, ilana naa dabi eyi:

Patroni yan Primary → Keepalive gbe soke iṣupọ IP ati ṣiṣe iwe afọwọkọ naa → aṣoju Commvault lori ipade iṣupọ ti a yan gba ifitonileti kan pe eyi ni akọkọ → Commvault ṣe atunto afẹyinti laifọwọyi laarin alabara pseudo.

Bii o ṣe le baamu “ọfẹ” PostgreSQL sinu agbegbe ile-iṣẹ lile kan
Awọn anfani ti ọna yii ni pe ojutu ko ni ipa lori aitasera, atunṣe ti awọn akọọlẹ, tabi imularada ti apẹẹrẹ Postgres. O tun jẹ iwọn ti o rọrun, nitori ko ṣe pataki lati ṣatunṣe Commvault Primary and Secondary apa. O to pe eto naa loye ibiti akọkọ wa, ati pe nọmba awọn apa le pọsi si fere eyikeyi iye.

Ojutu naa ko ṣe dibọn pe o jẹ apẹrẹ ati pe o ni awọn nuances tirẹ. Commvault le ṣe afẹyinti gbogbo apẹẹrẹ nikan, kii ṣe awọn data data kọọkan. Nitorinaa, apẹẹrẹ lọtọ ti ṣẹda fun data data kọọkan. Awọn alabara gidi ni idapo sinu awọn alabara afarape foju. Onibara afarape Commvault kọọkan jẹ iṣupọ UNIX kan. Awọn apa iṣupọ wọnyẹn eyiti aṣoju Commvault fun Postgres ti fi sii ni a ṣafikun si. Bi abajade, gbogbo awọn apa foju foju ti alabara-pseudo ni a ṣe afẹyinti bi apẹẹrẹ kan.

Laarin onibara-ibaramu kọọkan, oju ipade ti nṣiṣe lọwọ ti iṣupọ naa jẹ itọkasi. Eyi ni ojutu iṣọpọ wa fun Commvault asọye. Ilana ti iṣiṣẹ rẹ jẹ ohun ti o rọrun: ti iṣupọ IP kan ba dide lori ipade kan, iwe afọwọkọ naa ṣeto paramita “ipo ti nṣiṣe lọwọ” ni alakomeji aṣoju Commvault - ni otitọ, iwe afọwọkọ ṣeto “1” ni apakan ti o nilo ti iranti . Aṣoju ndari data yii si CommServe, ati Commvault ṣe afẹyinti lati oju ipade ti o fẹ. Ni afikun, atunṣe ti iṣeto ni a ṣayẹwo ni ipele iwe afọwọkọ, ṣe iranlọwọ lati yago fun awọn aṣiṣe nigbati o bẹrẹ afẹyinti.

Ni akoko kanna, awọn apoti isura infomesonu nla ti ṣe afẹyinti ni awọn bulọọki kọja awọn okun ọpọ, ipade RPO ati awọn ibeere window afẹyinti. Ẹru lori eto naa ko ṣe pataki: Awọn adakọ ni kikun ko waye ni igbagbogbo, ni awọn ọjọ miiran awọn akọọlẹ nikan ni a gba, ati lakoko awọn akoko fifuye kekere.

Nipa ọna, a ti lo awọn eto imulo lọtọ lati ṣe atilẹyin awọn igbasilẹ iwe ipamọ PostgreSQL - wọn wa ni ipamọ ni ibamu si awọn ofin oriṣiriṣi, daakọ ni ibamu si iṣeto ti o yatọ, ati yiyọkuro ko ṣiṣẹ fun wọn, nitori awọn akọọlẹ wọnyi ni data alailẹgbẹ ni.

Lati rii daju pe aitasera kọja gbogbo awọn amayederun IT, awọn alabara faili Commvault lọtọ ti fi sori ẹrọ lori ọkọọkan awọn apa iṣupọ. Wọn yọ awọn faili Postgres kuro lati awọn afẹyinti ati pe a pinnu fun OS ati awọn afẹyinti ohun elo nikan. Apakan ti data naa tun ni eto imulo tirẹ ati akoko ipamọ.

Bii o ṣe le baamu “ọfẹ” PostgreSQL sinu agbegbe ile-iṣẹ lile kan
Lọwọlọwọ, IBS ko ni ipa awọn iṣẹ iṣelọpọ, ṣugbọn ti ipo naa ba yipada, Commvault le mu idiwọn fifuye ṣiṣẹ.

Ṣe o dara? O dara!

Nitorinaa, a ti gba kii ṣe iṣẹ ṣiṣe nikan, ṣugbọn tun ṣe afẹyinti adaṣe ni kikun fun fifi sori iṣupọ PostgreSQL, ati pe o pade gbogbo awọn ibeere fun awọn ipe ile-iṣẹ.

Awọn aye RPO ati RTO ti wakati 1 ati awọn wakati 2 ni a bo pẹlu ala kan, eyiti o tumọ si pe eto naa yoo ni ibamu pẹlu wọn paapaa pẹlu ilosoke pataki ninu iwọn data ti o fipamọ. Ni idakeji si ọpọlọpọ awọn ṣiyemeji, PostgreSQL ati agbegbe ile-iṣẹ wa ni ibaramu pupọ. Ati ni bayi a mọ lati iriri tiwa pe afẹyinti fun iru awọn DBMS ṣee ṣe ni ọpọlọpọ awọn atunto.

Nitoribẹẹ, ni ọna yii a ni lati wọ awọn bata bata irin meje, bori awọn iṣoro pupọ, tẹ lori ọpọlọpọ awọn rakes ati ṣatunṣe nọmba awọn aṣiṣe. Ṣugbọn ni bayi ọna ti ni idanwo tẹlẹ ati pe o le ṣee lo lati ṣe imuse Orisun Ṣii dipo awọn DBMS ti ohun-ini ni awọn ipo ile-iṣẹ lile.

Njẹ o ti gbiyanju ṣiṣẹ pẹlu PostgreSQL ni agbegbe ile-iṣẹ kan?

Awọn onkọwe:

Oleg Lavrenov, ẹlẹrọ oniru ti data ipamọ awọn ọna šiše, Jet Infosystems

Dmitry Erykin, ẹlẹrọ apẹrẹ ti awọn eto kọnputa ni Jet Infosystems

orisun: www.habr.com

Fi ọrọìwòye kun