Giunsa ang pagpahiangay sa "libre" nga PostgreSQL sa usa ka mapintas nga palibot sa negosyo

Daghang mga tawo ang pamilyar sa PostgreSQL DBMS, ug kini napamatud-an sa iyang kaugalingon sa gagmay nga mga instalasyon. Bisan pa, ang uso padulong sa Open Source nahimong labi ka klaro, bisan kung bahin sa mga dagkong kompanya ug kinahanglanon sa negosyo. Niining artikuloha isulti namo kanimo kung unsaon pag-integrate ang Postgres ngadto sa usa ka corporate environment ug ipaambit ang among kasinatian sa paghimo og backup system (BSS) para niini nga database gamit ang Commvault backup system isip usa ka pananglitan.

Giunsa ang pagpahiangay sa "libre" nga PostgreSQL sa usa ka mapintas nga palibot sa negosyo
Napamatud-an na sa PostgreSQL ang bili niini - maayo ang pagtrabaho sa DBMS, gigamit kini sa mga uso nga digital nga negosyo sama sa Alibaba ug TripAdvisor, ug ang kakulang sa bayad sa paglilisensya naghimo niini nga usa ka makatintal nga alternatibo sa mga monsters sama sa MS SQL o Oracle DB. Apan sa diha nga kita magsugod sa paghunahuna mahitungod sa PostgreSQL sa Enterprise nga talan-awon, kita diha-diha dayon modagan ngadto sa estrikto nga mga kinahanglanon: "Unsa ang mahitungod sa configuration fault tolerance? pagbatok sa katalagman? asa ang comprehensive monitoring? Unsa ang mahitungod sa automated backups? Unsa man ang bahin sa paggamit sa mga librarya sa tape direkta ug sa ikaduha nga pagtipig?

Giunsa ang pagpahiangay sa "libre" nga PostgreSQL sa usa ka mapintas nga palibot sa negosyo
Sa usa ka bahin, ang PostgreSQL walay built-in nga backup nga mga himan, sama sa "adult" nga mga DBMS sama sa RMAN sa Oracle DB o SAP Database Backup. Sa laing bahin, ang mga tigsuplay sa corporate backup system (Veeam, Veritas, Commvault) bisan kung gisuportahan nila ang PostgreSQL, sa tinuud nagtrabaho ra sila sa usa ka piho nga (kasagaran standalone) nga pag-configure ug adunay usa ka set sa lainlaing mga pagdili.

Ang mga sistema sa pag-backup nga espesyal nga gidisenyo alang sa PostgreSQL, sama sa Barman, Wal-g, pg_probackup, labi ka sikat sa gagmay nga mga instalasyon sa PostgreSQL DBMS o kung diin ang bug-at nga pag-backup sa ubang mga elemento sa IT nga talan-awon wala kinahanglana. Pananglitan, dugang sa PostgreSQL, ang imprastraktura mahimong maglakip sa pisikal ug virtual nga mga server, OpenShift, Oracle, MariaDB, Cassandra, ug uban pa. Gisugyot nga i-back up kining tanan gamit ang usa ka sagad nga himan. Ang pag-instalar sa usa ka bulag nga solusyon nga eksklusibo alang sa PostgreSQL usa ka dili maayo nga ideya: ang datos makopya sa usa ka lugar sa disk, ug dayon kini kinahanglan nga tangtangon sa tape. Kini nga doble nga backup nagdugang sa oras sa pag-backup, ug usab, labi ka kritikal, ang oras sa pagbawi.

Sa usa ka solusyon sa negosyo, ang pag-backup sa pag-install mahitabo sa usa ka piho nga gidaghanon sa mga node sa usa ka gipahinungod nga cluster. Sa samang higayon, pananglitan, ang Commvault mahimo lamang nga magtrabaho sa usa ka duha ka node cluster, diin ang Primary ug Secondary hugot nga gi-assign sa pipila ka mga node. Ug makatarunganon lang ang pag-backup gikan sa Primary, tungod kay ang backup gikan sa Secondary adunay mga limitasyon. Tungod sa mga peculiarities sa DBMS, ang usa ka dump wala gihimo sa Secondary, ug busa ang posibilidad lamang sa usa ka file backup nagpabilin.

