Чӣ тавр PostgreSQL-и "озод" -ро ба муҳити сахти корхона мувофиқ кардан мумкин аст

Бисёр одамон бо DBMS PostgreSQL шиносанд ва он худро дар насбҳои хурд исбот кардааст. Аммо, тамоюли манбаи кушода, ҳатто вақте ки сухан дар бораи ширкатҳои бузург ва талаботҳои корхона меравад, торафт равшантар мегардад. Дар ин мақола мо ба шумо мегӯем, ки чӣ тавр Postgres-ро ба муҳити корпоративӣ ҳамҷоя кунем ва таҷрибаи худро дар бораи эҷоди системаи эҳтиётӣ (BSS) барои ин база бо истифода аз системаи эҳтиётии Commvault ҳамчун намуна мубодила кунем.

Чӣ тавр PostgreSQL-и "озод" -ро ба муҳити сахти корхона мувофиқ кардан мумкин аст
PostgreSQL аллакай арзиши худро собит кардааст - DBMS аъло кор мекунад, онро бизнесҳои муосири рақамӣ ба монанди Alibaba ва TripAdvisor истифода мебаранд ва набудани пардохтҳои литсензионӣ онро алтернативаи ҷолиб ба монанди MS SQL ё Oracle DB месозад. Аммо вақте ки мо дар бораи PostgreSQL дар манзараи Enterprise фикр карданро оғоз мекунем, мо фавран ба талаботи қатъӣ дучор мешавем: "Дар бораи таҳаммулпазирии хатогиҳои конфигуратсия чӣ гуфтан мумкин аст? муқовимат ба офат? мониторинги ҳамаҷониба куҷост? Дар бораи нусхабардории автоматӣ чӣ гуфтан мумкин аст? Дар бораи истифодаи китобхонаҳои лента ҳам мустақим ва ҳам дар нигаҳдории дуввум чӣ гуфтан мумкин аст?

Чӣ тавр PostgreSQL-и "озод" -ро ба муҳити сахти корхона мувофиқ кардан мумкин аст
Аз як тараф, PostgreSQL асбобҳои захиравии дарунсохт надорад, ба монанди DBMS-ҳои "калонсолон", ба монанди RMAN дар Oracle DB ё SAP Database Backup. Аз тарафи дигар, таъминкунандагони системаҳои эҳтиётии корпоративӣ (Veeam, Veritas, Commvault), гарчанде ки онҳо PostgreSQL-ро дастгирӣ мекунанд, дар асл онҳо танҳо бо конфигуратсияи муайян (одатан мустақил) ва бо маҷмӯи маҳдудиятҳои гуногун кор мекунанд.

Системаҳои эҳтиётӣ, ки махсус барои PostgreSQL тарҳрезӣ шудаанд, ба монанди Barman, Wal-g, pg_probackup, дар насбҳои хурди DBMS PostgreSQL ё дар он ҷое, ки захираҳои зиёди ҷузъҳои дигари манзараи IT лозим нест, хеле маъмуланд. Масалан, ба ғайр аз PostgreSQL, инфрасохтор метавонад серверҳои физикӣ ва виртуалӣ, OpenShift, Oracle, MariaDB, Cassandra ва ғайраҳоро дар бар гирад. Тавсия дода мешавад, ки ҳамаи инро бо асбоби умумӣ нусхабардорӣ кунед. Насб кардани ҳалли алоҳида танҳо барои PostgreSQL фикри бад аст: маълумот дар ҷое ба диск нусхабардорӣ карда мешавад ва сипас онро ба навор хориҷ кардан лозим аст. Ин нусхаи эҳтиётии дукарата вақти нусхабардорӣ ва инчунин, аз ҳама муҳимтар, вақти барқароркуниро зиёд мекунад.

