Kaydka kale - in ka badan qoraal, ka fudud nidaamka

Waxaa jira habab badan oo gurmad ah, laakiin waxa la sameeyo haddii server-yada loo adeego ay ku kala firirsan yihiin gobollada iyo macaamiisha kala duwan oo aad u baahan tahay inaad sameyso nidaamka hawlgalka?

Kaydka kale - in ka badan qoraal, ka fudud nidaamka

Galab wanaagsan, Habr!
Magacaygu waa Natalya. Waxaan ahay hogaamiyaha kooxda maamulka codsiyada ee NPO Krista. Waxaan u nahay Ops kooxda mashruuca ee shirkadeena. Waxaan haysanaa xaalad gaar ah: waxaan ku rakibnaa oo ku ilaalinaa software-keena labadaba server-yada shirkadeena iyo server-yada ku yaal goobaha macaamiisha. Xaaladdan oo kale, ma jirto baahi loo qabo in la kaydiyo server oo dhan. Kaliya "xogta muhiimka ah" ayaa muhiim ah: DBMS iyo hagayaasha nidaamka faylka gaarka ah. Dabcan, macaamiishu waxay leeyihiin (ama ma haystaan) xeerar u gaar ah oo u gaar ah oo inta badan waxay bixiyaan nooc ka mid ah kaydinta dibadda ee kaydinta kaydka halkaas. Xaaladdan oo kale, ka dib markii la abuurayo gurmad, waxaan hubineynaa u dirida kaydinta dibadda.

In muddo ah, ujeedooyinka kaydinta, waxaan ku samaynay qoraal bash ah, laakiin markii xulashada qaabeynta ay korodhay, kakanaanta qoraalkan ayaa u kordhay si siman, hal mar waxaan u nimid baahida loo qabo "in la dumiyo dhulka, ka dibna ...”.

Xalka diyaarka ah kuma haboona sababo kala duwan awgood: baahida loo qabo baahinta kaydinta, shuruudaha lagu kaydiyo kaydka gudaha macmiilka, kakanaanta dejinta, beddelka soo dejinta, xaddidaadaha gelitaanka.

Waxay nooga muuqatay inay fududdahay inaan wax ku qorno annaga. Isla mar ahaantaana, waxaan rabay inaan helo wax ku filan xaaladeena sanadaha soo socda ee N, laakiin ay suurtagal tahay inaan ballaariyo baaxadda.

Shuruudaha hawshu waxay ahaayeen sidan.

  1. Tusaalaha kaydinta aasaasiga ah waa iskiis oo u shaqeeya gudaha
  2. kaydinta kaydka iyo diiwaanadu had iyo jeer waxay ku dhex jiraan shabakada macmiilka
  3. tusaale ahaan wuxuu ka kooban yahay modules - nooc ka mid ah "dhisaha"
  4. waafaqsanaanta qaybinta Linux ee hadda jirta ayaa loo baahan yahay, oo ay ku jiraan kuwa duugoobay, madal isdhaafsi ah oo suurtagal ah ayaa la jecel yahay
  5. Si loola shaqeeyo tusaale ahaan, gelitaanka ssh waa ku filan; furista dekedo dheeraad ah lagama maarmaan ma aha
  6. fududaynta ugu badan ee habaynta iyo hawlgalka
  7. waa suurtogal (laakiin aan loo baahnayn) in la haysto tusaale gaar ah oo kuu ogolaanaya inaad si dhexe u aragto heerka kaydinta ee server-yada kala duwan.

Waxaad arki kartaa waxa aan la nimid halkan: github.com/javister/krista-backup
Software-ku wuxuu ku qoran yahay Python3; wuxuu ka shaqeeyaa Debian, Ubuntu, CentOS, AstraLinux 1.6.

Dukumeentigu waxa lagu dhejiyay tusaha dukumeentiyada ee kaydka