Aron makunhuran ang risgo sa downtime, sa paghimo sa usa ka fault-tolerant nga sistema, usa ka "live" cluster configuration ang gihimo, ug ang Primary mahimong anam-anam nga molalin tali sa lain-laing mga server. Pananglitan, ang software sa Patroni mismo ang naglansad sa Primary sa usa ka random nga gipili nga cluster node. Ang IBS walay paagi sa pagsubay niini sa gawas sa kahon, ug kon ang pag-usab-usab sa configuration, ang mga proseso maguba. Kana mao, ang pagpaila sa eksternal nga kontrol nagpugong sa ISR sa pagtrabaho nga epektibo, tungod kay ang control server wala makasabut kung asa ug unsa nga datos ang kinahanglan nga kopyahon.

Ang laing problema mao ang pagpatuman sa backup sa Postgres. Posible kini pinaagi sa dump, ug kini molihok sa gagmay nga mga database. Apan sa dagkong mga database, ang dump nagkinahanglan og taas nga panahon, nagkinahanglan og daghang mga kapanguhaan ug mahimong mosangpot sa kapakyasan sa database nga pananglitan.

Ang pag-backup sa file nagtul-id sa sitwasyon, apan sa dagkong mga database kini hinay tungod kay kini nagtrabaho sa single-threaded mode. Dugang pa, ang mga tigbaligya adunay daghang dugang nga mga pagdili. Mahimong dili nimo magamit ang file ug dump backup sa parehas nga oras, o dili suportado ang deduplication. Adunay daghang mga problema, ug kasagaran mas sayon ​​​​ang pagpili sa usa ka mahal apan napamatud-an nga DBMS imbes sa Postgres.

Wala nay dapit nga moatras! Ang mga developer sa Moscow naa sa luyo!

Bisan pa, bag-o lang ang among team nag-atubang sa usa ka lisud nga hagit: sa proyekto sa paghimo sa AIS OSAGO 2.0, diin among gibuhat ang imprastraktura sa IT, gipili sa mga developer ang PostgreSQL alang sa bag-ong sistema.

Mas sayon ​​alang sa dagkong software developers ang paggamit sa "uso" nga open-source nga mga solusyon. Ang Facebook adunay igo nga mga espesyalista aron suportahan ang operasyon niini nga DBMS. Ug sa kaso sa RSA, ang tanan nga mga buluhaton sa "ikaduha nga adlaw" nahulog sa among mga abaga. Kinahanglan namon nga masiguro ang pagtugot sa sayup, mag-assemble og cluster ug, siyempre, mag-set up og backup. Ang lohika sa aksyon mao ang mosunod:

  • Tudloi ang SRK sa paghimo og mga backup gikan sa Primary node sa cluster. Aron mahimo kini, kinahanglan nga makit-an kini sa SRK - nga nagpasabut nga kinahanglan ang panagsama sa usa o lain nga solusyon sa pagdumala sa cluster sa PostgreSQL. Sa kaso sa RSA, ang software sa Patroni gigamit alang niini.
  • Pagdesisyon sa matang sa backup base sa gidaghanon sa data ug mga kinahanglanon sa pagbawi. Pananglitan, kung kinahanglan nimo nga ibalik ang mga panid nga granularly, gamita ang usa ka dump, ug kung ang mga database dako ug dili kinahanglan ang granular nga pagpahiuli, pagtrabaho sa lebel sa file.
  • Ilakip ang posibilidad sa block backup sa solusyon aron makahimo og backup nga kopya sa multi-threaded mode.

Sa parehas nga oras, nagsugod kami sa paghimo sa usa ka epektibo ug yano nga sistema nga wala’y usa ka grabe nga harness sa mga dugang nga sangkap. Ang mas gamay nga crutches, mas gamay nga trabaho sa mga kawani ug mas ubos ang risgo sa IBS failure. Gilayon namon nga wala iapil ang mga pamaagi nga gigamit ang Veeam ug RMAN, tungod kay ang usa ka hugpong sa duha nga mga solusyon nagpakita na sa dili kasaligan sa sistema.

Usa ka gamay nga salamangka alang sa negosyo

Mao nga, kinahanglan namon nga garantiya ang kasaligan nga backup alang sa 10 nga mga pungpong sa 3 nga mga node matag usa, nga adunay parehas nga imprastraktura nga gisalamin sa backup data center. Ang mga sentro sa datos sa termino sa PostgreSQL nagtrabaho sa aktibo-passive nga prinsipyo. Ang kinatibuk-ang gidak-on sa database kay 50 TB. Ang bisan unsang sistema sa pagkontrol sa lebel sa korporasyon dali nga makasagubang niini. Apan ang caveat mao nga sa sinugdanan ang Postgres walay timailhan alang sa hingpit ug lawom nga pagkaangay sa mga backup nga sistema. Busa, kinahanglan namong pangitaon ang usa ka solusyon nga sa sinugdan adunay pinakataas nga pagpaandar inubanan sa PostgreSQL, ug pagdalisay sa sistema.