Дар ҳалли корхона, нусхабардории насб бо шумораи муайяни гиреҳҳо дар кластери махсус сурат мегирад. Дар айни замон, масалан, Commvault метавонад танҳо бо кластери ду гиреҳ кор кунад, ки дар он ибтидоӣ ва дуюмдараҷа ба таври қатъӣ ба гиреҳҳои муайян таъин карда мешаванд. Ва танҳо нусхабардорӣ аз ибтидоӣ маъно дорад, зеро нусхабардорӣ аз дуввум маҳдудиятҳои худро дорад. Аз сабаби вижагиҳои DBMS, партов дар дуюмдараҷа сохта намешавад ва аз ин рӯ танҳо имкони нусхабардории файл боқӣ мемонад.

Барои кам кардани хатари бекорӣ, ҳангоми сохтани системаи ба хатогиҳо таҳаммулпазир, конфигуратсияи кластери "зинда" эҷод карда мешавад ва ибтидоӣ метавонад тадриҷан байни серверҳои гуногун гузарад. Масалан, худи нармафзори Patroni Primary-ро дар гиреҳи кластери ба таври тасодуфӣ интихобшуда оғоз мекунад. IBS имкони пайгирии инро аз қуттӣ надорад ва агар конфигуратсия тағир ёбад, равандҳо вайрон мешаванд. Яъне, ҷорӣ намудани назорати беруна аз кори самараноки ISR монеъ мешавад, зеро сервери идоракунӣ танҳо намефаҳмад, ки аз куҷо ва аз кадом маълумот бояд нусхабардорӣ карда шавад.

Мушкилоти дигар ин татбиқи нусхабардорӣ дар Postgres мебошад. Он тавассути партов имконпазир аст ва он дар пойгоҳи додаҳои хурд кор мекунад. Аммо дар пойгоҳи додаҳои калон, партов вақти тӯлонӣ мегирад, захираҳои зиёдро талаб мекунад ва метавонад ба нокомии мисоли пойгоҳи додаҳо оварда расонад.

Нусхаи эҳтиётии файл вазъиятро ислоҳ мекунад, аммо дар пойгоҳи додаҳои калон он суст аст, зеро он дар реҷаи як ришта кор мекунад. Илова бар ин, фурӯшандагон як қатор маҳдудиятҳои иловагӣ доранд. Ё шумо наметавонед нусхаҳои эҳтиётии файл ва партовҳоро дар як вақт истифода баред, ё нусхабардорӣ дастгирӣ намешавад. Мушкилоти зиёде мавҷуданд ва аксар вақт ба ҷои Postgres интихоби DBMS-и гаронарзиш, вале исботшуда осонтар аст.

Ҷои ақибнишинӣ нест! Таҳиякунандагони Москва дар паси худ ҳастанд!

Бо вуҷуди ин, ба наздикӣ дастаи мо бо мушкилоти душвор рӯ ба рӯ шуд: дар лоиҳаи эҷоди AIS OSAGO 2.0, ки мо инфрасохтори IT-ро эҷод кардем, таҳиягарон барои системаи нав PostgreSQL-ро интихоб карданд.

Барои таҳиягарони бузурги нармафзор истифода бурдани ҳалли "модда"-и кушодаасос хеле осонтар аст. Фейсбук барои дастгирии кори ин DBMS мутахассисони кофӣ дорад. Дар РСА бошад, тамоми вазифахои «рузи дуюм» ба души мо афтод. Мо талаб карда шуд, ки таҳаммулпазирии хатогиҳоро таъмин кунем, кластер ҷамъ кунем ва, албатта, нусхабардорӣ кунем. Мантиқи амал чунин буд:

  • Ба SRK таълим диҳед, ки аз гиреҳи ибтидоии кластер нусхабардорӣ кунад. Барои ин, SRK бояд онро пайдо кунад - ин маънои онро дорад, ки ҳамгироӣ бо ин ё он ҳалли идоракунии кластери PostgreSQL лозим аст. Дар мавриди RSA, барои ин нармафзори Patroni истифода мешуд.
  • Дар бораи намуди нусхабардорӣ дар асоси ҳаҷми маълумот ва талаботи барқарорсозӣ қарор қабул кунед. Масалан, вақте ки ба шумо лозим аст, ки саҳифаҳоро ба таври муфассал барқарор кунед, партовро истифода баред ва агар пойгоҳи додаҳо калон бошанд ва барқарорсозии гранулӣ талаб карда нашавад, дар сатҳи файл кор кунед.
  • Имконияти нусхабардории блокро ба ҳалли барои эҷод кардани нусхаи эҳтиётӣ дар реҷаи бисёрсоҳавӣ замима кунед.