Fikradaha aasaasiga ah ee nidaamku ku shaqeeyo:
action – waa fal fulinaya hal hawl oo atomic ah (database backup, directory backup, ka wareejinta tusaha A una gudbiso tusaha B, iwm.). Ficilada jira waxay ku yaalaan tusaha udub-dhexaadka/falalka
hawl – hawl, hawlo kala duwan oo qeexaya hal maangal ah
jadwal - jadwal, hawlo hawlo ah oo leh calaamad ikhtiyaari ah oo wakhtiga fulinta hawsha

Qaabaynta kaydinta waxa lagu kaydiyaa faylka yaml; qaabdhismeedka guud:

  • Goobaha guud
  • qaybta ficilada: sharaxaada ficilada loo isticmaalo server-kan
  • qaybta jadwalka: sharaxaada dhammaan hawlaha (qaybaha ficilada) iyo jadwalka bilaabitaankooda by cron, haddii bilaabista noocaas ah loo baahan yahay

Tusaale habayn ayaa laga heli karaa halkan

Maxaa codsigu hadda qaban karaa:

  • Hawlgallada ugu muhiimsan ee anaga ayaa la taageeraa: Dib u celinta PostgreSQL iyada oo loo sii marayo pg_dump, kaydinta hagaha nidaamka faylka iyada oo loo marayo tar; hawlgallada kaydinta dibadda; rsync u dhexeeya hagaha; wareejinta kaydinta (tirtirka nuquladii hore)
  • adoo wacaya qoraal dibadeed
  • fulinta gacanta ee hawl gaar ah
    /opt/KristaBackup/KristaBackup.py run make_full_dump
  • waxaad ku dari kartaa (ama saari kartaa) hal hawl ama jadwalka oo dhan crontab
    /opt/KristaBackup/KristaBackup.py enable all
  • abuurista fayl kiciya oo ku salaysan natiijooyinka kaydinta. Shaqadani waxay faa'iido u leedahay iyada oo lala kaashanayo Zabbix si loola socdo kaydinta
  • waxay ka shaqayn kartaa gadaasha webapi ama qaabka webka
    /opt/KristaBackup/KristaBackup.py web start [--api]

Farqiga u dhexeeya hababka: webapi ma laha shabakad shabakad lafteeda, laakiin codsigu wuxuu ka jawaabayaa codsiyada tusaale kale. Qaabka shabakadda, waxaad u baahan tahay inaad ku rakibto falaash iyo baakado badan oo dheeraad ah, tanina meel kasta lama aqbali karo, tusaale ahaan AstraLinux SE oo shahaadeysan.

Iyada oo loo marayo interface-ka shabakadda, waxaad ku arki kartaa heerka iyo diiwaannada kaydka ee server-yada ku xiran: "tusaale ahaan webka" waxay codsadaan xogta "tusaalooyinka kaabta" iyada oo loo marayo API. Gelitaanka shabakadda waxay u baahan tahay oggolaansho, gelitaanka webapi maaha.

Kaydka kale - in ka badan qoraal, ka fudud nidaamka

Logyada kaydka khaldan ayaa lagu calaamadeeyay midab: digniin - jaalle, qalad - casaan.

Kaydka kale - in ka badan qoraal, ka fudud nidaamka

Kaydka kale - in ka badan qoraal, ka fudud nidaamka

Haddii maamuluhu aanu u baahnayn xaashi khiyaamo ah oo ku saabsan xuduudaha iyo nidaamyada hawlgalka serverku waa isku mid, waxaad ururin kartaa faylka oo aad qaybin kartaa xirmo diyaarsan.

Waxa aanu u qaybinay utility-gan inta badan iyada oo loo sii marayo Suurtogal, anagoo marka hore u gudbinayna qaar ka mid ah server-yada muhiimka ah, iyo ka dib marka la tijaabiyo inta kale oo dhan.

Natiijadu waxay tahay, waxaan helnay utility koobiga is haysta oo keligiis taagan kaasoo si toos ah loo isticmaali karo oo ay isticmaali karaan xitaa maamulayaasha aan khibradda lahayn. Way nagu habboon tahay - waxaa laga yaabaa inay adigana waxtar kuu yeelato?

Source: www.habr.com

Add a comment