ʻO kahi waihona ʻē aʻe - ʻoi aku ma mua o kahi palapala, maʻalahi ma mua o kahi ʻōnaehana

Nui nā ʻōnaehana kākoʻo, akā he aha kāu e hana ai inā hoʻopuehu ʻia nā kikowaena lawelawe ma nā wahi like ʻole a me nā mea kūʻai aku a pono ʻoe e hana me ka ʻōnaehana hana?

ʻO kahi waihona ʻē aʻe - ʻoi aku ma mua o kahi palapala, maʻalahi ma mua o kahi ʻōnaehana

Aloha awakea, Aloha Auinalā, ʻO ka ʻōniʻoniʻo!
ʻO Natalya koʻu inoa. ʻO wau ke alakaʻi hui o ka hui hoʻoponopono noi ma NPO Krista. ʻO mākou nā Ops no ka hui papahana o kā mākou hui. Loaʻa iā mākou kahi kūlana kūʻokoʻa: hoʻokomo mākou a mālama i kā mākou polokalamu ma nā kikowaena o kā mākou hui a ma nā kikowaena ma nā pūnaewele o nā mea kūʻai aku. I kēia hihia, ʻaʻohe pono e hoʻihoʻi i ke kikowaena holoʻokoʻa. ʻO ka "ʻikepili koʻikoʻi" wale nō ka mea nui: ka DBMS a me nā papa kuhikuhi ʻōnaehana faila. ʻOiaʻiʻo, loaʻa i nā mea kūʻai aku (a ʻaʻole ʻole) kā lākou hoʻoponopono hoʻihoʻi ponoʻī a hāʻawi pinepine i kahi ʻano o ka waiho waho no ka mālama ʻana i nā backup ma laila. I kēia hihia, ma hope o ka hana ʻana i kahi waihona, hōʻoia mākou i ka hoʻouna ʻana i kahi waihona waho.

No kekahi manawa, no nā kumu hoʻihoʻi, ua hana mākou me kahi script bash, akā i ka ulu ʻana o nā koho hoʻonohonoho, ua ulu like ka paʻakikī o kēia ʻatikala, a i kekahi manawa ua hele mākou i ka pono e "hoʻopau iā ia i ka honua, a laila ...".

ʻAʻole kūpono nā hoʻonā i hoʻomākaukau ʻia no nā kumu like ʻole: ma muli o ka pono e hoʻokaʻawale i nā backup, ke koi e mālama i nā backup kūloko i ka mea kūʻai aku, paʻakikī o ka hoʻonohonoho ʻana, hoʻokomo i nā mea hoʻopili, nā palena ʻae.

Me he mea lā ua maʻalahi ka kākau ʻana i kekahi mea no mākou iho. I ka manawa like, makemake wau e loaʻa i kahi mea e lawa ai i ko mākou kūlana no nā makahiki N e hiki mai ana, akā me ka hiki ke hoʻonui i ka laulā.

ʻO nā kūlana o ka hana penei:

  1. ʻO ke kumu hoʻihoʻi kumu he autonomous a holo kūloko
  2. ʻO ka mālama ʻana i nā waihona a me nā lāʻau i loko o ka pūnaewele o ka mea kūʻai aku
  3. Aia kekahi laʻana i nā modula - kahi ʻano "mea hana"
  4. Pono ka hoʻohālikelike me nā māhele Linux o kēia manawa, me nā mea kahiko, makemake ʻia ka cross-platform
  5. No ka hana ʻana me ka laʻana, lawa ke komo ʻana ma o ssh; ʻaʻole pono ka wehe ʻana i nā awa hou
  6. ka maʻalahi o ka hoʻonohonoho a me ka hana
  7. hiki (akā ʻaʻole pono) ke loaʻa kahi ʻokoʻa e hiki ai iā ʻoe ke ʻike i ke kūlana o nā waihona mai nā kikowaena like ʻole.

Hiki iā ʻoe ke ʻike i ka mea a mākou i hana ai ma aneʻi: github.com/javister/krista-backup
Ua kākau ʻia ka polokalamu ma python3; hana ma Debian, Ubuntu, CentOS, AstraLinux 1.6.

Hoʻouna ʻia ka palapala ma ka papa kuhikuhi docs o ka waihona.