Ҳамзамон, мо дар аввал тасмим гирифтем, ки як системаи муассир ва содда бидуни ҷабҳаи даҳшатноки ҷузъҳои иловагӣ эҷод кунем. Чӣ қадаре ки асобачаҳо камтар бошанд, ҳамон қадар сарбории кормандон камтар ва хатари нокомии IBS камтар мешавад. Мо дарҳол равишҳоеро, ки Veeam ва RMAN-ро истифода мебаранд, истисно кардем, зеро маҷмӯи ду қарор аллакай ба эътимоднокии система ишора мекунанд.

Як ҷодугарӣ барои корхона

Ҳамин тавр, ба мо лозим буд, ки нусхаи боэътимоди 10 кластери 3 гиреҳро бо ҳамон инфрасохтор дар маркази маълумоти эҳтиётӣ инъикос кунем. Марказҳои додаҳо аз нуқтаи назари PostgreSQL аз рӯи принсипи фаъол ва ғайрифаъол кор мекунанд. Андозаи умумии пойгоҳи додаҳо 50 ТБ буд. Ҳар як системаи идоракунии сатҳи корпоративӣ метавонад ба осонӣ бо ин мубориза барад. Аммо огоҳӣ дар он аст, ки дар аввал Postgres барои мутобиқати пурра ва амиқ бо системаҳои эҳтиётӣ маълумоте надорад. Аз ин рӯ, мо маҷбур шудем, ки ҳалли худро ҷӯем, ки дар аввал дар якҷоягӣ бо PostgreSQL функсияҳои ҳадди аксар дошт ва системаро такмил диҳем.

Мо 3 "ҳакатон"-и дохилӣ гузаронидем - мо беш аз панҷоҳ пешрафтро дида баромадем, онҳоро санҷидем, вобаста ба фарзияҳои худ тағирот ворид кардем ва бори дигар санҷидем. Пас аз баррасии имконоти мавҷуда, мо Commvault-ро интихоб кардем. Дар берун аз қуттӣ, ин маҳсулот метавонад бо оддитарин насби кластери PostgreSQL кор кунад ва меъмории кушоди он умедҳоро барои рушд ва ҳамгироӣ бомуваффақият афзоиш дод (ки асоснок буд). Commvault инчунин метавонад сабтҳои PostgreSQL-ро нусхабардорӣ кунад. Масалан, Veritas NetBackup аз нуқтаи назари PostgreSQL метавонад танҳо нусхаҳои пурраи нусхабардорӣ кунад.

Бештар дар бораи меъморӣ. Серверҳои идоракунии Commvault дар ҳар ду маркази додаҳо дар конфигуратсияи CommServ HA насб карда шуданд. Система инъикос карда мешавад, тавассути як консол идора карда мешавад ва аз нуқтаи назари HA, ба ҳама талаботҳои корхона ҷавобгӯ аст.

Чӣ тавр PostgreSQL-и "озод" -ро ба муҳити сахти корхона мувофиқ кардан мумкин аст
Мо инчунин дар ҳар як маркази додаҳо ду сервери медиаи физикиро оғоз кардем, ки ба онҳо массивҳои дискҳо ва китобхонаҳои наворро пайваст кардем, ки махсус барои нусхабардорӣ тавассути SAN тавассути канали Fiber бахшида шудаанд. Пойгоҳи додаҳои васеъшудаи нусхабардорӣ таҳаммулпазирии хатогиҳои серверҳои медиаро таъмин мекард ва пайваст кардани ҳар як сервер ба ҳар як CSV кори доимиро дар сурати ноком шудани ягон ҷузъ таъмин мекард. Меъмории система имкон медиҳад, ки нусхабардорӣ ҳатто дар сурати афтодани яке аз марказҳои додаҳо идома ёбад.

Патрони гиреҳи ибтидоиро барои ҳар як кластер муайян мекунад. Он метавонад ҳама гуна гиреҳи ройгон дар маркази додаҳо бошад - аммо танҳо асосан. Дар нусхабардорӣ, ҳама гиреҳҳо дуюмдараҷа мебошанд.

Барои он ки Commvault фаҳмад, ки кадом гиреҳи кластер ибтидоӣ аст, мо системаро (ба шарофати меъмории кушодаи ҳалли) бо Postgres муттаҳид кардем. Бо ин мақсад, скрипте сохта шуд, ки дар бораи ҷойгиршавии ҷории гиреҳи ибтидоӣ ба сервери идоракунии Commvault гузориш медиҳад.

Умуман, раванд чунин менамояд:

Patroni ибтидоӣ -ро интихоб мекунад → Keepalived кластери IP-ро мегирад ва скриптро иҷро мекунад → агенти Commvault дар гиреҳи кластери интихобшуда огоҳинома мегирад, ки ин ибтидоӣ аст → Commvault нусхаи эҳтиётиро дар дохили псевдо-муштарӣ ба таври худкор аз нав танзим мекунад.

Чӣ тавр PostgreSQL-и "озод" -ро ба муҳити сахти корхона мувофиқ кардан мумкин аст
Бартарии ин равиш дар он аст, ки ҳалли он ба мувофиқат, дурустии гузоришҳо ё барқарорсозии мисоли Postgres таъсир намерасонад. Он инчунин ба осонӣ миқёспазир аст, зеро дигар ислоҳ кардани гиреҳҳои ибтидоӣ ва дуюмдараҷаи Commvault лозим нест. Кифоя аст, ки система фаҳмад, ки ибтидоӣ дар куҷост ва шумораи гиреҳҳоро қариб ба ҳама гуна арзиш зиёд кардан мумкин аст.

Ҳалли худро идеалӣ вонамуд намекунад ва нозукиҳои худро дорад. Commvault метавонад танҳо тамоми нусхаро нусхабардорӣ кунад, на пойгоҳи додаҳои инфиродӣ. Аз ин рӯ, барои ҳар як пойгоҳи додаҳо як мисоли алоҳида сохта шудааст. Мизоҷони воқеӣ ба мизоҷҳои псевдо виртуалӣ муттаҳид мешаванд. Ҳар як псевдо-муштарии Commvault як кластери UNIX мебошад. Он гиреҳҳои кластерӣ, ки дар онҳо агенти Commvault барои Postgres насб шудааст, ба он илова карда мешаванд. Дар натиҷа, ҳама гиреҳҳои виртуалии псевдо-муштарӣ ҳамчун як мисол нусхабардорӣ карда мешаванд.

Дар дохили ҳар як псевдо-муштарӣ гиреҳи фаъоли кластер нишон дода мешавад. Ин аст он чизе ки ҳалли ҳамгироии мо барои Commvault муайян мекунад. Принсипи кори он хеле содда аст: агар кластери IP дар гиреҳ бардошта шавад, скрипт параметри "гиреҳи фаъол" -ро дар дуии агенти Commvault муқаррар мекунад - дар асл, скрипт "1" -ро дар қисми зарурии хотира муқаррар мекунад. . Агент ин маълумотро ба CommServe интиқол медиҳад ва Commvault аз гиреҳи дилхоҳ нусхабардорӣ мекунад. Илова бар ин, дурустии конфигуратсия дар сатҳи скрипт тафтиш карда мешавад, ки барои пешгирӣ кардани хатогиҳо ҳангоми оғоз кардани нусхабардорӣ кӯмак мекунад.

