Tha mòran de shiostaman cùl-taic ann, ach dè a nì thu ma tha na frithealaichean seirbheisichte sgapte thar diofar roinnean agus teachdaichean agus feumaidh tu dèanamh leis an t-siostam obrachaidh?
Fìor fheasgar, Gliocas!
Is e m ’ainm Natalia. Tha mi nam stiùiriche sgioba air buidheann rianadairean an tagraidh aig NPO Krista. Tha sinn Ops airson buidheann pròiseict a 'chompanaidh againn. Tha suidheachadh caran sònraichte againn: bidh sinn a’ stàladh agus a’ cumail suas ar bathar-bog an dà chuid air frithealaichean ar companaidh agus air frithealaichean a tha suidhichte aig làraich teachdaichean. Anns a 'chùis seo, chan eil feum air cùl-taic a dhèanamh den fhrithealaiche gu lèir. Chan eil ach an “dàta riatanach” cudromach: an DBMS agus clàran siostam faidhle fa leth. Gu dearbh, tha (no chan eil) na riaghailtean cùl-taic aca fhèin aig teachdaichean agus gu tric bidh iad a’ toirt seachad seòrsa de stòradh a-muigh airson cùl-taic a stòradh an sin. Anns a 'chùis seo, an dèidh dhuinn cùl-taic a chruthachadh, bidh sinn a' dèanamh cinnteach gun tèid a chuir gu stòradh a-muigh.
Airson ùine, airson adhbharan cùl-taic, rinn sinn le sgriobt bash, ach mar a dh ’fhàs na roghainnean rèiteachaidh, dh’ fhàs iom-fhillteachd an sgriobt seo gu co-rèireach, agus aig aon àm thàinig sinn chun fheum air “a sgrios gu làr, agus an uairsin ...".
Cha robh fuasglaidhean deiseil freagarrach airson diofar adhbharan: mar thoradh air an fheum air cùl-taic a dhì-mheadhanachadh, an fheum air cùl-taic a stòradh gu h-ionadail aig an neach-dèiligidh, iom-fhillteachd an t-suidheachaidh, ionadachadh in-mhalairt, cuingealachaidhean ruigsinneachd.
Bha e coltach dhuinn gu robh e na b’ fhasa rudeigin de ar cuid fhìn a sgrìobhadh. Aig an aon àm, bha mi airson rudeigin fhaighinn a bhiodh gu leòr airson ar suidheachadh airson na N bliadhna a tha romhainn, ach le comas air an raon a leudachadh.
Bha cumhaichean na h-obrach mar a leanas:
- tha an t-eisimpleir cùl-taic bunaiteach fèin-riaghailteach agus a 'ruith gu h-ionadail
- tha stòradh cùl-taic agus logaichean an-còmhnaidh taobh a-staigh lìonra an neach-dèiligidh
- tha eisimpleir air a dhèanamh suas de mhodalan - seòrsa de “neach-togail”
- tha feum air co-chòrdalachd le sgaoilidhean Linux gnàthach, a’ toirt a-steach seann fheadhainn, tha tar-ùrlar comasach ion-mhiannaichte
- Gus obrachadh leis an eisimpleir, tha ruigsinneachd tro ssh gu leòr; chan eil feum air puirt a bharrachd fhosgladh
- an ìre as fhasa de shuidheachadh agus obrachadh
- tha e comasach (ach chan eil sin riatanach) eisimpleir air leth a bhith agad a leigeas leat sealladh sa mheadhan air inbhe cùl-taic bho dhiofar luchd-frithealaidh
Chì thu na thàinig sinn suas leis an seo:
Tha am bathar-bog sgrìobhte ann am python3; ag obair air Debian, Ubuntu, CentOS, AstraLinux 1.6.
Tha na sgrìobhainnean air am postadh ann an eòlaire docs an stòrais.
Bun-bheachdan bunaiteach a tha an siostam ag obrachadh:
gnìomh - gnìomh a chuireas an gnìomh aon obrachadh atamach (glèidhidh stòr-dàta, cùl-taic eòlaire, gluasad bho eòlaire A gu eòlaire B, msaa). Tha na gnìomhan a th’ ann mar-thà suidhichte anns a’ chlàr bunaiteach/gnìomhan
gnìomh - gnìomh, seata de ghnìomhan a’ toirt cunntas air aon “ghnìomh cùl-taic” loidsigeach
clàr-ama - clàr-ama, seata de ghnìomhan le comharra roghainneil air an ùine cur an gnìomh
Tha an rèiteachadh cùl-taic air a stòradh ann am faidhle yaml; structar rèiteachaidh coitcheann:
- Suidheachaidhean coitcheann
- earrann ghnìomhan: tuairisgeul air na gnìomhan a chleachdar air an fhrithealaiche seo
- earrann clàr-ama: tuairisgeul air a h-uile gnìomh (seata ghnìomhan) agus clàr airson an cur air bhog le cron, ma tha feum air a leithid de chuir air bhog
Dè as urrainn don tagradh a dhèanamh an-dràsta:
- Tha na prìomh obrachaidhean dhuinne a’ faighinn taic: cùl-taic PostgreSQL tro pg_dump, cùl-taic eòlaire siostam faidhle tro teàrr; obraichean le stòradh taobh a-muigh; rsync eadar clàran; cuairteachadh cùl-taic (cuir às do sheann lethbhric)
- gairm sgriobt taobh a-muigh
- coileanadh gnìomh air leth le làimh
/opt/KristaBackup/KristaBackup.py run make_full_dump
- faodaidh tu aon ghnìomh no an clàr gu lèir a chur ris (no a thoirt air falbh) ris a’ chrontab
/opt/KristaBackup/KristaBackup.py enable all
- a’ cruthachadh faidhle brosnachaidh stèidhichte air toraidhean cùl-taic. Tha an gnìomh seo feumail ann an co-bhonn ri Zabbix airson sùil a chumail air cùl-taic
- faodaidh iad obrachadh air a’ chùl ann am modh webapi no lìn
/opt/KristaBackup/KristaBackup.py web start [--api]
An diofar eadar na modhan: chan eil eadar-aghaidh lìn fhèin aig webapi, ach bidh an tagradh a’ freagairt iarrtasan bho eisimpleir eile. Airson modh lìn, feumaidh tu flasg agus grunn phasgan a bharrachd a chuir a-steach, agus chan eil seo iomchaidh anns a h-uile àite, mar eisimpleir ann an AstraLinux SE le teisteanas.
Tron eadar-aghaidh lìn, chì thu inbhe agus logaichean cùl-taic de luchd-frithealaidh ceangailte: bidh an “làrach-lìn” ag iarraidh dàta bho na “cùisean cùl-taic” tron API. Feumaidh ruigsinneachd air an lìon cead, chan eil cothrom air webapi.
Tha logaichean de chùl-taic ceàrr air an comharrachadh ann an dath: rabhadh - buidhe, mearachd - dearg.
Mura h-eil feum aig an rianaire air duilleag meallta air na paramadairean agus gu bheil siostaman obrachaidh an fhrithealaiche aon-ghnèitheach, faodaidh tu am faidhle a chuir ri chèile agus am pasgan deiseil a sgaoileadh.
Bidh sinn a’ cuairteachadh a’ ghoireas seo sa mhòr-chuid tro Ansible, ga sgaoileadh a-mach an-toiseach gu cuid de na frithealaichean as cudromaiche, agus às deidh deuchainn a dhèanamh air a’ chòrr.
Mar thoradh air an sin, fhuair sinn goireas leth-bhreac teann, leis fhèin a dh’ fhaodar a dhèanamh fèin-ghluasadach agus a chleachdadh eadhon le luchd-rianachd gun eòlas. Tha e goireasach dhuinne - is dòcha gum bi e feumail dhutsa cuideachd?
Source: www.habr.com