Nagpahigayon kami og 3 ka internal nga "hackathon" - among gitan-aw ang labaw sa kalim-an nga mga kalamboan, gisulayan kini, naghimo og mga pagbag-o nga may kalabutan sa among mga pangagpas, ug gisulayan kini pag-usab. Human masusi ang magamit nga mga kapilian, among gipili ang Commvault. Sa gawas sa kahon, kini nga produkto mahimong molihok uban ang pinakasimple nga PostgreSQL cluster installation, ug ang bukas nga arkitektura niini nagpataas sa paglaum (nga gipakamatarung) alang sa malampuson nga pag-uswag ug paghiusa. Mahimo usab nga i-backup sa Commvault ang mga log sa PostgreSQL. Pananglitan, ang Veritas NetBackup sa mga termino sa PostgreSQL makahimo lamang sa hingpit nga pag-backup.

Dugang pa bahin sa arkitektura. Ang mga server sa pagdumala sa Commvault gi-install sa matag usa sa duha ka mga sentro sa datos sa usa ka configuration sa CommServ HA. Ang sistema gisalamin, gidumala pinaagi sa usa ka console ug, gikan sa punto sa HA, nagtagbo sa tanan nga kinahanglanon sa negosyo.

Giunsa ang pagpahiangay sa "libre" nga PostgreSQL sa usa ka mapintas nga palibot sa negosyo
Naglunsad usab kami og duha ka pisikal nga media server sa matag data center, diin among gikonektar ang disk arrays ug tape library nga gipahinungod ilabina alang sa mga backup pinaagi sa SAN pinaagi sa Fiber Channel. Ang gipalapad nga mga database sa deduplication nagsiguro sa pagtugot sa sayup sa mga server sa media, ug ang pagkonektar sa matag server sa matag CSV nagpaarang sa padayon nga operasyon kung adunay bisan unsang sangkap nga napakyas. Gitugotan sa arkitektura sa sistema nga magpadayon ang backup bisan kung mahulog ang usa sa mga sentro sa datos.

Gihubit ni Patroni ang usa ka Primary node alang sa matag cluster. Mahimo kini nga bisan unsang libre nga node sa data center - apan kasagaran lamang. Sa backup, ang tanan nga mga node kay Secondary.

Aron masabtan sa Commvault kung unsang cluster node ang Primary, among gisagol ang sistema (salamat sa bukas nga arkitektura sa solusyon) sa Postgres. Alang niini nga katuyoan, usa ka script ang gihimo nga nagreport sa karon nga lokasyon sa Primary node sa server sa pagdumala sa Commvault.

Sa kinatibuk-an, ang proseso ingon niini:

Gipili ni Patroni ang Primary β†’ Gikuha sa Keepalived ang IP cluster ug gipadagan ang script β†’ ang ahente sa Commvault sa napili nga cluster node nakadawat usa ka pahibalo nga kini ang Primary β†’ Awtomatik nga gi-reconfigure sa Commvault ang backup sulod sa pseudo-client.

Giunsa ang pagpahiangay sa "libre" nga PostgreSQL sa usa ka mapintas nga palibot sa negosyo
Ang bentaha sa kini nga pamaagi mao nga ang solusyon dili makaapekto sa pagkamakanunayon, pagkahusto sa mga troso, o pagbawi sa pananglitan sa Postgres. Kini dali usab nga ma-scalable, tungod kay dili na kinahanglan nga ayohon ang Commvault Primary ug Secondary nodes. Igo na nga masabtan sa sistema kung asa ang Primary, ug ang gidaghanon sa mga node mahimong madugangan sa halos bisan unsang kantidad.

Ang solusyon dili magpakaaron-ingnon nga sulundon ug adunay kaugalingon nga mga nuances. Mahimo ra nga i-backup sa Commvault ang tibuuk nga higayon, ug dili ang indibidwal nga mga database. Busa, usa ka bulag nga pananglitan ang gihimo alang sa matag database. Ang tinuod nga mga kliyente gihiusa ngadto sa virtual pseudo-kliyente. Ang matag Commvault pseudo-client usa ka UNIX cluster. Kadtong mga cluster node diin ang ahente sa Commvault alang sa Postgres gi-install gidugang niini. Ingon usa ka sangputanan, ang tanan nga mga virtual node sa pseudo-client gi-back up isip usa ka higayon.