Ҳамзамон, пойгоҳи додаҳои калон дар блокҳо дар риштаҳои гуногун нусхабардорӣ карда мешаванд, ки ба талаботи RPO ва равзанаи эҳтиётӣ ҷавобгӯ мебошанд. Сарборӣ ба система ночиз аст: Нусхаҳои пурра он қадар зуд-зуд рух намедиҳад, дар рӯзҳои дигар танҳо гузоришҳо ҷамъоварӣ карда мешаванд ва дар давраи бори кам.

Дар омади гап, мо барои нусхабардории гузоришҳои бойгонии PostgreSQL сиёсатҳои алоҳида татбиқ кардем - онҳо тибқи қоидаҳои гуногун нигоҳ дошта мешаванд, мувофиқи ҷадвали дигар нусхабардорӣ карда мешаванд ва барои онҳо нусхабардорӣ фаъол нест, зеро ин гузоришҳо дорои маълумоти беназир мебошанд.

Барои таъмини ҳамоҳангӣ дар тамоми инфрасохтори IT, дар ҳар як гиреҳи кластер муштариёни файли Commvault алоҳида насб карда мешаванд. Онҳо файлҳои Postgres-ро аз нусхабардорӣ истисно мекунанд ва танҳо барои нусхабардории OS ва барномаҳо пешбинӣ шудаанд. Ин қисми маълумот инчунин сиёсат ва мӯҳлати нигоҳдории худро дорад.

Чӣ тавр PostgreSQL-и "озод" -ро ба муҳити сахти корхона мувофиқ кардан мумкин аст
Дар айни замон, IBS ба хидматрасонии маҳсулнокӣ таъсир намерасонад, аммо агар вазъият тағир ёбад, Commvault метавонад маҳдудияти сарбориро фаъол созад.

Оё хуб аст? Хуб!

Ҳамин тавр, мо на танҳо як нусхаи қобили кор, балки инчунин нусхаи пурраи автоматикунонидашудаи насби кластери PostgreSQL гирифтем ва он ба ҳама талабот барои зангҳои корхона ҷавобгӯ аст.

Параметрҳои RPO ва RTO 1 соату 2 соат бо маржа фаро гирифта шудаанд, ки ин маънои онро дорад, ки система ҳатто бо афзоиши назарраси ҳаҷми маълумоти захирашуда ба онҳо мувофиқат мекунад. Бар хилофи шубҳаҳои зиёд, PostgreSQL ва муҳити корхона комилан мувофиқ буданд. Ва ҳоло мо аз таҷрибаи худ медонем, ки нусхабардории чунин DBMS дар конфигуратсияҳои гуногун имконпазир аст.

Албатта, дар ин рох ба мо лозим омад, ки хафт чуфт ботинкаи оханинро фарсуда, як катор душворихоро паси cap кунем, ба якчанд мола кадам гузорем ва як катор хатохоро ислох кунем. Аммо ҳоло ин равиш аллакай санҷида шудааст ва метавонад барои татбиқи Сарчашмаи Кушода ба ҷои DBMS хусусӣ дар шароити сахти корхона истифода шавад.

Оё шумо кӯшиш кардаед, ки бо PostgreSQL дар муҳити корпоративӣ кор кунед?

Муаллифон:

Олег Лавренов, муҳандиси конструктори системаҳои нигоҳдории маълумот, Jet Infosystems

Дмитрий Эрикин, муҳандиси конструктори системаҳои компютерии Jet Infosystems

Манбаъ: will.com

Илова Эзоҳ