Lwm qhov thaub qab - ntau tshaj li tsab ntawv, yooj yim dua li qhov system

Muaj ntau lub tshuab thaub qab, tab sis yuav ua li cas yog tias cov kev pabcuam servers tau tawg mus rau ntau thaj chaw thiab cov neeg siv khoom thiab koj yuav tsum tswj xyuas kev siv cov cuab yeej ua haujlwm?

Lwm qhov thaub qab - ntau tshaj li tsab ntawv, yooj yim dua li qhov system

Zoo tav su, Hab!
Kuv lub npe yog Natalya. Kuv yog ib tug thawj coj ntawm pab pawg neeg tswj hwm daim ntawv thov ntawm NPO Krista. Peb ops rau peb lub tuam txhab qhov project pab neeg. Peb muaj qhov xwm txheej tshwj xeeb: peb nruab thiab tswj peb cov software ob qho tib si ntawm peb lub tuam txhab servers thiab ntawm servers nyob ntawm cov neeg siv khoom. Hauv qhov no, tsis tas yuav backup tag nrho cov server. Tsuas yog "cov ntaub ntawv tseem ceeb" yog qhov tseem ceeb: DBMS thiab cov npe ntawm cov ntaub ntawv. Tau kawg, cov neeg siv khoom muaj (lossis tsis muaj) lawv tus kheej txoj cai thaub qab thiab feem ntau muab qee yam kev cia sab nraud los khaws cov thaub qab rau ntawd. Hauv qhov no, tom qab tsim kev thaub qab, peb xyuas kom meej tias nws raug xa mus rau sab nraud cia.

Rau qee lub sijhawm, rau lub hom phiaj thaub qab, peb tau tswj hwm nrog tsab ntawv bash, tab sis raws li cov kev xaiv rau kev teeb tsa tau loj hlob, qhov nyuaj ntawm tsab ntawv no tau loj hlob zoo, thiab ntawm ib lub sijhawm zoo peb tuaj rau qhov xav tau "ua kom puas tsuaj rau hauv av, thiab tiam ntawd...."

Cov kev daws teeb meem npaj tau tsis haum rau ntau yam laj thawj: vim yog qhov xav tau kom txo qis cov ntaub ntawv thaub qab, lub luag haujlwm khaws cov thaub qab hauv zos ntawm tus neeg siv khoom, qhov nyuaj ntawm kev teeb tsa, kev hloov pauv hloov pauv, thiab kev txwv tsis pub nkag.

Nws zoo li peb tias nws yooj yim dua los sau qee yam ntawm peb tus kheej. Nyob rau tib lub sijhawm, peb xav tau qee yam uas yuav txaus rau peb qhov xwm txheej rau N xyoo tom ntej, tab sis nrog rau qhov muaj peev xwm nthuav dav.

Cov xwm txheej ua haujlwm tau raws li hauv qab no:

  1. lub hauv paus backup piv txwv yog offline, khiav hauv zos
  2. khaws cov thaub qab thiab cov ntawv teev cia ib txwm nyob hauv tus neeg siv khoom lub network
  3. Piv txwv li muaj modules - xws li ib tug "constructor"
  4. kev sib raug zoo nrog Linux kev faib khoom siv, suav nrog cov uas siv tsis tau, muaj peev xwm hla lub platform yog qhov xav tau
  5. ssh nkag tau txaus los ua haujlwm nrog piv txwv, qhib cov chaw nres nkoj ntxiv yog xaiv tau
  6. yooj yim tshaj plaws ntawm kev teeb tsa thiab kev ua haujlwm
  7. Nws yog ua tau (tab sis tsis tsim nyog) kom muaj ib qho piv txwv uas tso cai rau koj los saib xyuas cov xwm txheej ntawm cov thaub qab los ntawm cov servers sib txawv

Qhov peb tau txais tuaj yeem pom ntawm no: github.com/javister/krista-backup
Lub software yog sau rau hauv python3; ua haujlwm ntawm Debian, Ubuntu, CentOS, AstraLinux 1.6.

Cov ntaub ntawv tau muab tso rau hauv cov ntaub ntawv teev npe ntawm lub chaw khaws cia.

Cov ntsiab lus tseem ceeb uas qhov system ua haujlwm ntawm:
kev txiav txim - ib qho kev txiav txim uas siv ib qho kev ua haujlwm atomic (database backup, directory backup, hloov ntawm directory A mus rau directory B, thiab lwm yam). Cov kev ua uas twb muaj lawm yog nyob rau hauv cov ntawv tseem ceeb / kev ua
ua hauj lwm - ib txoj hauj lwm, ib txheej ntawm cov yeeb yam uas piav txog ib tug logical "backup task"
teem sijhawm – teem caij, ua hauj lwm teem nrog xaiv yeem qhia txog lub sij hawm ua hauj lwm

Cov txheej txheem thaub qab yog khaws cia rau hauv yaml cov ntaub ntawv; general config structure:

  • Kev teeb tsa dav dav
  • seem kev nqis tes ua: piav qhia txog cov kev ua siv ntawm lub server no
  • ntu sij hawm: piav qhia ntawm tag nrho cov dej num (teev ntawm kev ua) thiab lub sij hawm rau lawv tso tawm los ntawm cron, yog hais tias yuav tsum tau launching

Ib qho piv txwv config tuaj yeem pom ntawm no

Daim ntawv thov tuaj yeem ua dab tsi rau lub sijhawm no:

  • Cov haujlwm tseem ceeb rau peb tau txais kev txhawb nqa: PostgreSQL thaub qab ntawm pg_dump, cov ntaub ntawv kaw lus cov ntaub ntawv thaub qab ntawm tar; kev ua haujlwm nrog kev cia sab nraud; rsync ntawm cov npe; thaub qab rotation (rho tawm cov ntawv qub)
  • hu ib tsab ntawv sab nraud
  • phau ntawv ua tiav ntawm ib txoj haujlwm
    /opt/KristaBackup/KristaBackup.py run make_full_dump
  • koj tuaj yeem ntxiv (lossis tshem tawm) ib tus neeg ua haujlwm lossis tag nrho cov sijhawm hauv crontab
    /opt/KristaBackup/KristaBackup.py enable all
  • ua rau cov ntaub ntawv tsim raws li cov txiaj ntsig thaub qab. Cov yam ntxwv no muaj txiaj ntsig zoo nrog Zabbix rau kev saib xyuas cov thaub qab.
  • tuaj yeem ua haujlwm tom qab hauv webapi lossis web hom
    /opt/KristaBackup/KristaBackup.py web start [--api]

Qhov txawv ntawm hom yog tias webapi tsis muaj lub vev xaib tsim nyog, tab sis daim ntawv thov teb rau kev thov los ntawm lwm qhov piv txwv. Rau lub vev xaib hom, koj yuav tsum tau nruab lub raj mis thiab ob peb lub pob ntxiv, thiab qhov no tsis tuaj yeem siv tau txhua qhov chaw, piv txwv li, hauv ntawv pov thawj AstraLinux SE.

Los ntawm lub vev xaib interface, koj tuaj yeem saib cov xwm txheej thiab cov ntawv teev cov thaub qab ntawm cov servers txuas nrog: "web piv txwv" thov cov ntaub ntawv los ntawm "cov xwm txheej thaub qab" ntawm API. Kev nkag mus rau lub vev xaib xav tau kev tso cai, webapi tsis nkag.

Lwm qhov thaub qab - ntau tshaj li tsab ntawv, yooj yim dua li qhov system

Cov ntaub ntawv khaws tseg tsis raug yav dhau los raug cim nrog xim: ceeb toom - daj, yuam kev - liab.

Lwm qhov thaub qab - ntau tshaj li tsab ntawv, yooj yim dua li qhov system

Lwm qhov thaub qab - ntau tshaj li tsab ntawv, yooj yim dua li qhov system

Yog hais tias tus thawj coj tsis xav tau ib daim ntawv khib nyiab ntawm qhov tsis thiab cov neeg rau zaub mov kev ua haujlwm yog homogeneous, koj tuaj yeem sau cov ntaub ntawv thiab faib cov pob tiav.

Peb faib cov nqi hluav taws xob no feem ntau los ntawm Ansible, dov nws ua ntej rau qee qhov tseem ceeb ntawm cov servers, thiab tom qab sim rau tag nrho cov so.

Qhov kawg tshwm sim yog ib qho kev sib txuas ntawm cov khoom siv ib leeg uas tuaj yeem siv tau thiab siv tau txawm tias los ntawm cov thawj coj tsis paub. Nws yooj yim rau peb - ​​tej zaum nws yuav pab tau rau koj thiab?

Tau qhov twg los: www.hab.com

Ntxiv ib saib