Sulod sa matag pseudo-client, ang aktibo nga node sa cluster gipakita. Kini ang gihubit sa among solusyon sa panagsama para sa Commvault. Ang prinsipyo sa operasyon niini yano ra: kung ang usa ka cluster IP gipataas sa usa ka node, ang script nagtakda sa parameter nga "aktibo nga node" sa binary nga ahente sa Commvault - sa tinuud, ang script nagtakda "1" sa gikinahanglan nga bahin sa memorya. . Gipasa sa ahente kini nga datos sa CommServe, ug ang Commvault naghimo og backup gikan sa gusto nga node. Dugang pa, ang pagkahusto sa pag-configure gisusi sa lebel sa script, nga nagtabang sa paglikay sa mga sayup sa pagsugod sa usa ka backup.

Sa parehas nga oras, ang dagkong mga database gi-back up sa mga bloke sa daghang mga hilo, nagtagbo sa mga kinahanglanon sa RPO ug backup nga bintana. Ang pagkarga sa sistema dili hinungdanon: Ang bug-os nga mga kopya dili kanunay mahitabo, sa ubang mga adlaw ang mga troso lamang ang nakolekta, ug sa mga panahon sa ubos nga pagkarga.

Pinaagi sa dalan, nag-aplay kami og bulag nga mga palisiya alang sa pag-back up sa mga postgreSQL archive logs - kini gitipigan sumala sa lain-laing mga lagda, gikopya sumala sa lain nga iskedyul, ug ang deduplication dili mahimo alang kanila, tungod kay kini nga mga log adunay talagsaon nga datos.

Aron masiguro ang pagkamakanunayon sa tibuuk nga imprastraktura sa IT, ang bulag nga mga kliyente sa file sa Commvault gi-install sa matag usa sa mga cluster node. Wala nila iapil ang mga file sa Postgres gikan sa mga backup ug gituyo lamang alang sa mga pag-backup sa OS ug aplikasyon. Kini nga bahin sa datos usab adunay kaugalingon nga palisiya ug panahon sa pagtipig.

Giunsa ang pagpahiangay sa "libre" nga PostgreSQL sa usa ka mapintas nga palibot sa negosyo
Sa pagkakaron, ang IBS dili makaapekto sa mga serbisyo sa produktibidad, apan kung ang sitwasyon mausab, ang Commvault makahimo sa paglimite sa load.

Maayo ba? Maayo!

Mao nga, nakadawat kami dili lamang usa ka magamit, apan usa usab ka hingpit nga awtomatiko nga backup alang sa usa ka pag-install sa cluster sa PostgreSQL, ug gitagbo niini ang tanan nga mga kinahanglanon alang sa mga tawag sa negosyo.

Ang mga parameter sa RPO ug RTO nga 1 ka oras ug 2 ka oras gitabunan sa usa ka margin, nga nagpasabut nga ang sistema motuman kanila bisan sa usa ka hinungdanon nga pagtaas sa gidaghanon sa gitipig nga datos. Sukwahi sa daghang mga pagduha-duha, ang PostgreSQL ug ang palibot sa negosyo nahimo nga magkatugma. Ug karon nahibal-an namon gikan sa among kaugalingon nga kasinatian nga ang pag-backup alang sa ingon nga mga DBMS posible sa daghang lainlaing mga pag-configure.

Siyempre, subay niini nga dalan kinahanglan namong isul-ob ang pito ka parisan sa puthaw nga botas, pagbuntog sa daghang mga kalisdanan, pagtunob sa daghang mga rake ug pagtul-id sa daghang mga sayup. Apan karon ang pamaagi nasulayan na ug mahimong magamit sa pagpatuman sa Open Source imbes sa proprietary DBMS sa mapintas nga mga kahimtang sa negosyo.

Nasulayan na ba nimo ang pagtrabaho kauban ang PostgreSQL sa usa ka palibot sa korporasyon?

Mga tagsulat:

Oleg Lavrenov, design engineer sa data storage systems, Jet Infosystems

Dmitry Erykin, design engineer sa mga sistema sa kompyuter sa Jet Infosystems

Source: www.habr.com

Idugang sa usa ka comment