{"id":86904,"date":"2020-07-01T07:42:30","date_gmt":"2020-07-01T05:42:30","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/kak-gitlab-pomogaet-delat-bekapy-bolshih-hranilishh-nextcloud"},"modified":"2020-07-01T07:42:30","modified_gmt":"2020-07-01T05:42:30","slug":"kak-gitlab-pomogaet-delat-bekapy-bolshih-hranilishh-nextcloud","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/kak-gitlab-pomogaet-delat-bekapy-bolshih-hranilishh-nextcloud","title":{"rendered":"Kuidas GitLab aitab luua varukoopiaid suurtest NextCloud salvestustest","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Tere, Habr!<\/p>\n<p><\/p>\n<p>T\u00e4na soovin r\u00e4\u00e4kida meie kogemustest suurte andmete salvestamise automatiseeritud varundamise osas Nextcloudis erinevates konfiguratsioonides. Olen \"Moltni AK\" tegevjuht, kus tegeleme IT s\u00fcsteemide konfiguratsioonihaldusega, andmete salvestamiseks kasutame Nextcloudi. Sealhulgas, koos hajutatud struktuuriga ja varundamisega.<\/p>\n<p><\/p>\n<p>Probleemid tulenevad installatsioonide erip\u00e4rast, kuna andmeid on palju. Nextcloud pakub versioonimist, varundamist, subjektiivseid p\u00f5hjuseid ja muud, mis loob palju dubleeringuid.<\/p>\n<p><\/p>\n<h2 id=\"predystoriya\">Eelalugu<\/h2>\n<p><\/p>\n<p>Nextcloudi haldamisel t\u00f5useb teravalt esile t\u00f5husate varukoopiate korraldamise probleem, mis tuleks kindlasti kr\u00fcpteerida, kuna andmed on v\u00e4\u00e4rtuslikud.<\/p>\n<p><\/p>\n<p>Pakume varukoopia s\u00e4ilitamise v\u00f5imalusi kas meie juures v\u00f5i kliendi eraldi masinatel, mis ei ole seotud Nextcloudiga, mis n\u00f5uab paindlikku automatiseeritud l\u00e4henemist haldamisele.<\/p>\n<p><\/p>\n<p>Kliente on palju, k\u00f5ik nad on erinevate konfiguratsioonidega ning k\u00f5ik oma platsidel ja omaduste poolest. Siin ei sobi standardne meetod, kus kogu plats kuulub sulle, ja varukoopiad tehakse croni abil.<\/p>\n<p><\/p>\n<p>K\u00e4ime l\u00e4bi vajalikud andmed. Me vajame:<\/p>\n<p><\/p>\n<ul>\n<li>Mastaapsust \u00fche s\u00f5lme v\u00f5i mitme osas. Suurte paigalduste korral kasutame salvestuseks miniot.<\/li>\n<li>Saada teavitusi varukoopiate t\u00e4itmise probleemidest.<\/li>\n<li>Peame hoidma varukoopiadi kliendi juures ja\/v\u00f5i meie juures.<\/li>\n<li>Probleemidega tuleb kiiresti ja lihtsalt tegeleda.<\/li>\n<li>Kliendid ja paigaldused on omavahel v\u00e4ga erinevad \u2014 \u00fchtsust ei \u00f5nnestu saavutada.<\/li>\n<li>Taastamise kiirus peab olema minimaalne kahes stsenaariumis: t\u00e4ielik taastamine (h\u00e4daolukord), \u00fche kausta kustutamine eksikombel.<\/li>\n<li>Dedupeerimise funktsioon on kohustuslik.<\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Kuidas GitLab aitab luua varukoopiaid suurtest NextCloud salvestustest\" src=\"\/wp-content\/uploads\/2020\/07\/1a0048e3295fef94ddca28e50612e3cb.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Varukoopiate haldamiseks sidusime GitLabi. \u00dcksikasjad allpool. <\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Muidugi, me ei ole esimesed, kes seda probleemi lahendavad, kuid usume, et meie praktiline ja kurnav kogemus v\u00f5ib olla huvitav ning oleme valmis seda jagama.<\/p>\n<p><\/p>\n<p>Kuna meie ettev\u00f5ttes on kehtestatud avatud l\u00e4htekoodiga poliitika, otsisime lahendust avatud l\u00e4htekoodiga. Samuti jagame oma arendust\u00f6id ja avaldame neid. N\u00e4iteks GitHubis on <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/molnia-com\/nextcloud-safe-trash\">meie plugina Nextcloudile<\/a><\/noindex>, mille me klientidele, mis suurendab andmete s\u00e4ilimist juhusliku v\u00f5i tahtliku kustutamise korral.<\/p>\n<p><\/p>\n<h2 id=\"sredstva-bekapirovaniya\">Varundamise vahendid<\/h2>\n<p><\/p>\n<p>Lahenduste otsimise alustasime varundamisvahendi valimisega.<\/p>\n<p><\/p>\n<p>Tavaline tar + gzip ei t\u00f6\u00f6ta h\u00e4sti \u2013 andmed dubleeritakse. Inkrement sisaldab sageli tegelikult v\u00e4ga v\u00e4he muudatusi, ning enamik andmeid \u00fche faili sees kordub.<br \/>\nOn veel \u00fcks probleem \u2013 jaotatud andmehoidla \u00fclem\u00e4\u00e4rasus. Kasutame minio't ja tema andmed on p\u00f5him\u00f5tteliselt \u00fclem\u00e4\u00e4rased. Ent varundamine tuleb teha kas minio kaudu \u2013 koormates seda ja kasutades k\u00f5iki vahekihti failis\u00fcsteemi vahel, ning mis on mitte v\u00e4hem oluline, on oht unustada osa bucketitest ja meta-informatsioonist. V\u00f5i kasutada deduplikatsiooni.<\/p>\n<p><\/p>\n<p>Dedupikatsiooniga varundamisvahendid on avatud l\u00e4htekoodiga (Habr oli <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/449282\/\">artikkel<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/420055\/\">selle teema kohta<\/a><\/noindex>) ja meie finalistideks said <noindex><a rel=\"nofollow\" href=\"https:\/\/borgbackup.readthedocs.io\/en\/stable\/\">Borg<\/a><\/noindex> ja <noindex><a rel=\"nofollow\" href=\"https:\/\/restic.net\/\">Restic<\/a><\/noindex>. Meie kahe rakenduse v\u00f5rdlusest allpool, aga r\u00e4\u00e4gime seni, kuidas me kogu skeemi korraldasime.<\/p>\n<p><\/p>\n<h2 id=\"upravlenie-sozdaniem-rezervnyh-kopiy\">Varundamise loomise haldamine<\/h2>\n<p><\/p>\n<p>Borg ja Restic on head, kuid kumbagi toodet ei iseloomusta tsentraliseeritud halduss\u00fcsteem. Halduse ja kontrolli eesm\u00e4rgil valisime t\u00f6\u00f6riista, mis meil juba kasutuses on ja ilma milleta me oma t\u00f6\u00f6d ette ei kujuta, sealhulgas automatiseerimise osas \u2014 see on tuntud CI\/CD \u2013 GitLab.<\/p>\n<p><\/p>\n<p>Idee seisneb j\u00e4rgmis: iga andmeid salvestav Nextcloudi node paigaldatakse gitlab-runner. Rannert k\u00e4ivitab ajakava alusel skripti, mis j\u00e4lgib varundusprotsessi ja see k\u00e4ivitab Borgi v\u00f5i Restici.<\/p>\n<p><\/p>\n<p>Mida me saime? Tagasiside t\u00e4itmisest, mugav kontroll muutuste \u00fcle, \u00fcksikasjad vea korral.<\/p>\n<p><\/p>\n<p>Siin on <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/molnia-com\/backup-by-runner\">siin GitHubis<\/a><\/noindex> oleme v\u00e4lja pannud skripti n\u00e4ited erinevate \u00fclesannete jaoks, mille oleme l\u00f5puks sidunud mitte ainult Nextcloudi, vaid ka paljude teiste teenuste varundusega. Seal on samuti ajakava, kui te ei soovi seda k\u00e4sitsi seadistada (ja me ei soovi) ja .gitlab-ci.yml<\/p>\n<p><\/p>\n<p>GitLabi API-s pole hetkel v\u00f5imalust CI\/CD timeouti muuta, kuid see on \u00fcsna l\u00fchike. Seda tuleb suurendada, \u00fctleme, et <code>1d<\/code>.<\/p>\n<p><\/p>\n<p>\u00d5nneks oskab GitLab k\u00e4ivitada mitte ainult commit'i alusel, vaid ka ajakava j\u00e4rgi, mis on just see, mida me vajame.<\/p>\n<p><\/p>\n<p>N\u00fc\u00fcd skripti katte kohta.<\/p>\n<p><\/p>\n<p>Seadsime sellele skriptile sellised n\u00f5uded:<\/p>\n<p><\/p>\n<ul>\n<li>Peab k\u00e4ima nii runnerina kui ka k\u00e4sitsi konsoolist sama funktsionaalsusega.<\/li>\n<li>Vigade k\u00e4itlejad peavad olema kindlasti olemas:<\/li>\n<li>tagastus kood.<\/li>\n<li>stringi otsimine logis. N\u00e4iteks v\u00f5ib meie jaoks veaks olla s\u00f5num, mida programm ei pea kriitiliseks.<\/li>\n<li>Aegumise k\u00e4itlemine. T\u00e4itmise aeg peaks olema m\u00f5istlik.<\/li>\n<li>Vajame v\u00e4ga detailset logi, kuid ainult vea korral.<\/li>\n<li>Enne algust toimub ka mitmeid teste.<\/li>\n<li>Mugavused, mis me leidsime toredateks toetuste haldamise k\u00e4igus:<\/li>\n<li>K\u00e4ivitamine ja l\u00f5petamine registreeritakse kohaliku masina s\u00fcsteemilogis. See aitab siduda s\u00fcsteemi vigu ja varukoopia t\u00f6\u00f6.<\/li>\n<li>Osa vealogist, kui need on olemas, antakse stdout-i, kogu logi kirjutatakse eraldi faili. Mugav on kohe CI vaadata ja hinnata viga, kui see on triviaalne.<\/li>\n<li>Veabugide re\u017eiimid.<\/li>\n<\/ul>\n<p><\/p>\n<p>T\u00e4ielik logi salvestatakse artefaktina GitLabi, kui viga ei ole, siis logi kustutatakse. Skripti kirjutame bashis.<\/p>\n<p><\/p>\n<p>Igale avatud koodiga seonduvale ettepanekule ja m\u00e4rkusele oleme avatud \u2014 tere tulemast.<\/p>\n<p><\/p>\n<h2 id=\"kak-eto-rabotaet\">Kuidas see toimib<\/h2>\n<p><\/p>\n<p>Varundatav node k\u00e4ivitab runneri bash executoriga. Planeerija kaudu k\u00e4ivitatakse job CI\/CD spetsiaalses repost. Runner k\u00e4ivitab universaalse skripti selliste \u00fclesannete jaoks, kus kontrollitakse varundusrepo, mount-punkte ja k\u00f5ike, mida soovime. Siis tehakse varundamine ja vana eemaldamine. Valmis varundus saadetakse S3-le.<\/p>\n<p><\/p>\n<p>Me t\u00f6\u00f6tame sellise skeemi alusel \u2014 see on v\u00e4litingimustes teenusepakkuja AWS v\u00f5i Venemaa analoog (see on kiirem ja andmed ei lahku Venemaalt). Kas paneme kliendile eraldi minio kihi tema ruumis selliste eesm\u00e4rkide jaoks. Tavaliselt teeme seda turvalisuse kaalutlustel, kui klient ei soovi, et andmed lahkuksid nende kontuurist.<\/p>\n<p><\/p>\n<p>Me ei hakanud kasutama varuneda saatmise funktsiooni ssh kaudu. See ei lisa turvalisust ja S3 teenusepakkuja v\u00f5rguv\u00f5imalused on palju paremad kui meie \u00fcks ssh masin.<\/p>\n<p><\/p>\n<p>H\u00e4kkerite kaitsmiseks kohaliku masina pealt \u2014 sest ta v\u00f5ib kustutada andmeid S3-lt, tuleb kindlasti sisse l\u00fclitada versioonimine.<br \/>\nVarundaja kr\u00fcpteerib alati varunduse.<\/p>\n<p><\/p>\n<p>Borgil on olemas kr\u00fcpteerimata re\u017eiim. <code>ei midagi<\/code>, kuid me ei soovita tungivalt selle aktiveerimist. Selles re\u017eiimis ei toimu mitte ainult kr\u00fcpteerimist, vaid ka kirjutatava sisu kontrollsummat ei arvutata, seega saab terviklikkust kontrollida ainult kaudselt, indeksite kaudu.<\/p>\n<p><\/p>\n<p>Erineva ajakava alusel kontrollitakse varukoopiaid indeksite ja sisu terviklikkuse osas. Kontrollimine toimub aeglaselt ja pikalt, nii et k\u00e4ivitame selle eraldi kord kuus. See v\u00f5ib kesta mitu p\u00e4eva.<\/p>\n<p><\/p>\n<h2 id=\"ridmi-na-russkom\">Readme eesti keeles<\/h2>\n<p><\/p>\n<h3 id=\"osnovnye-funkcii\">Peamised funktsioonid<\/h3>\n<p><\/p>\n<ul>\n<li><code>prepare<\/code> valmistamine<\/li>\n<li><code>testcheck<\/code> valmiduse kontrollimine<\/li>\n<li><code>peamine k\u00e4sk<\/code> p\u00f5hik\u00e4sk<\/li>\n<li><code>forcepostscript<\/code> funktsioon, mis t\u00e4idetakse l\u00f5puks v\u00f5i vea korral. Kasutame seda jaotuse lahti\u00fchendamiseks.<\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"service-functions\">Teenusefunktsioonid<\/h3>\n<p><\/p>\n<ul>\n<li><code>cleanup<\/code> salvestame vead v\u00f5i kustutame logifaili.<\/li>\n<li><code>checklog<\/code> parsing logi viga s\u00f5naga.<\/li>\n<li><code>ret<\/code> v\u00e4ljap\u00e4\u00e4su k\u00e4itleja.<\/li>\n<li><code>checktimeout<\/code> kontrollimine aja \u00fcletamiseks.<\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"environment\">Keskkond<\/h3>\n<p><\/p>\n<ul>\n<li><code>VERBOSE=1<\/code> kuvame vead kohe ekraanile (stdout).<\/li>\n<li><code>SAVELOGSONSUCCES=1<\/code> salvestame logi eduka toimingu korral.<\/li>\n<li><code>INIT_REPO_IF_NOT_EXIST=1<\/code> Loome reposi, kui seda pole olnud. Vaikimisi keelatud.<\/li>\n<li><code>TIMEOUT<\/code> maksimaalne aeg p\u00f5hitegevuseks. Saate selle l\u00f5puks seadistada kui &#8216;m&#8217;, &#8216;h&#8217; v\u00f5i &#8216;d&#8217;.<\/li>\n<\/ul>\n<p><\/p>\n<p>Vanade koopiaide s\u00e4ilitamise re\u017eiim. Vaikimisi:<\/p>\n<p><\/p>\n<ul>\n<li><code>KEEP_DAILY=7<\/code><\/li>\n<li><code>KEEP_WEEKLY=4<\/code><\/li>\n<li><code>KEEP_MONTHLY=6<\/code><\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"peremennye-vnutri-skripta\">Muutujad skripti sees<\/h2>\n<p><\/p>\n<ul>\n<li><code>ERROR_STRING<\/code> \u2014 string logi kontrollimiseks vea korral.<\/li>\n<li><code>EXTRACT_ERROR_STRING<\/code> \u2014 v\u00e4ljend, mis n\u00e4itab stringi, kui on viga.<\/li>\n<li><code>KILL_TIMEOUT_SIGNAL<\/code> \u2014 signaal tapmiseks, kui toimub aegumine.<\/li>\n<li><code>TAIL<\/code> \u2014 mitu stringi, kus on vead ekraanil.<\/li>\n<li><code>COLORMSG<\/code> \u2014 s\u00f5numi v\u00e4rv (vaikimisi kollane).<\/li>\n<\/ul>\n<p><\/p>\n<p>See skript, mida nimetatakse wordpressiks, kannab tinglikku nime. Selle omadus on see, et see varundab ka MySQL andmebaasi. Seega v\u00f5ib seda kasutada \u00fchekordsete Nexcloud installatsioonide jaoks, kus saab samal ajal ka andmebaasi varundada. Mugavus seisneb mitte ainult selles, et k\u00f5ik on \u00fches kohas, vaid ka andmebaasi sisu on l\u00e4hedane failide sisule, kuna vahe on aega minimaalne.<\/p>\n<p><\/p>\n<h2 id=\"restic-vs-borg\">Restic vs Borg<\/h2>\n<p><\/p>\n<p>Borgi ja Restici v\u00f5rdlused on sealhulgas <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/454734\/\">siin Habr's<\/a><\/noindex>, ja meil ei olnud \u00fclesannet teha lihtsalt veel \u00fcks, vaid oma. Meile oli oluline, kuidas see meie andmete, meie spetsiifika puhul v\u00e4lja n\u00e4eb. Toome neid.<\/p>\n<p><\/p>\n<p>Meie valikukriteeriumid, peale juba mainitud (deduplication, kiire taastamine jne):<\/p>\n<p><\/p>\n<ul>\n<li>Tugevus l\u00f5petamata t\u00f6\u00f6 suhtes. Kontroll kill -9.<\/li>\n<li>Keti suurus.<\/li>\n<li>Resursside n\u00f5udlikkus (CPU, m\u00e4lu).<\/li>\n<li>Ladustatavate blobide suurus.<\/li>\n<li>T\u00f6\u00f6 S3-ga.<\/li>\n<li>Tervekuse kontroll.<\/li>\n<\/ul>\n<p><\/p>\n<p>Testimiseks v\u00f5tsime \u00fche kliendi reaalsete andmetega, mille kogusumma on 1,6TB.<br \/>\nTingimused.<\/p>\n<p><\/p>\n<p>Borg ei oska otse S3-ga t\u00f6\u00f6tada, seega montasime selle fuse-kettana, kasutades <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kahing\/goofys\">goofys<\/a><\/noindex>. Restic edastas andmed S3-sse ise.<\/p>\n<p><\/p>\n<p>Goofys t\u00f6\u00f6tab v\u00e4ga kiiresti ja t\u00f5husalt, ning sellel on <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kahing\/catfs\">diskivahendi vahem\u00e4lu<\/a><\/noindex>, mis veelgi kiirendab t\u00f6\u00f6d. See on beetaversioonis ja ausalt \u00f6eldes on meil testide jooksul olnud andmete kadumisega seonduvaid probleeme (teistes). Kuid mugavuseks ei n\u00f5ua varundamisprotseduur suurt lugemist, pigem kirjutamist, seega kasutame vahem\u00e4lu ainult andmete terviklikkuse kontrollimise ajal.<\/p>\n<p><\/p>\n<p>V\u00f5rgu m\u00f5ju v\u00e4hendamiseks kasutasime kohaliku teenusepakkuja \u2014 Yandex Cloud.<\/p>\n<p><\/p>\n<p>Testimise tulemused v\u00f5rdlemiseks.<\/p>\n<p><\/p>\n<ul>\n<li>Kill -9 ja edasine taask\u00e4ivitamine l\u00e4ksid m\u00f5lemad edukalt.<\/li>\n<li>Kettaruumi suurus. Borg suudab andmeid tihendada, seega on tulemused oodatud.<\/li>\n<\/ul>\n<p><\/p>\n<p>Varundaja<br \/>\nSuurus<\/p>\n<p>Borg<br \/>\n562Gb<\/p>\n<p>Restic<br \/>\n628Gb<\/p>\n<p><\/p>\n<ul>\n<li>CPU kohta<br \/>\nBorg ise tarbib v\u00e4he ressursse, vaikeseade tihendamisel, kuid hinnata tuleb koos goofysi protsessiga. Kokkuv\u00f5ttes on need sarnased ja kasutavad umbes 1,2 s\u00fcdamikku samal katse virtuaalmasinal.<\/li>\n<li>M\u00e4lu. Restic umbes 0,5Gb, Borg umbes 200Mb. Kuid k\u00f5ik see on ebaoluline v\u00f5rreldes s\u00fcsteemi failide vahem\u00e4luga. Seega soovitatakse anda rohkem m\u00e4lu.<\/li>\n<li>Blobi suuruse erinevus oli silmatorkav.<\/li>\n<\/ul>\n<p><\/p>\n<p>Varundaja<br \/>\nSuurus<\/p>\n<p>Borg<br \/>\numbes 500Mb<\/p>\n<p>Restic<br \/>\numbes 5Mb<\/p>\n<p><\/p>\n<ul>\n<li>Restici S3 t\u00f6\u00f6 on suurep\u00e4rane. Borgi t\u00f6\u00f6 goofys kaudu ei tekita probleeme, kuid on t\u00e4heldatud, et soovitatav on p\u00e4rast varundamise l\u00f5ppu teha umount, et t\u00e4ielikult vahem\u00e4lu vabastada. S3 t\u00f6\u00f6 erip\u00e4ra on see, et mitte\u00fclekantavaid chunk'e ei saadeta kunagi \u00e4mbrisse, mist\u00f5ttu mittet\u00e4ielikud andmed toovad kaasa suuri kahjustusi.<\/li>\n<li>K\u00f5ikide juhtumite integreerituse kontroll t\u00f6\u00f6tab h\u00e4sti, kuid kiirus erineb oluliselt.<br \/>\nRestic \u2013 <strong>3,5 tundi<\/strong>.<br \/>\nBorg, 100GB SSD failivahem\u00e4luga \u2013 <strong>5 tundi<\/strong>. Umbes sama kiirus, kui andmed asuvad kohalikul kettal.<br \/>\nBorg loeb otse S3-st ilma vahem\u00e4luta <strong>33 tundi<\/strong>. \u00dcli pikk aeg.<\/li>\n<\/ul>\n<p><\/p>\n<p>Kokkuv\u00f5ttes suudab Borg tihendada ja tal on suuremad blobid \u2014 see muudab s\u00e4ilitamise ja S3 GET\/PUT operatsioonide odavamaks. Kuid selle eest tuleb maksta keerukama ja aeglasema kontrollimisega. Mis puudutab taastamise kiirus, siis me ei t\u00e4heldanud erinevust. J\u00e4rgnevad varundamised (p\u00e4rast esimest) resticiga v\u00f5tavad veidi rohkem aega, kuid mitte oluliselt.<\/p>\n<p><\/p>\n<p>T\u00e4htis tegur valiku tegemisel oli ka kogukonna suurus.<\/p>\n<p><\/p>\n<p>Ja me valisime borgi.<\/p>\n<p><\/p>\n<h2 id=\"paru-slov-o-szhatii\">M\u00f5ned s\u00f5nad tihendamise kohta<\/h2>\n<p><\/p>\n<p>Borg'il on suurep\u00e4rane uus kompressioonalgrithm - zstd. Kompressioonikvaliteedilt ei j\u00e4\u00e4 see alla gzip'ile, kuid on oluliselt kiirem. Kiiruselt on see v\u00f5rreldav vaikimisi lz4'iga.<\/p>\n<p><\/p>\n<p>N\u00e4iteks MySQL andmebaasi dump kompressitakse umbes kaks korda paremini kui lz4 sama kiirusel. Siiski n\u00e4itab kogemus reaalsed andmetega, et Nextcloud'i node'del on kompressiooni m\u00e4\u00e4rade vahel v\u00e4ga v\u00e4he erinevusi.<\/p>\n<p><\/p>\n<p>Borg'il on \u00fcsna boonuseh mode, kus kui failil on k\u00f5rge entropia, ei rakendata kompressiooni \u00fcldse, mis kiirendab t\u00f6\u00f6protsessi. See v\u00f5imalus aktiveeritakse loomisel.<br \/>\n<code>-C auto,zstd<\/code><br \/>\nzstd algoritmiga<br \/>\nNii et selle valikuga v\u00f5rreldes vaikimisi kompressiooniga saame<br \/>\n560Gb ja 562Gb vastavalt. Eelmise n\u00e4ite andmed, tuletan meelde, kompressioonita on tulemus 628Gb. 2Gb erinevuse tulemus \u00fcllatas meid veidi, kuid otsustasime l\u00f5puks valida <code>auto,zstd<\/code>.<\/p>\n<p><\/p>\n<h2 id=\"metodika-proverki-bekapa\">Varukoopia kontrollimise meetodika<\/h2>\n<p><\/p>\n<p>S\u00fcsteem t\u00f5statab virtuaalmasina otse teenusepakkuja v\u00f5i kliendi juures, mis v\u00e4hendab oluliselt v\u00f5rgu koormust. V\u00e4hemalt on see odavam kui kasutada enda infrastruktuuri ja andmeid edastada.<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">goofys --cache \"--free:5%:\/mnt\/cache\" -o allow_other --endpoint https:\/\/storage.yandexcloud.net --file-mode=0666 --dir-mode=0777 xxxxxxx.com \/mnt\/goofys\nexport BORG_PASSCOMMAND=\"cat \/home\/borg\/.borg-passphrase\"\nborg list \/mnt\/goofys\/borg1\/\nborg check --debug -p --verify-data \/mnt\/goofys\/borg1\/<\/code><\/pre>\n<p><\/p>\n<p>Antiviiruse kontroll toimub sama skeemi alusel (tagantj\u00e4rele). L\u00f5ppude l\u00f5puks laadivad kasutajad Nextcloudi erinevaid faile ning mitte k\u00f5igil pole antiviirust. Failide kontrollimise tegemine \u00fcleslaadimise hetkel v\u00f5tab liiga palju aega ja h\u00e4irib \u00e4ritegevust.<\/p>\n<p><\/p>\n<p>Skaleeritavus saavutatakse erinevates node'ides erinevate m\u00e4rkide (tagide) abil jooksutades.<br \/>\nMeie j\u00e4lgimise s\u00fcsteemis kogutakse varukoopiate staatust l\u00e4bi GitLabi API \u00fches aknas; vajadusel on probleemid kergesti m\u00e4rgatavad ja samamoodi kergesti lahendatavad.<\/p>\n<p><\/p>\n<h2 id=\"zaklyuchenie\">Kokkuv\u00f5te<\/h2>\n<p><\/p>\n<p>Kokkuv\u00f5ttes teame, et varukoopiad tehakse, meie varukoopiad on kehtivad, nende probleemide lahendamine v\u00f5tab v\u00e4he aega ja toimub ringkonnasekret\u00e4ri tasandil. Varukoopiad v\u00f5tavad tegelikult v\u00f5rreldes tar.gz v\u00f5i Baculaga t\u00f5eliselt v\u00e4he ruumi.<\/p>\n<p>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/508758\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u044f \u0445\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u043d\u0430\u0448\u0435\u043c \u043e\u043f\u044b\u0442\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449 Nextcloud \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u0445. \u042f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0421\u0422\u041e \u0432 \u00ab\u041c\u043e\u043b\u043d\u0438\u044f \u0410\u041a\u00bb, \u0433\u0434\u0435 \u043c\u044b \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u043c\u0441\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c IT \u0441\u0438\u0441\u0442\u0435\u043c, \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f Nextcloud. \u0412 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435, \u0441 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439, \u0441 \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0432\u044b\u0442\u0435\u043a\u0430\u044e\u0449\u0438\u0435 \u0438\u0437 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u0439 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043d\u043e\u0433\u043e. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":86905,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-86904","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u044f \u0445\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u043d\u0430\u0448\u0435\u043c \u043e\u043f\u044b\u0442\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449 Nextcloud \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u0445. \u042f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0421\u0422\u041e \u0432 \u00ab\u041c\u043e\u043b\u043d\u0438\u044f \u0410\u041a\u00bb, \u0433\u0434\u0435 \u043c\u044b \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u043c\u0441\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c IT \u0441\u0438\u0441\u0442\u0435\u043c, \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f Nextcloud. \u0412 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435, \u0441 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439, \u0441 \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0432\u044b\u0442\u0435\u043a\u0430\u044e\u0449\u0438\u0435 \u0438\u0437 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u0439 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043d\u043e\u0433\u043e.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/kak-gitlab-pomogaet-delat-bekapy-bolshih-hranilishh-nextcloud\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u0430\u043a GitLab \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0434\u0435\u043b\u0430\u0442\u044c \u0431\u044d\u043a\u0430\u043f\u044b \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449 NextCloud | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u044f \u0445\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u043d\u0430\u0448\u0435\u043c \u043e\u043f\u044b\u0442\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449 Nextcloud \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u0445. \u042f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0421\u0422\u041e \u0432 \u00ab\u041c\u043e\u043b\u043d\u0438\u044f \u0410\u041a\u00bb, \u0433\u0434\u0435 \u043c\u044b \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u043c\u0441\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c IT \u0441\u0438\u0441\u0442\u0435\u043c, \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f Nextcloud. \u0412 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435, \u0441 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439, \u0441 \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0432\u044b\u0442\u0435\u043a\u0430\u044e\u0449\u0438\u0435 \u0438\u0437 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u0439 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043d\u043e\u0433\u043e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/kak-gitlab-pomogaet-delat-bekapy-bolshih-hranilishh-nextcloud\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-07-01T05:42:30+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-07-01T05:42:30+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Kuidas GitLab aitab teha suurte NextCloudi salvestuste varukoopiaid | ProHoster","description":"Tere, Habr! T\u00e4na soovin r\u00e4\u00e4kida meie kogemusest Nextcloudi suurte andmete varundamise automatiseerimisel erinevates konfiguratsioonides. Olen \u00abM\u043e\u043b\u043d\u0438\u044f \u0410\u041a\u00bb CTO, kus tegeleme IT-s\u00fcsteemide konfiguratsioonihaldusega ning andmete salvestamiseks kasutame Nextcloudi, sealhulgas jaotatud struktuuriga ning varundamisega. Probleemid tulenevad installatsioonide erip\u00e4radest, kuna andmeid on palju.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/kak-gitlab-pomogaet-delat-bekapy-bolshih-hranilishh-nextcloud","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u0430\u043a GitLab \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0434\u0435\u043b\u0430\u0442\u044c \u0431\u044d\u043a\u0430\u043f\u044b \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449 NextCloud | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u044f \u0445\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u043d\u0430\u0448\u0435\u043c \u043e\u043f\u044b\u0442\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449 Nextcloud \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u0445. \u042f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0421\u0422\u041e \u0432 \u00ab\u041c\u043e\u043b\u043d\u0438\u044f \u0410\u041a\u00bb, \u0433\u0434\u0435 \u043c\u044b \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u043c\u0441\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c IT \u0441\u0438\u0441\u0442\u0435\u043c, \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f Nextcloud. \u0412 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435, \u0441 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439, \u0441 \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0432\u044b\u0442\u0435\u043a\u0430\u044e\u0449\u0438\u0435 \u0438\u0437 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u0439 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043d\u043e\u0433\u043e.","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/kak-gitlab-pomogaet-delat-bekapy-bolshih-hranilishh-nextcloud","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-07-01T05:42:30+00:00","article:modified_time":"2020-07-01T05:42:30+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"86904","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 14:03:54","updated":"2022-10-06 09:05:46"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/86904","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=86904"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/86904\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/86905"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=86904"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=86904"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=86904"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}