{"id":74327,"date":"2020-03-16T08:42:33","date_gmt":"2020-03-16T05:42:33","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/tonkoe-rezervirovanie-fajlovyh-sistem-linux-kak-sozdavat-rabochie-kopii-trehterabajtnoj-subd-mysql-za-20-sekund"},"modified":"2020-03-16T08:42:33","modified_gmt":"2020-03-16T05:42:33","slug":"tonkoe-rezervirovanie-fajlovyh-sistem-linux-kak-sozdavat-rabochie-kopii-trehterabajtnoj-subd-mysql-za-20-sekund","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/tonkoe-rezervirovanie-fajlovyh-sistem-linux-kak-sozdavat-rabochie-kopii-trehterabajtnoj-subd-mysql-za-20-sekund","title":{"rendered":"Linuxi failis\u00fcsteemide \u00f5rn varundamine. Kuidas luua kolm terabyte MySQL andmebaasi varukoopiaid 20 sekundi jooksul","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Linuxi failis\u00fcsteemide \u00f5rn varundamine. Kuidas luua kolm terabyte MySQL andmebaasi varukoopiaid 20 sekundi jooksul\" src=\"\/wp-content\/uploads\/2020\/03\/7502785a78bd6f069913e97829ff2f63.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Minu nimi on J\u00fcri, olen s\u00fcsteemiadministreerimise grupi juht SitiMobilis. T\u00e4na jagan oma kogemusi Linuxi failis\u00fcsteemide \u00f5hukese varustamise (thin provisioning) tehnoloogia kasutamisest ning r\u00e4\u00e4gin, kuidas seda rakendada ettev\u00f5tte tehnoloogilistes CI\/CD-protsessides. Arutame olukorda, kus automaatse koodi testimise tarbeks vajame tootmisse toimetamisel nii kiiresti kui v\u00f5imalik MySQL andmebaasi koopiaid, mis on maksimaalselt l\u00e4hedased \"tootmis\" versioonile ja on lugemis- ja kirjutamisv\u00f5imelised.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3 id=\"vvedenie-zachem-davat-vrednye-sovety\">Sissejuhatus: miks anda halbu n\u00f5uandeid?<\/h3>\n<p><\/p>\n<p>M\u00f5istlik k\u00fcsimus, kuna on olemas v\u00e4lja t\u00f6\u00f6tatud andmebaaside skeemide migreerimise mehhanismid testimiskeskkondadesse. Miks raisata keskset mitte\u0161arditud andmebaasi sellistele mahtudele? Ja testimiseks ei ole k\u00f5ik andmed vajalikud. P\u00fc\u00fcan selgitada.<\/p>\n<p><\/p>\n<p>Umbes aasta tagasi, meie taksikogujate aktiivse kasvu taustal (2018. aastal kasvasime l\u00f5petatud s\u00f5itude osas umbes 15 korda), suurenes andmemaht, serverite koormus ja v\u00e4ljalaske sagedus. Sattusime j\u00e4rgmistesse olukordadesse:<\/p>\n<p><\/p>\n<ul>\n<li>Peamine MySQL andmebaas suurenes umbes 1000 tabelini, \u00fcldmahuga 2,5 TB, ja j\u00e4tkas kasvamist.<\/li>\n<li>Ei olnud v\u00f5imalik kiiresti jaguneda ja andmebaasi laiali panna. Seda ei lubanud vana l\u00e4henemine \"kirjutan andmebaasi, mida soovin ja kuidas soovin\", hulk JOIN-e ja tabelite sise s\u00f5ltuvusi.<\/li>\n<li>Ei olnud andmebaasi skeemide migratsioonide mehhanismi testkeskkondadesse.<\/li>\n<li>Ei olnud automaatset koodi testimist, kui see oli tootmisesse v\u00e4ljat\u00f6\u00f6tamisel.<\/li>\n<\/ul>\n<p><\/p>\n<p>Viimast probleemi soovisime lahendada v\u00f5imalikult kiiresti. Olid juba kirjutatud Postmani testid peamise PHP-monoliidi kontrollimiseks, kuid puudus ajakohane andmebaas. Samal ajal ei saanud me \u00f6\u00f6sel koopiat luua, muuta selle peamiseks ja anda \u00f6\u00f6sel katse jaoks: v\u00e4ga suur v\u00e4ljutuste ja muudatuste hulk, sealhulgas andmetes ja andmebaasi skeemis, muudaks stendi juba p\u00e4eva keskpaiku mittetoimivaks. Ja piirduda v\u00e4ljutustega ainult t\u00f6\u00f6p\u00e4eva jooksul oleks olnud ebaefektiivne. <\/p>\n<p><\/p>\n<p>Siiski t\u00e4ideti \u00fclesanne: esimene t\u00f6\u00f6kindel stend saime juba kahe n\u00e4dala p\u00e4rast. M\u00f6\u00f6dunud aasta jooksul on see l\u00e4binud palju muudatusi ja j\u00e4tkab kasutamist.<\/p>\n<p><\/p>\n<p>Edasi kirjeldan k\u00f5iki samme ja meie lahenduse arendamise etappe. Veendute, et see meetod v\u00e4\u00e4rtustab oma eksisteerimise \u00f5igust.<\/p>\n<p><\/p>\n<p><strong>Mis on \"\u00f5huke varundamine\"?<\/strong><br \/>\nSee on riist- v\u00f5i tarkvaratehnoloogia (teine nimi \u2014 \u00f5hukesed mahud), mis v\u00f5imaldab eraldada rohkem vajalikke ressursse, kui need tegelikult saadaval on. Erakond peab vastama just-enough (nii palju, kui vaja) ja just-in-time (vajaliku aja jooksul) kriteeriumidele. Peamiselt kasutatakse \u00f5hukest reserveerimist erinevates andmesalvestuss\u00fcsteemides, et pakkuda vajalikke kettaruume, mis \u00fcletavad tegelikult saadavail olevaid. Tehnoloogiat toetavad erinevad failis\u00fcsteemid, n\u00e4iteks LVM2, ZFS, BTRFS. Seda kasutatakse laialdaselt virtualiseerimis h\u00fcperviisorites. Meie jaoks v\u00f5imaldas \u00f5huke reserveerimine kiiresti luua p\u00f5hiosast andmetest nii palju koopiaid, kui me vajame (MySQL andmebaasi data-kataloog).<\/p>\n<p><\/p>\n<h3 id=\"pervyy-stend-tehnologiya-thin-lvm\">Esimene stend, tehnoloogia Thin LVM<\/h3>\n<p><\/p>\n<p>Seda peat\u00fckki v\u00f5ib nimetada ka \"Kuidas teha maksimaalselt kiireid snapshots suuri andmemahtude jaoks\" <noindex><a rel=\"nofollow\" href=\"http:\/\/man7.org\/linux\/man-pages\/man7\/lvmthin.7.html\">Thin LVM<\/a><\/noindex>, v\u00e4hendades failis\u00fcsteemi ja MySQL andmebaasi stabiilsust vastuv\u00f5etamatule tasemele.\" <\/p>\n<p><\/p>\n<p>Kuna oleme juba kasutanud LVM-i operatsioonis\u00fcsteemi p\u00f5hiosade loomisel, otsustasime alustada just sellest. Esmalt vajasime eraldi f\u00fc\u00fcsilist masinat \u2013 meie MySQL p\u00f5hivara koopia, mille peal saaksime n\u00f5udmise korral luua koopia sisendi ja t\u00f5sta selle k\u00f5rvale eraldi MySQL eksemplariks. Testimise ajaks lubasime sellel eksemplaril teha muutvaid operatsioone, ja testide l\u00f5ppedes eemaldasime selle edukalt. Serveri konfiguratsioon oli j\u00e4rgmine:<\/p>\n<p><\/p>\n<ul>\n<li>2 x Intel Silver 4114 (10&#215;2,2 \u0413\u0413\u0446 HT)<\/li>\n<li>8 x 32 GB DDR4 <\/li>\n<li>8 x 1920 GB Intel SSD RAID-kontroller Adapteci RAID-10 puhul<\/li>\n<\/ul>\n<p><\/p>\n<p>RAID-kontrolleri ja tarkvararaidi MD valimise teemal v\u00f5iks kirjutada eraldi artikli. \u00dctlen vaid, et meie valikule m\u00f5jutasid kaks tegurit:<\/p>\n<p><\/p>\n<ul>\n<li>Probleemi p\u00fcstitamise ajal paigaldasime k\u00f5ik andmebaasihaldurid RAID-kontrolleritele, seega v\u00f5ib \u00f6elda, et see on ajalooliselt selline olnud. <\/li>\n<li>Tootlikkuse erinevus s\u00fcnteetilistes failis\u00fcsteemi testides ja erinevate operatsioonidega MySQL testides oli minimaalne. <\/li>\n<\/ul>\n<p><\/p>\n<p>Oleme jaganud RAID-10: kokkupanekuks on loodud \u00fcks Volume Group (VG) kogu maht (ligikaudu 6,7 GB halduskuludega) ning loonud olekuosa (Logical Volume, LV) s\u00fcsteemile suurusega 50 GB. Tavalistes olukordades m\u00e4\u00e4rame kogu \u00fclej\u00e4\u00e4nud ruumi MySQL jao jaoks. Kuid meil oli vaja d\u00fcnaamilist varundamist, seega loodi k\u00f5igepealt nn pool, mille sees loodi jao \/var\/lib\/mysql jaoks suurusega 3,5 TB (eeldatavate andmebaaside mahtude p\u00f5hjal):<\/p>\n<p><\/p>\n<pre><code class=\"bash\">lvcreate -l 100%FREE -T vga\/thin\nlvcreate -V 3.5T -T vga\/thin -n mysql<\/code><\/pre>\n<p><\/p>\n<p>Formatime jao ext4 formaatides, monteerime selle, salvestame koopia ja saame algse seista. Seej\u00e4rel loome API, mis peaks looma salvestused, t\u00f5stma MySQL andmebaasi eksemplari m\u00e4\u00e4ratud pordil ja kustutama loodud eksemplari. Kuna kasutatakse ainult s\u00fcsteemi kutseid, valisime skriptikeeleks tavap\u00e4rase bash'i ning API sidumiseks HTTP \u2192 bash kasutame avatud l\u00e4htekoodiga lahendust. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/phonkee\/goexpose\">goexpose<\/a><\/noindex>, kirjutatud Go keeles. <\/p>\n<p><\/p>\n<p>Millalgi avaldame oma bash-skripti avatud l\u00e4htekoodis, aga praegu kirjeldan lihtsalt p\u00f5hialgoritmi:<\/p>\n<p><\/p>\n<p>P\u00f5hjaliku salvestuse loomine snapmain:<\/p>\n<p><\/p>\n<ol>\n<li>Peame p\u00f5hikopia peatama.<\/li>\n<li>Seame blokeering snapshot'i snapmain'i operatsioonidele.<\/li>\n<li>Loome uue snapshot'i snapmain.<\/li>\n<li>K\u00e4ivitame MySQL ja eemaldame blokeeringu.<\/li>\n<\/ol>\n<p><\/p>\n<p>Andmebaasi loomine suvalisel pordil snapmain'ist:<\/p>\n<p><\/p>\n<ol>\n<li>Seame blokeeringu konkreetsele andmebaasi eksemplarile (port).<\/li>\n<li>Kontrollime, kas peamise snapshot'i loomise blokeering on olemas. Kui see on olemas, siis ootame ja kontrollime uuesti iga 5 sekundi tagant.<\/li>\n<li>Kontrollime, kas eksemplaril on vana LV-maht.<br \/>\n3.1 Kui on, siis peatame MySQL eksemplari kill -9 abil ja eemaldame LV-mahu.<\/li>\n<li>Loome snapmain'ist uue eksemplari.<\/li>\n<li>Valmistame ja monteerime direktorid selle eksemplari jaoks.<\/li>\n<li>Eemaldame slaavi m\u00e4rgid (failid) ja k\u00e4ivitame MySQL eksemplari.<\/li>\n<li>Teeme temast master'i.<\/li>\n<li>Eemaldame blokeeringu.<\/li>\n<\/ol>\n<p><\/p>\n<p>Andmebaasi eemaldamine suvalisel pordil:<\/p>\n<p><\/p>\n<ol>\n<li>Seame blokeeringu konkreetsele andmebaasi eksemplarile (port).<\/li>\n<li>Tapame MySQL eksemplari kill -9 abil.<\/li>\n<li>Eemaldame direktorid monteeringust.<\/li>\n<li>Kustutame LV-mahu ja l\u00f5petame blokeeringu.<\/li>\n<\/ol>\n<p><\/p>\n<p>N\u00e4idisk\u00e4sklused uue andmebaasi eksemplari osade kloonimiseks:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">lvcreate -n stage_3307 -s vga\/snapmain\nlvchange -ay -K vga\/stage_3307\nmount -o noatime,nodiratime,data=writeback \/dev\/mapper\/vga-stage_3307 \/mnt\/stage_3307<\/code><\/pre>\n<p><\/p>\n<p>N\u00fc\u00fcd r\u00e4\u00e4gin peamisest probleemist, millega me kokku puutusime \u00f5hukese varundamise kasutamisel. Sattusime SSD-diskide j\u00f5udluse piirangutesse. See juhtus Thin LVM-i omaduste t\u00f5ttu: see opereerib madalama taseme seadme tasemel, kasutades vaikimisi 4 MB suuruseid l\u00f5ike. Kuidas see v\u00e4lja n\u00e4gi:<\/p>\n<p><\/p>\n<ol>\n<li>Loome snapsi peamisest jaotisest \/var\/lib\/mysql.<\/li>\n<li>K\u00e4ivitame replikatsiooni, et j\u00f5uda meistrini.<\/li>\n<li>Iga muudatus replikatsioonis tabelites sunnib salvestama vanad, muutmata andme l\u00f5igud snapsi jaotises.<\/li>\n<li>Iga muudatus t\u00f5stetud testinstantsis sunnib salvestama vanad, muutmata andme l\u00f5igud kloonitud snapsi jaotises selle instantsi jaoks.<\/li>\n<li>Saame 100% sisend-v\u00e4ljund operatsioonide koormuse seadmele, aeglustades igasuguseid toiminguid ja p\u00f5hjustades aeglase replikatsiooni.<\/li>\n<li>T\u00f6\u00f6p\u00e4eva l\u00f5puks saame mitme tunni v\u00f5rra maha j\u00e4\u00e4nud keskkonna.<\/li>\n<\/ol>\n<p><\/p>\n<p>Kuidas me sellega v\u00f5itlesime, et saada arvestatavaid tulemusi (peamised punktid):<\/p>\n<p><\/p>\n<p>RAID-kontroller:<\/p>\n<p><\/p>\n<ul>\n<li>Kuidas me k\u00f5ik vaikel\u00fclituse cache'id v\u00e4lja l\u00fclitasime. <\/li>\n<li>Seadsime writeback'i (kui andmed satuvad vahem\u00e4llu, l\u00f5petatakse kirjutamine enne, kui tegelik salvestamine kettale toimub).<\/li>\n<\/ul>\n<p><\/p>\n<p>Failis\u00fcsteem:<\/p>\n<p><\/p>\n<ul>\n<li>M\u00e4ntsid jaotuses \/var\/lib\/mysql <em>noatime,nodiratime,data=writeback<\/em><\/li>\n<li>V\u00e4lja l\u00fclitatud ext4 logimine k\u00e4suga tune2fs.<\/li>\n<\/ul>\n<p><\/p>\n<p>MySQL:<\/p>\n<p><\/p>\n<ul>\n<li>Seadsime <em>innodb_flush_method = O_DSYNC<\/em> (suurendasime kirjutamise kiirus, v\u00e4hendades seega usaldusv\u00e4\u00e4rsust).<\/li>\n<li>L\u00fclitasime logimise v\u00e4lja, logid pole meile vajalikud.<\/li>\n<li>Seadsime <em>innodb_buffer_pool_size = 4G<\/em> (mida v\u00e4iksem on InnoDB basaari suurus, seda kiiremini MySQL peatub, ja seda kiiremini saame luua snapshots'i).<\/li>\n<\/ul>\n<p><\/p>\n<p>See ei ole kaugel t\u00e4ielik nimekiri, eriti MySQL'i osas. Siiski, \u00fclej\u00e4\u00e4nud muudatused on v\u00e4iksemad ja sageli mitte alati ja mitte t\u00e4pselt rakendatavad. N\u00e4iteks, et v\u00e4hendada ketaste koormust, viisime isegi <em>innodb_parallel_doublewrite_path<\/em> \/dev\/shm, mis m\u00f5nes olukorras, kui algatatud eksemplar ei olnud korrektselt l\u00f5petatud, s\u00e4\u00e4stis meile kuni 5 sekundit.<\/p>\n<p><\/p>\n<p>Miks me peatame MySQL enne, kui teeme snapshot'i? Me v\u00f5ime selle teha t\u00f6\u00f6tava replikaga. See on t\u00f5si, kuid snapshot'i alusel loodud uue andmebaasi eksemplar loetakse vaikimisi rikutuks ja k\u00e4ivitamisel n\u00f5uab see t\u00e4ielikku skaneerimist. Replikat peatada on kindlasti kiiremini, kuigi see on l\u00f5puks kogu protsessi jaoks k\u00f5ige pikem tegevus.<\/p>\n<p><\/p>\n<p>Kokkuv\u00f5ttes saavutasime vastuv\u00f5etavamad ajad ja t\u00f6\u00f6valmis keskkonna. Kuigi nagu n\u00e4ha peamise replikatsiooni viivituse k\u00f5ige r\u00e4\u00e4gib graafik, on olukord veel kaugel ideaalist:<br \/>\n<img decoding=\"async\" alt=\"Linuxi failis\u00fcsteemide \u00f5rn varundamine. Kuidas luua kolm terabyte MySQL andmebaasi varukoopiaid 20 sekundi jooksul\" src=\"\/wp-content\/uploads\/2020\/03\/9bb7bb7d9abfea124a75616deec57f05.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Teistest puudustest tasub m\u00e4rkida, et Thin LVM basseini j\u00e4lgimine on praktiliselt v\u00f5imatu: s\u00fcsteemi standardsete funktsioonide iostat k\u00f5rval, on n\u00e4iteks raske m\u00f5ista, milline basseini komponent hetkel kasutab failis\u00fcsteemile k\u00f5ige rohkem ressursse.<\/p>\n<p><\/p>\n<p>\u00dcks suur puudus, mis on seotud eespool kirjeldatud optimeerimisega, v\u00e4\u00e4rib eraldi mainimist: me saime YOLO-seisundi. Umbes kord kuus v\u00f5i kahe kuu jooksul ei pidanud ext4 selliseid r\u00fcnnakuid vastu ja purunes p\u00f6\u00f6rdumatult, n\u00f5udes \u00fcmbervormingut ja varukoopia taastamist. Kiirusest v\u00f5itnud, h\u00e4vitasime me lootusetult stabiilsuse.<\/p>\n<p><\/p>\n<p>Milliseid m\u00f5\u00f5dikuid j\u00e4lgida Thin LVM-i kasutamisel:<\/p>\n<p><\/p>\n<ul>\n<li>\u00d5huke mahuti andmete %<\/li>\n<li>\u00d5huke mahuti metaandmete %<\/li>\n<\/ul>\n<p><\/p>\n<p>Kui meie seisund suudab l\u00e4bi elada andmete l\u00f5puni j\u00f5udmise (piisab lihtsalt ketaste puhastamisest), siis metaandmete l\u00f5puni j\u00f5udmine toob kaasa kogu mahuti kokku kukkumise ja selle nullist uuesti loomise vajaduse.<\/p>\n<p><\/p>\n<p>Failis\u00fcsteem mahutis fragmenteerub aja jooksul v\u00e4ga tugevalt. Soovitan igap\u00e4evaselt k\u00e4ivitada croniga k\u00e4sku <em>fstrim -v \/var\/lib\/mysql<\/em>.<\/p>\n<p><\/p>\n<p>Vahekokkuv\u00f5tted:<\/p>\n<p><\/p>\n<ul>\n<li>Tehnoloogiat on lihtne rakendada, samuti ka LVM-i, ning see ei n\u00f5ua insenerilt erilisi oskusi.<\/li>\n<li>See sobib h\u00e4sti v\u00e4ikese ja mitte liiga koormatud andmebaasi jaoks. Mida v\u00e4iksem on andmebaas, seda v\u00e4hem osakesi liigub failis\u00fcsteemis mahuti sees, ja seda madalam on koormus kettale.<\/li>\n<li>Meie eesm\u00e4rgiks oli leida teisi lahendusi, millest juttu tuleb j\u00e4rgmises jaos.<\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"vtoroy-stend-tehnologiya-zfs\">Teine keskkond, tehnoloogia ZFS<\/h3>\n<p><\/p>\n<p>Aegade alguses olen tegelenud failis\u00fcsteemiga ZFS, kuid toona toimis ZFS t\u00f5eliselt h\u00e4sti oma p\u00f5his operatsioonis\u00fcsteemidel Solaris. Postitamine FreeBSD-le oli piisavalt hea tasemega. Samuti oli olemas pooleliolev Linuxi port, mida kasutas v\u00e4he inimesi. Andmestruktuuri t\u00f5ttu B-tree (\u00fchtlasi selline struktuur nagu InnoDB MySQL-l) ei n\u00e4idanud ZFS v\u00e4ga h\u00e4id tulemusi installatsioonides, kus oli v\u00e4ga suur hulk faile. K\u00f5ik see koos vajadusega \u00f5ppida tehnikat enne kasutamist t\u00f5rjus selle failis\u00fcsteemi pikaajaliselt minu praktikast v\u00e4lja. Ilmusid ext4 ja xfs, mis said standardiks. Arvestades, et ZFS sobib meie \u00fclesande jaoks enam kui h\u00e4sti, ja ka Linuxi versioon, l\u00e4htudes tagasisidest, on kasvanud t\u00e4iesti arvestatavaks tooteks (kuigi mitte t\u00e4ieliku toe all, mist\u00f5ttu s\u00fcsteemi t\u00e4ielik paigaldamine ZFS-ile on v\u00f5imalik ainult erinevate trikidega), otsustasime selle proovida.<\/p>\n<p><\/p>\n<p>Selge p\u00f5hjusel valiti sarnase konfiguratsiooniga stend (v\u00e4lja arvatud RAID-kontroller). Paigaldasime kaheksa SSD-d 1920 Gb mahuga. Ei olnud soov kirjutada oma v\u00f5rgupilti serveri paigaldamiseks puhtale ZFS-ile, seega v\u00f5tsime igast kettast 50 Gb ja tegime neist MD RAID-10 s\u00fcsteemi jaoks. \u00dclej\u00e4\u00e4nud 1950 Gb igas kettas liideti ZFS analooge RAID-10:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">zpool create zpool mirror \/dev\/sda2 \/dev\/sdb2 mirror \/dev\/sdc2 \/dev\/sdd2 mirror \/dev\/sde2 \/dev\/sdf2 mirror \/dev\/sdg2 \/dev\/sdh2<\/code><\/pre>\n<p><\/p>\n<p>Loomisel on osad MySQL jaoks:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">zfs create zpool\/mysql\nzfs set compression=gzip zpool\/mysql\nzfs set recordsize=128k zpool\/mysql\nzfs set atime=off zpool\/mysql\nzfs create zpool\/mysql\/data\nzfs set recordsize=16k zpool\/mysql\/data\nzfs set primarycache=metadata zpool\/mysql\/data\nzfs set mountpoint=\/var\/lib\/mysql zpool\/mysql\/data<\/code><\/pre>\n<p><\/p>\n<p>Pange t\u00e4hele, et oleme sisse l\u00fclitanud tavalise gzip andmete kokkusurumise. Meie serveris on palju protsessoriv\u00f5imsust ja need ei ole t\u00e4ielikult kasutatud. Tulemuseks on 3 Tb meie andmebaasist muutusid 1,6 Tb-ks, ja kuna n\u00f5rk koht, nagu eelmisel korral, on diskide maksimaalne j\u00f5udlus, siis mida v\u00e4hem andmeid, seda parem \u2014 me saame ZFS-ist algusest peale suurep\u00e4rase boonuse! Tipptunnil, t\u00e4ielikul koormusel v\u00f5ib gzip toimimine n\u00f5uda kuni 4 tuuma, aga me ei kahetse.<\/p>\n<p><\/p>\n<p>Edasi l\u00e4ks rakendamine kiiremini. MySQL replika s\u00e4tete kopeerimiseks viidi need LVM-stendilt. Kulutasime veidi aega skriptide \u00fcmberkirjutamiseks ZFS k\u00e4skudeks, kuid \u00fcldiselt j\u00e4id algoritmid samaks. N\u00e4ide snapshot\u2019i loomise kohta:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">zfs set snapdir=visible zpool\/mysql\/data\nzfs create zpool\/stage_3307\nzfs clone zpool\/mysql\/data@snapmain zpool\/stage_3307\/data\nzfs set mountpoint=\/mnt\/stage_3307 zpool\/stage_3307\/data<\/code><\/pre>\n<p><\/p>\n<p>T\u00e4iendavaks s\u00e4\u00e4tmiseks: viidi ZFS-osad koos metainformatsiooni ja logidega m\u00e4llu l2arc ja zil. Meie \u00fclesande jaoks, nagu hiljem selgus, osutus see \u00fcleliigseks, kuid oleme seni j\u00e4tnud selle optimeerimise, vajadusel on lihtne muuta. Negatiivsete m\u00f5jude seas \u2014 p\u00e4rast serveri taask\u00e4imist tuleb vastavad m\u00e4lualad uuesti luua. Andmed ei kao. Zpooli staatuse v\u00e4ljav\u00f5te:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">logs\n      \/dev\/shm\/zil_slog.img  ONLINE       0     0     0\ncache\n      \/dev\/shm\/l2arc.img     ONLINE       0     0     0<\/code><\/pre>\n<p><\/p>\n<p>Sellise konfiguratsiooniga hakkasime testima stendi ja saime suurep\u00e4raseid tulemusi: kahel korraga t\u00f6\u00f6taval andmebaasi eksemplaril (ja aktiivse peamise replikaga) snapshot\u2019idel n\u00e4gime ketaste koormust 50-60%.<\/p>\n<p><\/p>\n<p>Me oleme lahti saanud oma peamisest probleemist, mis kajastub replikatsiooni viivituse graafikus (v\u00f5rrelge varasema graafikuga Thin LVM jaotises):<br \/>\n<img decoding=\"async\" alt=\"Linuxi failis\u00fcsteemide \u00f5rn varundamine. Kuidas luua kolm terabyte MySQL andmebaasi varukoopiaid 20 sekundi jooksul\" src=\"\/wp-content\/uploads\/2020\/03\/15df9283838a4662ff0f68accfde4089.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Sellest hoolimata ja t\u00e4nu sellele oleme k\u00f5igis tegevustes m\u00e4rgatavalt kiiruselt paranenud: t\u00e4ielik snapshot'i loomine koos replika peatamise ja taask\u00e4ivitamisega v\u00f5tab kuni 40 sekundit, snapshot'ist uue MySQL instantsi juurutamine v\u00f5tab kuni 20 sekundit. See on rohkem kui rahuldav nii meie kui ka meie tarkvaratesti jaoks.<\/p>\n<p><\/p>\n<p>Vahekokkuv\u00f5tted:<\/p>\n<p><\/p>\n<ul>\n<li>Tulemused rahuldasid t\u00e4ielikult meie vajadust saada testimiskoodiks t\u00f6\u00f6andmebaasi koopia.<\/li>\n<li>Tehnoloogia n\u00f5uab sisenemist: tuleb aru saada, mis on ZFS ja kuidas sellega t\u00f6\u00f6tada.<\/li>\n<li>Me ei ole kontrollinud ZFS praegust olekut suurte (\u00fcle 1 miljoni) v\u00e4ikese faili korral. Kuid arvame, et probleem p\u00fcsib, seet\u00f5ttu ei soovitaks ma seda failis\u00fcsteemi mingiteks failide salvestamiseks.<\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"chto-dalshe\">Mis edasi?<\/h3>\n<p><\/p>\n<p>Stendi kontekstis ei ole me enam midagi muutnud, tulemus on meid rahuldanud. Tulevikus v\u00f5ib-olla lisame stendi replikatsiooni seadistusse tabelite erandeid, mis ei ole testimiseks vajalikud, mis veelgi v\u00e4hendaks andmebaasi mahtu. Me ei ole testinud BTRFS s\u00fcsteemi ning selle rakendust \u00f5hukese varundamise tehnoloogias. Siiski, see \u00fclesanne ei seisa enam, kuna peamine eesm\u00e4rk on saavutatud. \u00dcldiselt on loomulikult soov kaugemale liikuda eelkirjeldatud l\u00e4henemisest \u2014 ellu viia t\u00f6\u00f6tavad andmebaasi migratsioonid testkeskkonda, luua eraldi testimise andmebaasi kontuur, tegeleda p\u00f5hivaba jagamisega. Paljusid neist me juba ellu viime, millest r\u00e4\u00e4gime kindlasti tulevastes artiklites. <\/p>\n<p><\/p>\n<h3 id=\"itogi\">Kokkuv\u00f5te<\/h3>\n<p><\/p>\n<p>Algne \u00fclesanne on lahendatud, kuigi ebatavalisel viisil. Vahekokkuv\u00f5tetes on kirjeldatud iga rakendatud tehnoloogia eeliseid ja puudusi, seega otsustame, millist tehnikat ja millal on m\u00f5istlik kasutada:<\/p>\n<p><\/p>\n<ul>\n<li>\u00d5huke LVM \u2014 v\u00e4ikeste andmebaaside puhul ja kui ei soovi v\u00f5i ei ole aega ZFS-i uurimiseks.<\/li>\n<li>ZFS \u2014 kui on kogemus selle kasutamisest v\u00f5i v\u00f5imalus kulutada aega selle \u00f5ppimisele igas olukorras. <\/li>\n<\/ul>\n<p><\/p>\n<p>K\u00f5rgemal tasandil ei ole see artikkel mitte ainult kahe failis\u00fcsteemi tehnoloogia v\u00f5rdlus. Peamine idee, mille ma tahan edastada ja kinnistada, on see, et ei ole m\u00f5tet karta ebatraditsiooniliselt m\u00f5elda \u00e4ri kriitilistes olukordades ja v\u00f5tta kasutusele ainult valmis retseptid. Kunagi v\u00f5isime kogu tehnilise osakonna j\u00f5ududega pead raputada ja \u00f6elda, et kolme terabaidi andmebaasi koopia loomine v\u00e4hem kui minutiga on v\u00f5imatu ning me ei vaja riskantseid tehnoloogiaid, teeme nagu peab. See oli v\u00f5imalik, kuid oleksime kaotanud umbes kuus kuud kuni aasta ning palju kliendireise (reisid on meie peamine \u00e4ritulemus) ilma katseteta ja rakendamise ajal. Erakordset l\u00e4henemist kasutades ei kulutanud me rakendamiseks nii palju aega, saime kogemusi uute ja unustatud vanade tehnoloogiate osas ning pakkusime testimist just siis, kui me seda t\u00f5eliselt vajasime. Kahtlemata avaldas see meie n\u00e4itajatele positiivset m\u00f5ju. Valik on alati teie, ja meie j\u00e4tkame oma blogis huvitavate praeguste ja tulevaste saavutuste jagamist.<\/p>\n<p>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/citymobil\/blog\/492172\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u042e\u0440\u0438\u0439, \u044f \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c \u0433\u0440\u0443\u043f\u043f\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u0421\u0438\u0442\u0438\u043c\u043e\u0431\u0438\u043b. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043f\u043e\u0434\u0435\u043b\u044e\u0441\u044c \u043e\u043f\u044b\u0442\u043e\u043c \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0435\u0439 \u0442\u043e\u043d\u043a\u043e\u0433\u043e \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f (thin provisioning) \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c Linux \u0438 \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u043a\u0430\u043a \u0435\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0432 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 CI\/CD-\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u0445 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438. \u041c\u044b \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e, \u043a\u043e\u0433\u0434\u0430 \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u0434\u0430 \u043f\u0440\u0438 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0435 \u0435\u0433\u043e \u0432 production \u043d\u0430\u043c \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b \u043a\u043e\u043f\u0438\u0438 \u0411\u0414 MySQL, \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":74328,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-74327","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=\"\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u042e\u0440\u0438\u0439, \u044f \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c \u0433\u0440\u0443\u043f\u043f\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u0421\u0438\u0442\u0438\u043c\u043e\u0431\u0438\u043b. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043f\u043e\u0434\u0435\u043b\u044e\u0441\u044c \u043e\u043f\u044b\u0442\u043e\u043c \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0435\u0439 \u0442\u043e\u043d\u043a\u043e\u0433\u043e \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f (thin provisioning) \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c Linux \u0438 \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u043a\u0430\u043a \u0435\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0432 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 CI\/CD-\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u0445 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438. \u041c\u044b \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e, \u043a\u043e\u0433\u0434\u0430 \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u0434\u0430 \u043f\u0440\u0438 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0435 \u0435\u0433\u043e \u0432 production \u043d\u0430\u043c \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b \u043a\u043e\u043f\u0438\u0438 \u0411\u0414 MySQL, \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\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\/tonkoe-rezervirovanie-fajlovyh-sistem-linux-kak-sozdavat-rabochie-kopii-trehterabajtnoj-subd-mysql-za-20-sekund\" \/>\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\u0422\u043e\u043d\u043a\u043e\u0435 \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c Linux. \u041a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0440\u0430\u0431\u043e\u0447\u0438\u0435 \u043a\u043e\u043f\u0438\u0438 \u0442\u0440\u0435\u0445\u0442\u0435\u0440\u0430\u0431\u0430\u0439\u0442\u043d\u043e\u0439 \u0421\u0423\u0411\u0414 MySQL \u0437\u0430 20 \u0441\u0435\u043a\u0443\u043d\u0434 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u042e\u0440\u0438\u0439, \u044f \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c \u0433\u0440\u0443\u043f\u043f\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u0421\u0438\u0442\u0438\u043c\u043e\u0431\u0438\u043b. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043f\u043e\u0434\u0435\u043b\u044e\u0441\u044c \u043e\u043f\u044b\u0442\u043e\u043c \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0435\u0439 \u0442\u043e\u043d\u043a\u043e\u0433\u043e \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f (thin provisioning) \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c Linux \u0438 \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u043a\u0430\u043a \u0435\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0432 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 CI\/CD-\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u0445 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438. \u041c\u044b \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e, \u043a\u043e\u0433\u0434\u0430 \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u0434\u0430 \u043f\u0440\u0438 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0435 \u0435\u0433\u043e \u0432 production \u043d\u0430\u043c \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b \u043a\u043e\u043f\u0438\u0438 \u0411\u0414 MySQL, \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/tonkoe-rezervirovanie-fajlovyh-sistem-linux-kak-sozdavat-rabochie-kopii-trehterabajtnoj-subd-mysql-za-20-sekund\" \/>\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-03-16T05:42:33+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-16T05:42:33+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\udd47Linuxi failis\u00fcsteemide \u00f5huke varundamine. Kuidas luua kolme terabaidi MySQL andmebaasi t\u00f6\u00f6koopiaid 20 sekundiga | ProHoster","description":"Minu nimi on Juri, ma olen s\u00fcsteemiadministreerimise meeskonna juht ettev\u00f5ttes Sitimobil. T\u00e4na jagan kogemusi Linuxi failis\u00fcsteemide \u00f5hukese varundamise (thin provisioning) tehnoloogia kasutamisest ning r\u00e4\u00e4gin, kuidas seda saab rakendada ettev\u00f5tte tehnoloogilistes CI\/CD-protsessides. K\u00f5neleme olukorrast, kus automaatset kodeerimist testimiseks on vaja production'isse toimetamisel v\u00f5imalikult kiiresti MySQL andmebaasi koopiaid.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/tonkoe-rezervirovanie-fajlovyh-sistem-linux-kak-sozdavat-rabochie-kopii-trehterabajtnoj-subd-mysql-za-20-sekund","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\u0422\u043e\u043d\u043a\u043e\u0435 \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c Linux. \u041a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0440\u0430\u0431\u043e\u0447\u0438\u0435 \u043a\u043e\u043f\u0438\u0438 \u0442\u0440\u0435\u0445\u0442\u0435\u0440\u0430\u0431\u0430\u0439\u0442\u043d\u043e\u0439 \u0421\u0423\u0411\u0414 MySQL \u0437\u0430 20 \u0441\u0435\u043a\u0443\u043d\u0434 | ProHoster","og:description":"\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u042e\u0440\u0438\u0439, \u044f \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c \u0433\u0440\u0443\u043f\u043f\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u0421\u0438\u0442\u0438\u043c\u043e\u0431\u0438\u043b. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043f\u043e\u0434\u0435\u043b\u044e\u0441\u044c \u043e\u043f\u044b\u0442\u043e\u043c \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0435\u0439 \u0442\u043e\u043d\u043a\u043e\u0433\u043e \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f (thin provisioning) \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c Linux \u0438 \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u043a\u0430\u043a \u0435\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0432 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 CI\/CD-\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u0445 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438. \u041c\u044b \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e, \u043a\u043e\u0433\u0434\u0430 \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u0434\u0430 \u043f\u0440\u0438 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0435 \u0435\u0433\u043e \u0432 production \u043d\u0430\u043c \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b \u043a\u043e\u043f\u0438\u0438 \u0411\u0414 MySQL, \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/tonkoe-rezervirovanie-fajlovyh-sistem-linux-kak-sozdavat-rabochie-kopii-trehterabajtnoj-subd-mysql-za-20-sekund","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-03-16T05:42:33+00:00","article:modified_time":"2020-03-16T05:42:33+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"74327","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 18:16:23","updated":"2022-10-01 23:42:57"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/74327","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=74327"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/74327\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/74328"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=74327"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=74327"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=74327"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}