Nā manaʻo kumu e hana ai ka ʻōnaehana:
hana - he hana e hoʻokō ai i hoʻokahi hana atomic (backup database, backup directory, transfer from directory A to directory B, etc.). Aia nā hana e kū nei ma ka papa kuhikuhi kumu/hana
hana - hana, he pūʻulu hana e wehewehe ana i hoʻokahi "hana hoʻihoʻi" ponoʻī.
papa hoʻonohonoho - hoʻonohonoho, kahi hoʻonohonoho o nā hana me kahi hōʻailona koho o ka manawa hoʻokō hana

Mālama ʻia ka hoʻonohonoho hoʻonohonoho ʻana i kahi faila yaml; hale hoʻonohonoho maʻamau:

  • Nā hoʻonohonoho maʻamau
  • ʻāpana hana: wehewehe i nā hana i hoʻohana ʻia ma kēia kikowaena
  • ʻāpana hoʻonohonoho: wehewehe ʻana i nā hana āpau (nā hoʻonohonoho o nā hana) a me ka hoʻonohonoho ʻana no kā lākou hoʻomaka ʻana e cron, inā koi ʻia kahi hoʻolaha.

Hiki ke loaʻa kahi laʻana config maanei

He aha ka mea hiki ke hana i kēia manawa:

  • Kākoʻo ʻia nā hana koʻikoʻi no mākou: Kākoʻo PostgreSQL ma o pg_dump, hoʻihoʻi i ka papa kuhikuhi waihona waihona ma o ka tar; nā hana me ka waihona waho; rsync ma waena o nā papa kuhikuhi; ka hoʻololi ʻana (ka holoi ʻana i nā kope kahiko)
  • ke kāhea ʻana i kahi palapala waho
  • hana lima o kahi hana kaawale
    /opt/KristaBackup/KristaBackup.py run make_full_dump
  • hiki iā ʻoe ke hoʻohui (a wehe paha) i kahi hana a i ʻole ka papa hana holoʻokoʻa i ka crontab
    /opt/KristaBackup/KristaBackup.py enable all
  • ka hana ʻana i kahi faila hoʻāla e pili ana i nā hopena hoʻihoʻi. Pono kēia hana me Zabbix no ka nānā ʻana i nā backup
  • hiki ke hana ma ke kua ma ka webapi a i ʻole ke ʻano pūnaewele
    /opt/KristaBackup/KristaBackup.py web start [--api]

ʻO ka ʻokoʻa ma waena o nā ʻano ʻano: ʻaʻohe pūnaewele pūnaewele ʻo webapi, akā pane ka noi i nā noi mai kahi manawa ʻē aʻe. No ke ʻano pūnaewele, pono ʻoe e hoʻokomo i ka flask a me nā pūʻulu hou aʻe, a ʻaʻole ʻae ʻia kēia ma nā wahi āpau, no ka laʻana ma AstraLinux SE i hōʻoia ʻia.

Ma o ke kikowaena pūnaewele, hiki iā ʻoe ke nānā i ke kūlana a me nā moʻolelo o nā backup o nā kikowaena pili: noi ka "web instance" i ka ʻikepili mai nā "backup instances" ma o ka API. Pono ka ʻae ʻana i ka pūnaewele, ʻaʻole pono ke komo i ka webapi.

ʻO kahi waihona ʻē aʻe - ʻoi aku ma mua o kahi palapala, maʻalahi ma mua o kahi ʻōnaehana

Hōʻailona ʻia nā moʻolelo o nā hoʻihoʻi hewa i ke kala: ʻōlelo aʻo - melemele, hewa - ʻulaʻula.

ʻO kahi waihona ʻē aʻe - ʻoi aku ma mua o kahi palapala, maʻalahi ma mua o kahi ʻōnaehana

ʻO kahi waihona ʻē aʻe - ʻoi aku ma mua o kahi palapala, maʻalahi ma mua o kahi ʻōnaehana

Inā ʻaʻole pono ka luna hoʻomalu i kahi pepa hoʻopunipuni ma nā ʻāpana a me nā ʻōnaehana lawelawe kikowaena like ʻole, hiki iā ʻoe ke hōʻuluʻulu i ka faila a hāʻawi i ka pūʻulu i mākaukau.

Hāʻawi mākou i kēia pono ma o Ansible, e ʻōwili mua iā ia i kekahi o nā kikowaena liʻiliʻi loa, a ma hope o ka hoʻāʻo ʻana i nā mea ʻē aʻe.

ʻO ka hopena, ua loaʻa iā mākou kahi pono kope paʻa, kū hoʻokahi i hiki ke hoʻohana ʻia a hiki ke hoʻohana ʻia e nā luna hoʻokele ʻike ʻole. He mea maʻalahi iā mākou - pono paha ia no ʻoe?

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka