{"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\/sq\/blog\/administrirovanie\/tonkoe-rezervirovanie-fajlovyh-sistem-linux-kak-sozdavat-rabochie-kopii-trehterabajtnoj-subd-mysql-za-20-sekund","title":{"rendered":"Rezervimi i holl\u00eb i sistemeve t\u00eb skedar\u00ebve Linux. Si t\u00eb krijoni kopje rezerv\u00eb t\u00eb nj\u00eb SGBD MySQL prej tre terabajt\u00ebsh p\u00ebr 20 sekonda","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Rezervimi i holl\u00eb i sistemeve t\u00eb skedar\u00ebve Linux. Si t\u00eb krijoni kopje rezerv\u00eb t\u00eb nj\u00eb SGBD MySQL prej tre terabajt\u00ebsh p\u00ebr 20 sekonda\" src=\"\/wp-content\/uploads\/2020\/03\/7502785a78bd6f069913e97829ff2f63.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>M\u00eb quajn\u00eb Yuri, jam drejtues i grupit t\u00eb administrat\u00ebs s\u00eb sistemeve n\u00eb Sitimobil. Sot do t\u00eb ndaj p\u00ebrvoj\u00ebn time me teknologjin\u00eb e rezervoar\u00ebve t\u00eb holl\u00eb (thin provisioning) p\u00ebr sistemet e skedar\u00ebve Linux dhe do t\u00eb flas p\u00ebr si mund t\u00eb aplikohet kjo n\u00eb proceset teknologjike CI\/CD t\u00eb kompanis\u00eb. Do t\u00eb shqyrtojm\u00eb situat\u00ebn kur p\u00ebr testimin automatik t\u00eb kodit n\u00eb dor\u00ebzimin n\u00eb production, na nevojiten sa m\u00eb shpejt kopjet e DB MySQL, t\u00eb cilat jan\u00eb sa m\u00eb t\u00eb af\u00ebrt me versionin 'live', t\u00eb disponueshme p\u00ebr lexim dhe shkrim.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3 id=\"vvedenie-zachem-davat-vrednye-sovety\">Hyrje: Pse t\u00eb japim k\u00ebshilla t\u00eb d\u00ebmshme?<\/h3>\n<p><\/p>\n<p>Nj\u00eb pyetje logjike, pasi ka mekanizma t\u00eb provuar p\u00ebr migrimin e skemave t\u00eb DB n\u00eb ambientet testuese. Pse t\u00eb arrijm\u00eb n\u00eb k\u00ebt\u00eb volum me t\u00eb dh\u00ebnat e SGB-s\u00eb jo t\u00eb ndara? T\u00eb dh\u00ebnat e plota nuk jan\u00eb t\u00eb nevojshme p\u00ebr testim. Do t\u00eb p\u00ebrpiqem ta shpjegoj.<\/p>\n<p><\/p>\n<p>Rreth nj\u00eb vit m\u00eb par\u00eb, n\u00eb sfondin e rritjes aktive t\u00eb agregatorit ton\u00eb t\u00eb taksive (n\u00eb vitin 2018 u rrit\u00ebm rreth 15 her\u00eb n\u00eb udh\u00ebt e p\u00ebrfunduara), u rrit\u00ebn volumet e t\u00eb dh\u00ebnave, ngarkesa n\u00eb servera, dhe frekuenca e lan\u00e7imeve. Ne u gjet\u00ebm n\u00eb situat\u00ebn e m\u00ebposhtme:<\/p>\n<p><\/p>\n<ul>\n<li>DB kryesore MySQL u rrit n\u00eb rreth 1000 tabela, me nj\u00eb volum total prej 2.5 TB dhe vazhdonte t\u00eb rritet.<\/li>\n<li>Nuk kishte mund\u00ebsi p\u00ebr t\u00eb shp\u00ebrndar\u00eb shpejt dhe p\u00ebr t\u00eb shp\u00ebrndar\u00eb baz\u00ebn. Kjo nuk e lejonte qasja e vjet\u00ebr \u00abpo shkruaj n\u00eb baz\u00eb \u00e7far\u00eb dua dhe si dua\u00bb, shum\u00eb JOIN's dhe var\u00ebsi t\u00eb brendshme t\u00eb tabelave.<\/li>\n<li>Nuk kishte nj\u00eb mekaniz\u00ebm p\u00ebr migrimin e skem\u00ebs s\u00eb DB n\u00eb ambientet testuese.<\/li>\n<li>Nuk kishte testim automatik t\u00eb kodit gjat\u00eb l\u00ebshimit n\u00eb prodhim.<\/li>\n<\/ul>\n<p><\/p>\n<p>Problemin e fundit doja ta zgjidhja sa m\u00eb shpejt t\u00eb ishte e mundur. Testet Postman ishin tashm\u00eb shkruar p\u00ebr t\u00eb kontrolluar monolitin kryesor PHP, por mungonte nj\u00eb baz\u00eb t\u00eb dh\u00ebnash aktuale. Nd\u00ebrkoh\u00eb, nuk mund t\u00eb krijonim nj\u00eb replik\u00eb gjat\u00eb nat\u00ebs, ta b\u00ebnim master dhe t\u2019ia jepnim p\u00ebr t\u2019u p\u00ebrdorur gjat\u00eb dit\u00ebs: numri i madh i l\u00ebshimeve dhe ndryshimeve, p\u00ebrfshir\u00eb t\u00eb dh\u00ebnat dhe skem\u00ebn e DB, do ta b\u00ebnte platform\u00ebn jo funksionale q\u00eb n\u00eb mes t\u00eb dit\u00ebs. Dhe gjithashtu, do t\u00eb ishte joefikas t\u00eb kufizohej l\u00ebshimi vet\u00ebm n\u00eb dit\u00ebn e pun\u00ebs. <\/p>\n<p><\/p>\n<p>Megjithat\u00eb, detyra u p\u00ebrfundua: ne mor\u00ebm platform\u00ebn e par\u00eb funksionale brenda dy jav\u00ebsh. Gjat\u00eb vitit t\u00eb kaluar ajo ka p\u00ebrjetuar shum\u00eb ndryshime dhe vazhdon t\u00eb p\u00ebrdoret.<\/p>\n<p><\/p>\n<p>M\u00eb posht\u00eb do t\u00eb p\u00ebrshkruaj n\u00eb detaje t\u00eb gjitha hapat dhe fazat e zhvillimit t\u00eb zgjidhjes son\u00eb. Do t\u00eb bindeni se kjo metod\u00eb meriton t\u00eb ekzistoj\u00eb.<\/p>\n<p><\/p>\n<p><strong>\u00c7far\u00eb \u00ebsht\u00eb \u00abrezervimi i holl\u00eb\u00bb?<\/strong><br \/>\nKjo \u00ebsht\u00eb nj\u00eb teknologji harduerike ose softuerike (emri tjet\u00ebr \u2014 volumet sparse), q\u00eb lejon alokimin e nj\u00eb sasie m\u00eb t\u00eb madhe t\u00eb burimeve t\u00eb nevojshme se sa ato q\u00eb jan\u00eb n\u00eb dispozicion. N\u00eb t\u00eb nj\u00ebjt\u00ebn koh\u00eb, volumi i alokuar duhet t\u00eb p\u00ebrmbush\u00eb kriteret just-enough (aq sa duhet) dhe just-in-time (n\u00eb koh\u00ebn e nevojshme). Kryesisht, rezervimi i holl\u00eb aplikohet n\u00eb Sistemet e Ruajtjes, p\u00ebr t\u00eb ofruar hap\u00ebsir\u00eb diskore n\u00eb sasi q\u00eb tejkalojn\u00eb ato q\u00eb jan\u00eb n\u00eb fakt t\u00eb disponueshme. Teknologjia mb\u00ebshtetet nga sisteme t\u00eb ndryshme skedare, p\u00ebr shembull, LVM2, ZFS, BTRFS. Ajo \u00ebsht\u00eb p\u00ebrdorur gjer\u00ebsisht n\u00eb hipervizor\u00ebt e virtualizimit. Rezervimi i holl\u00eb na lejon t\u00eb krijojm\u00eb shpejt kopje t\u00eb seksionit kryesor t\u00eb t\u00eb dh\u00ebnave nga snapshot-et, aq kopje sa na nevojitet (direktoria data e DBMS MySQL).<\/p>\n<p><\/p>\n<h3 id=\"pervyy-stend-tehnologiya-thin-lvm\">Stenda e par\u00eb, teknologjia Thin LVM<\/h3>\n<p><\/p>\n<p>Kjo kapitull mund t\u00eb quhet gjithashtu \"Si t\u00eb krijoni snapshot-e t\u00eb shpejt\u00eb me sasi t\u00eb m\u00ebdha t\u00eb t\u00eb dh\u00ebnave me an\u00eb t\u00eb <noindex><a rel=\"nofollow\" href=\"http:\/\/man7.org\/linux\/man-pages\/man7\/lvmthin.7.html\">Thin LVM<\/a><\/noindex>\", duke e ulur stabilitetin e sistemit skedar dhe t\u00eb DBMS MySQL n\u00eb tregues t\u00eb papranuesh\u00ebm. <\/p>\n<p><\/p>\n<p>Duke kemi p\u00ebrdorur tashm\u00eb LVM p\u00ebr t\u00eb nd\u00ebrtuar seksionet kryesore t\u00eb OS-it, vendos\u00ebm t\u00eb fillojm\u00eb me t\u00eb. Fillimisht, na nevojitej nj\u00eb makin\u00eb fizike e ve\u00e7ant\u00eb \u2014 nj\u00eb replike e baz\u00ebs son\u00eb kryesore MySQL, n\u00eb t\u00eb cil\u00ebn mund t\u00eb krijonim nj\u00eb snapshot t\u00eb replik\u00ebs dhe ta ngrinim at\u00eb si nj\u00eb instanc\u00eb t\u00eb ve\u00e7ant\u00eb MySQL. Gjat\u00eb testimit, lejuam q\u00eb operacionet e ndryshimit t\u00eb p\u00ebrdoreshin n\u00eb k\u00ebt\u00eb instanc\u00eb, dhe pas p\u00ebrfundimit t\u00eb testeve e fshihnim me sukses. Konfigurimi i serverit ishte ky:<\/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 n\u00eb RAID-kontroller Adaptec n\u00eb RAID-10<\/li>\n<\/ul>\n<p><\/p>\n<p>Mund t\u00eb shkruhet nj\u00eb artikull i ve\u00e7ant\u00eb mbi zgjedhjen midis RAID-kontrollerit dhe RAID-it programor MD. Do t\u00eb thosha vet\u00ebm se dy faktor\u00eb ndikuan n\u00eb zgjedhjen ton\u00eb:<\/p>\n<p><\/p>\n<ul>\n<li>N\u00eb koh\u00ebn e caktimit t\u00eb k\u00ebsaj detyre, ne gjithmon\u00eb instalonim DBMS n\u00eb RAID-kontroller\u00eb, prandaj mund t\u00eb thuhet se ka ndodhur historikisht k\u00ebshtu. <\/li>\n<li>Dallimi n\u00eb performanc\u00eb n\u00eb testet sintetike t\u00eb sistemit t\u00eb skedar\u00ebve dhe n\u00eb testet me operacione t\u00eb ndryshme n\u00eb MySQL ishte minimal. <\/li>\n<\/ul>\n<p><\/p>\n<p>Ne kemi ndar\u00eb RAID-10 q\u00eb kemi krijuar: formuam nj\u00eb grup volumesh t\u00eb vet\u00ebm (VG) p\u00ebr t\u00eb gjith\u00eb kapacitetin (me shpenzime t\u00eb zakonshme rreth 6.7 GB) dhe krijuam nj\u00eb ndarje logjike (Logical Volume, LV) p\u00ebr sistemin me 50 GB. N\u00eb nj\u00eb situat\u00eb normale, pjesa tjet\u00ebr e hap\u00ebsir\u00ebs p\u00ebrcaktohet p\u00ebr ndarjen e MySQL. Por, na duhej rezervimi i holl\u00eb, prandaj fillimisht krijuam nj\u00eb quajtur pool, brenda t\u00eb cilit krijuam nj\u00eb ndarje p\u00ebr \/var\/lib\/mysql me 3.5 TB (duke u bazuar n\u00eb volumin e parashikuar t\u00eb baz\u00ebs s\u00eb t\u00eb dh\u00ebnave):<\/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>Formatuam ndarjen n\u00eb ext4, e montuam, shkruam replik\u00ebn dhe mor\u00ebm k\u00ebrkes\u00ebn fillestare. Pastaj krijuam nj\u00eb nd\u00ebrfaqe n\u00eb form\u00ebn e API, e cila duhet t\u00eb krijoj\u00eb snapshots, t\u00eb ngrej\u00eb nj\u00eb instanc\u00eb MySQL n\u00eb portin e caktuar dhe t\u00eb fshij\u00eb instanc\u00ebn e krijuar. Duke qen\u00eb se p\u00ebrdoren vet\u00ebm thirrje sistemike, si gjuh\u00eb p\u00ebr t\u00eb shkruar skenar\u00eb zgjodh\u00ebm bash-in e zakonsh\u00ebm, dhe p\u00ebr lidhjen e API-s\u00eb HTTP \u2192 bash zhvilluam nj\u00eb zgjidhje open source. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/phonkee\/goexpose\">goexpose<\/a><\/noindex>, e shkruar n\u00eb Go. <\/p>\n<p><\/p>\n<p>Nj\u00eb dit\u00eb do t'i publikojm\u00eb skenaret tan\u00eb n\u00eb open source, por tani po e p\u00ebrshkruaj algoritmin kryesor:<\/p>\n<p><\/p>\n<p>Krijimi i snapshotit kryesor snapmain:<\/p>\n<p><\/p>\n<ol>\n<li>Ndalim replik\u00ebn kryesore.<\/li>\n<li>Vendosim bllokimin e operacioneve me snapshotin snapmain.<\/li>\n<li>Krijojm\u00eb nj\u00eb snapshot t\u00eb ri snapmain.<\/li>\n<li>Nisim MySQL dhe heqim bllokimin.<\/li>\n<\/ol>\n<p><\/p>\n<p>Krijimi i DB n\u00eb port t\u00eb rast\u00ebsish\u00ebm nga snapmain:<\/p>\n<p><\/p>\n<ol>\n<li>Vendosim bllokimin p\u00ebr nj\u00eb instanc\u00eb t\u00eb caktuar t\u00eb DB (port).<\/li>\n<li>Kontrollojm\u00eb p\u00ebr pranin\u00eb e bllokimit t\u00eb krijimit t\u00eb snapshot-it kryesor. N\u00ebse \u00ebsht\u00eb e pranishme, presim dhe kontrollojm\u00eb p\u00ebrs\u00ebri \u00e7do 5 sekonda.<\/li>\n<li>Kontrollojm\u00eb n\u00ebse ekziston nj\u00eb LV-particion i vjet\u00ebr t\u00eb instanc\u00ebs.<br \/>\n3.1 N\u00ebse ekziston, ndalojm\u00eb instanc\u00ebn MySQL me ndihm\u00ebn e kill -9 dhe fshijm\u00eb LV-particionin.<\/li>\n<li>Krijojm\u00eb nj\u00eb instanc\u00eb t\u00eb re nga snapmain.<\/li>\n<li>P\u00ebrgatitim dhe montojm\u00eb direktoret p\u00ebr k\u00ebt\u00eb instanc\u00eb.<\/li>\n<li>Heqim shenjat e slay-it (skedaret) dhe nisim instanc\u00ebn MySQL.<\/li>\n<li>E b\u00ebjm\u00eb at\u00eb master.<\/li>\n<li>Heqim bllokimin.<\/li>\n<\/ol>\n<p><\/p>\n<p>Fshirja e DB n\u00eb port t\u00eb rast\u00ebsish\u00ebm:<\/p>\n<p><\/p>\n<ol>\n<li>Vendosim bllokimin p\u00ebr nj\u00eb instanc\u00eb t\u00eb caktuar t\u00eb DB (port).<\/li>\n<li>Vrasim instanc\u00ebn MySQL me ndihm\u00ebn e kill -9.<\/li>\n<li>Heqim montimet e direktoreve.<\/li>\n<li>Fshijm\u00eb LV-particionin dhe heqim bllokimin.<\/li>\n<\/ol>\n<p><\/p>\n<p>Shembuj komandash p\u00ebr klonimin e particioneve t\u00eb instanc\u00ebs s\u00eb re t\u00eb DB:<\/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>Tani do t'ju tregoj p\u00ebr problemin kryesor me t\u00eb cilin p\u00ebrball\u00ebm nga p\u00ebrdorimi i rezervimit t\u00eb holl\u00eb. Dola n\u00eb performanc\u00ebn e disqeve SSD. Kjo ndodhi p\u00ebr shkak t\u00eb ve\u00e7orive t\u00eb Thin LVM: ajo n\u00eb thelb operon n\u00eb nivelin e pajisjes me blloqe t\u00eb nivelit t\u00eb ul\u00ebt me nj\u00eb madh\u00ebsi prej 4 MB si default. Si dukej kjo:<\/p>\n<p><\/p>\n<ol>\n<li>Krijojm\u00eb nj\u00eb snapshot nga seksioni kryesor \/var\/lib\/mysql.<\/li>\n<li>Nisim replikimin p\u00ebr t\u00eb arritur masterin.<\/li>\n<li>\u00c7do ndryshim n\u00eb tabelat e replik\u00ebs b\u00ebn q\u00eb t\u00eb ruajm\u00eb blloqet e vjetra dhe t\u00eb paprekura t\u00eb t\u00eb dh\u00ebnave n\u00eb seksionin e snapshot-it.<\/li>\n<li>\u00c7do ndryshim n\u00eb instanc\u00ebn e testit t\u00eb ngjitur b\u00ebn q\u00eb t\u00eb ruajm\u00eb blloqet e vjetra dhe t\u00eb paprekura t\u00eb t\u00eb dh\u00ebnave n\u00eb seksionin e snapshot-it t\u00eb klonuar p\u00ebr k\u00ebt\u00eb instanc\u00eb.<\/li>\n<li>Marrim ngarkes\u00eb t\u00eb operacioneve t\u00eb hyrjes-daljes n\u00eb 100% n\u00eb pajisje, ngadal\u00ebsim t\u00eb \u00e7do operacioni dhe nj\u00eb vones\u00eb t\u00eb gradualshme t\u00eb replik\u00ebs.<\/li>\n<li>N\u00eb fund t\u00eb dit\u00ebs s\u00eb pun\u00ebs, marrim nj\u00eb sken\u00eb t\u00eb vonuar me disa or\u00eb pas.<\/li>\n<\/ol>\n<p><\/p>\n<p>Si e luftuam k\u00ebt\u00eb p\u00ebr t\u00eb marr\u00eb nj\u00eb rezultat m\u00eb t\u00eb arsyesh\u00ebm (pikat kryesore):<\/p>\n<p><\/p>\n<p>RAID-kontrolleri:<\/p>\n<p><\/p>\n<ul>\n<li>\u00c7aktivizuam t\u00eb gjitha llojet e caching n\u00eb m\u00ebnyr\u00eb t\u00eb paracaktuar. <\/li>\n<li>Kemi aktivizuar writeback (kur t\u00eb dh\u00ebnat hyn\u00eb n\u00eb buffer, shkrimi p\u00ebrfundon para se ruajtja e v\u00ebrtet\u00eb n\u00eb disk t\u00eb kryhet).<\/li>\n<\/ul>\n<p><\/p>\n<p>Sistema e skedar\u00ebve:<\/p>\n<p><\/p>\n<ul>\n<li>N\u00eb pik\u00ebn e montimit \/var\/lib\/mysql kemi shkruar <em>noatime,nodiratime,data=writeback<\/em><\/li>\n<li>Fiku regjistrimin ext4 me an\u00eb t\u00eb tune2fs.<\/li>\n<\/ul>\n<p><\/p>\n<p>MySQL:<\/p>\n<p><\/p>\n<ul>\n<li>Kemi shkruar <em>innodb_flush_method = O_DSYNC<\/em> (p\u00ebrmir\u00ebsuam shpejt\u00ebsin\u00eb e shkrimit, duke zvog\u00ebluar k\u00ebshtu besueshm\u00ebrin\u00eb).<\/li>\n<li>Fiku regjistrimin, log-et nuk na duhen.<\/li>\n<li>Kemi shkruar <em>innodb_buffer_pool_size = 4G<\/em> (sa m\u00eb e vog\u00ebl t\u00eb jet\u00eb madh\u00ebsia e pool-it InnoDB, aq m\u00eb shpejt do t\u00eb mbyllet MySQL gjat\u00eb ndaljes, dhe aq m\u00eb shpejt do t\u00eb krijojm\u00eb nj\u00eb snapshot).<\/li>\n<\/ul>\n<p><\/p>\n<p>Ky \u00ebsht\u00eb vet\u00ebm nj\u00eb list\u00eb parciale, sidomos p\u00ebr MySQL. Megjithat\u00eb, ndryshimet e tjera jan\u00eb minor dhe shpesh nuk ose nuk aplikohen sakt\u00ebsisht. P\u00ebr shembull, n\u00eb tentativ\u00ebn p\u00ebr t\u00eb leht\u00ebsuar disk\u00ebt, ne madje e kemi marr\u00eb <em>innodb_parallel_doublewrite_path<\/em> n\u00eb \/dev\/shm, q\u00eb n\u00eb disa raste gjat\u00eb nisjes s\u00eb nj\u00eb instance t\u00eb pap\u00ebrfunduar na kursente deri n\u00eb 5 sekonda.<\/p>\n<p><\/p>\n<p>Pse e ndalnim MySQL para se t\u00eb b\u00ebjm\u00eb nj\u00eb snapshot? Sepse mund ta marrim at\u00eb nga nj\u00eb replik\u00eb e pun\u00ebs. E gjith\u00eb kjo \u00ebsht\u00eb e v\u00ebrtet\u00eb, por vet\u00eb instanca e re e DB n\u00eb k\u00ebt\u00eb snapshot do t\u00eb konsiderohet e d\u00ebmtuar nga parazgjedhja dhe do t\u00eb k\u00ebrkoj\u00eb nj\u00eb skanim t\u00eb plot\u00eb gjat\u00eb nisjes. T\u00eb ndalosh replik\u00ebn \u00ebsht\u00eb padyshim m\u00eb e shpejt\u00eb, megjithat\u00eb, kjo n\u00eb fund \u00ebsht\u00eb operacioni m\u00eb i gjat\u00eb n\u00eb t\u00eb gjith\u00eb procesin.<\/p>\n<p><\/p>\n<p>Si rezultat, ne arrit\u00ebm koha m\u00eb t\u00eb pranueshme dhe nj\u00eb ambient t\u00eb gatsh\u00ebm p\u00ebr pun\u00eb. Megjithat\u00eb, si\u00e7 tregohet nga grafiku m\u00eb ilustrues i vones\u00ebs s\u00eb replikimit t\u00eb replik\u00ebs kryesore, situata ende \u00ebsht\u00eb shum\u00eb larg idealit:<br \/>\n<img decoding=\"async\" alt=\"Rezervimi i holl\u00eb i sistemeve t\u00eb skedar\u00ebve Linux. Si t\u00eb krijoni kopje rezerv\u00eb t\u00eb nj\u00eb SGBD MySQL prej tre terabajt\u00ebsh p\u00ebr 20 sekonda\" src=\"\/wp-content\/uploads\/2020\/03\/9bb7bb7d9abfea124a75616deec57f05.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Nga mang\u00ebsit\u00eb e tjera, duhet t\u00eb theksohet pamund\u00ebsia praktike e monitorimit t\u00eb Pool-it Thin LVM: p\u00ebrve\u00e7 funksioneve standarde t\u00eb sistemit si iostat, \u00ebsht\u00eb e pamundur t\u00eb kuptosh, p\u00ebr shembull, cili element i pool-it po prodhon tani ngarkes\u00ebn m\u00eb t\u00eb madhe n\u00eb sistemin e skedave.<\/p>\n<p><\/p>\n<p>Nj\u00eb mang\u00ebsi e madhe q\u00eb merret parasysh p\u00ebr optimizimin e p\u00ebrmendur m\u00eb sip\u00ebr \u00ebsht\u00eb se ne kemi marr\u00eb nj\u00eb YOLO-stand. Rreth nj\u00eb her\u00eb n\u00eb nj\u00eb deri n\u00eb dy muaj, ext4 nuk e p\u00ebrballonte nj\u00eb abuzim t\u00eb till\u00eb dhe thyhej n\u00eb m\u00ebnyr\u00eb t\u00eb pakthyeshme, duke k\u00ebrkuar formatim dhe rinovim t\u00eb replik\u00ebs. E fituam shpejt\u00ebsin\u00eb, por shkat\u00ebrruam stabilitetin e pashpres\u00eb.<\/p>\n<p><\/p>\n<p>Cilat metrika duhen monitoruar gjat\u00eb operimit t\u00eb Thin LVM:<\/p>\n<p><\/p>\n<ul>\n<li>P\u00ebrqindja e t\u00eb dh\u00ebnave t\u00eb pishin\u00ebs s\u00eb holl\u00eb<\/li>\n<li>P\u00ebrqindja e metadatat e pishin\u00ebs s\u00eb holl\u00eb<\/li>\n<\/ul>\n<p><\/p>\n<p>N\u00ebse vendi i p\u00ebrfunduar p\u00ebr t\u00eb dh\u00ebna e p\u00ebrballon standin ton\u00eb (mjafton t\u00eb pastrohen disk\u00ebt), vendi i p\u00ebrfunduar p\u00ebr metadatat do t\u00eb \u00e7oj\u00eb n\u00eb shembjen e plot\u00eb t\u00eb pishin\u00ebs dhe nevoj\u00ebn p\u00ebr ta krijuar nga fillimi.<\/p>\n<p><\/p>\n<p>Sistemi i skedar\u00ebve brenda pishin\u00ebs fragmentohet shum\u00eb me kalimin e koh\u00ebs. Rekomandoj q\u00eb \u00e7do dit\u00eb t\u00eb ekzekutohet nj\u00eb komand\u00eb nga cron <em>fstrim -v \/var\/lib\/mysql<\/em>.<\/p>\n<p><\/p>\n<p>P\u00ebrfundimet nd\u00ebrmjet\u00ebse:<\/p>\n<p><\/p>\n<ul>\n<li>Teknologjia \u00ebsht\u00eb e leht\u00eb p\u00ebr t'u zbatuar, si dhe vet\u00eb LVM, dhe nuk k\u00ebrkon kualifikim t\u00eb ve\u00e7ant\u00eb p\u00ebr inxhinier\u00ebt.<\/li>\n<li>Ajo \u00ebsht\u00eb e p\u00ebrshtatshme p\u00ebr DB-t\u00eb e vogla dhe jo shum\u00eb t\u00eb ngarkuara. Sa m\u00eb e vog\u00ebl t\u00eb jet\u00eb DB, aq m\u00eb pak \u00e7onka do t\u00eb l\u00ebvizin n\u00eb sistemin e skedar\u00ebve brenda pishin\u00ebs, dhe sa m\u00eb e ul\u00ebt \u00ebsht\u00eb ngarkesa n\u00eb disk.<\/li>\n<li>P\u00ebr problemin ton\u00eb, filluam t\u00eb k\u00ebrkojm\u00eb zgjidhje t\u00eb tjera, p\u00ebr t\u00eb cilat do t\u00eb flasim n\u00eb seksionin n\u00eb vijim.<\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"vtoroy-stend-tehnologiya-zfs\">Standi i dyt\u00eb, teknologjia ZFS<\/h3>\n<p><\/p>\n<p>Dikur kam pasur t\u00eb b\u00ebj me sistemin e skedar\u00ebve ZFS, por at\u00ebher\u00eb ZFS funksiononte mir\u00eb n\u00eb familjen e saj t\u00eb sistemit operativ Solaris. Ekzistonte nj\u00eb version i portuar n\u00eb FreeBSD me nj\u00eb nivel t\u00eb mjaftuesh\u00ebm implementimi. Po ashtu kishte nj\u00eb port t\u00eb pap\u00ebrfunduar n\u00eb Linux, t\u00eb cilin shum\u00eb pak njer\u00ebz e p\u00ebrdornin. P\u00ebr shkak t\u00eb struktur\u00ebs s\u00eb ruajtjes s\u00eb t\u00eb dh\u00ebnave B-tree (n\u00eb t\u00eb v\u00ebrtet\u00eb, e nj\u00ebjta struktur\u00eb ruajtjeje e ka edhe InnoDB MySQL), ZFS ka d\u00ebshtuar n\u00eb instalimet me nj\u00eb num\u00ebr shum\u00eb t\u00eb madh skedar\u00ebsh. T\u00eb gjitha k\u00ebto, p\u00ebrve\u00e7 nevoj\u00ebs p\u00ebr t\u00eb m\u00ebsuar materialin themelor para p\u00ebrdorimit, e p\u00ebrjashtuan k\u00ebt\u00eb sistem skedash nga praktika ime p\u00ebr nj\u00eb koh\u00eb t\u00eb gjat\u00eb. U shfaq\u00ebn ext4 dhe xfs, t\u00eb cilat u b\u00ebn\u00eb standard. Megjithat\u00eb, duke marr\u00eb parasysh se ZFS p\u00ebrshtatet m\u00eb shum\u00eb se mir\u00eb p\u00ebr nevojat tona, dhe versioni i Linux, sipas koment\u00ebve, \u00ebsht\u00eb rritur n\u00eb nj\u00eb produkt t\u00eb arsyesh\u00ebm (edhe pse jo me mb\u00ebshtetje t\u00eb plot\u00eb, p\u00ebr k\u00ebt\u00eb arsye sistemi mund t\u00eb vendoset n\u00eb ZFS plot\u00ebsisht nga e para vet\u00ebm me ndihm\u00ebn e disa manovrave), ne vendos\u00ebm ta provojm\u00eb.<\/p>\n<p><\/p>\n<p>P\u00ebr arsye t\u00eb qarta, u zgjodh nj\u00eb stend\u00eb me konfigurim t\u00eb ngjash\u00ebm (p\u00ebrve\u00e7 kontrolluesit RAID). Instaluan tet\u00eb disqe SSD prej 1920 GB. Nuk kishte d\u00ebshir\u00eb t\u00eb shkruanin imazhin e rrjetit t\u00eb tyre p\u00ebr t\u00eb ngarkuar serverin mbi ZFS t\u00eb pap\u00ebrpunuar, prandaj mor\u00ebm nga t\u00eb gjith\u00eb disqet 50 GB dhe b\u00ebm\u00eb nj\u00eb RAID-10 MD p\u00ebr sistemin. 1950 GB t\u00eb mbetur n\u00eb secilin disk u bashkuan n\u00eb nj\u00eb ZFS t\u00eb ngjash\u00ebm me 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>Krijuam particione p\u00ebr MySQL:<\/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>Vini re se kemi aktivizuar kompresimin e t\u00eb dh\u00ebnave gzip. Burimet procesor\u00ebve n\u00eb serverin ton\u00eb jan\u00eb t\u00eb shumta dhe nuk p\u00ebrdoren plot\u00ebsisht. Si rezultat, 3 TB e DB-s\u00eb son\u00eb u shnd\u00ebrruan n\u00eb 1,6 TB, dhe meqen\u00ebse pika e dob\u00ebt, ashtu si n\u00eb rastin e kaluar, \u00ebsht\u00eb performanca maksimale e disqeve, aq m\u00eb pak t\u00eb dh\u00ebna \u2014 aq m\u00eb mir\u00eb, ne q\u00eb n\u00eb fillim marrim nj\u00eb bonus t\u00eb shk\u00eblqyer nga ZFS! N\u00eb or\u00ebt e pikut, n\u00ebn ngarkes\u00eb t\u00eb plot\u00eb, ruajtja e funksionimit t\u00eb gzip merr deri n\u00eb 4 b\u00ebrthama, por nuk na shqet\u00ebson.<\/p>\n<p><\/p>\n<p>Implementimi vazhdoi m\u00eb shpejt. U kopjua konfigurimi i replik\u00ebs MySQL nga stenda LVM. Duhej t\u00eb kalonim nj\u00eb koh\u00eb t\u00eb caktuar p\u00ebr t\u00eb shkruar p\u00ebrs\u00ebri skriptet n\u00eb komandat ZFS, por n\u00eb p\u00ebrgjith\u00ebsi algorithmet mbet\u00ebn t\u00eb nj\u00ebjta. Shembujt p\u00ebr krijimin e nj\u00eb snapshot-i:<\/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>Nga tuning suplementar: nxorr\u00ebm n\u00eb memorjen e seksioneve ZFS me metadatat dhe logjete l2arc dhe zil. P\u00ebr detyr\u00ebn ton\u00eb, si\u00e7 u pranua m\u00eb von\u00eb, kjo ishte e tep\u00ebrt, por deri tani e kemi l\u00ebn\u00eb k\u00ebt\u00eb optimizim; duke e ndryshuar n\u00eb rast se \u00ebsht\u00eb e nevojshme, nuk \u00ebsht\u00eb e v\u00ebshtir\u00eb. Nga efektet negative - pas rinisjes s\u00eb serverit duhet t\u00eb krijojm\u00eb p\u00ebrs\u00ebri p\u00ebrfshij p\u00ebrkat\u00ebse t\u00eb memorjes. T\u00eb dh\u00ebnat n\u00eb k\u00ebt\u00eb rast nuk humbasin. Shkurtimi i zpool status:<\/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>N\u00eb k\u00ebt\u00eb konfigurim filluam t\u00eb testojm\u00eb stend\u00ebn dhe mor\u00ebm rezultate t\u00eb shk\u00eblqyera: me dy instanca t\u00eb DB q\u00eb punonin nj\u00ebkoh\u00ebsisht (dhe replik\u00ebn kryesore aktive) n\u00eb snapshot-e, fituam ngarkes\u00eb t\u00eb disqeve prej 50-60 %.<\/p>\n<p><\/p>\n<p>Ne kemi eliminuar problemin ton\u00eb kryesor, i cili \u00ebsht\u00eb i duksh\u00ebm n\u00eb grafik\u00ebn e vones\u00ebs s\u00eb riprodhimit (krahasuar me grafik\u00ebn e m\u00ebparshme n\u00eb seksionin Thin LVM):<br \/>\n<img decoding=\"async\" alt=\"Rezervimi i holl\u00eb i sistemeve t\u00eb skedar\u00ebve Linux. Si t\u00eb krijoni kopje rezerv\u00eb t\u00eb nj\u00eb SGBD MySQL prej tre terabajt\u00ebsh p\u00ebr 20 sekonda\" src=\"\/wp-content\/uploads\/2020\/03\/15df9283838a4662ff0f68accfde4089.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>P\u00ebrve\u00e7 k\u00ebsaj dhe fal\u00eb k\u00ebsaj ne kemi p\u00ebrshpejtuar ndjesh\u00ebm t\u00eb gjitha operacionet: krijimi i plot\u00eb i snapshot-it me ndalimin dhe rip\u00ebrtritjen e riprodhimit zgjat deri n\u00eb 40 sekonda, nd\u00ebrsa shp\u00ebrndarja e nj\u00eb instance t\u00eb re MySQL nga snapshot-i zgjat deri n\u00eb 20 sekonda. Kjo na k\u00ebnaq si neve, ashtu dhe testet tona t\u00eb kodit.<\/p>\n<p><\/p>\n<p>P\u00ebrfundimet nd\u00ebrmjet\u00ebse:<\/p>\n<p><\/p>\n<ul>\n<li>Rezultatet plot\u00ebsuan plot\u00ebsisht nevojat tona p\u00ebr marrjen e nj\u00eb kopjeje t\u00eb baz\u00ebs s\u00eb t\u00eb dh\u00ebnave prodhuese p\u00ebr testingun e kodit.<\/li>\n<li>Teknologjia k\u00ebrkon njohuri: duhet t\u00eb kuptohet se \u00e7far\u00eb \u00ebsht\u00eb ZFS dhe si t\u00eb punohet me t\u00eb.<\/li>\n<li>Nuk e kemi kontrolluar statusin aktual t\u00eb pun\u00ebs s\u00eb ZFS me nj\u00eb num\u00ebr t\u00eb madh (nga 1 milion) skedar\u00ebsh t\u00eb vegj\u00ebl. Por supozojm\u00eb q\u00eb problemi vazhdon t\u00eb egzistoj\u00eb, prandaj nuk do ta rekomandoja k\u00ebt\u00eb sistem skedar\u00ebsh p\u00ebr ndonj\u00eb depo t\u00eb skedar\u00ebve.<\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"chto-dalshe\">\u00c7far\u00eb ndodh m\u00eb tej?<\/h3>\n<p><\/p>\n<p>N\u00eb kuad\u00ebr t\u00eb stend\u00ebs nuk do t\u00eb b\u00ebjm\u00eb asgj\u00eb tjet\u00ebr, rezultati na k\u00ebnaq. Ndoshta n\u00eb vijim do t\u00eb shtojm\u00eb n\u00eb cil\u00ebsimin e replikimit t\u00eb stend\u00ebs p\u00ebrjashtimet e tabelave q\u00eb nuk jan\u00eb t\u00eb nevojshme p\u00ebr testim, kjo do ta reduktoj\u00eb akoma m\u00eb shum\u00eb volumet e DB-s\u00eb. Nuk e kemi testuar sistemin BTRFS dhe implementimin e tij t\u00eb teknologjis\u00eb t\u00eb rezervimit t\u00eb holl\u00eb. Megjithat\u00eb, nj\u00eb detyr\u00eb e till\u00eb nuk \u00ebsht\u00eb m\u00eb n\u00eb rendin e dit\u00ebs, pasi q\u00ebllimi kryesor \u00ebsht\u00eb arritur. P\u00ebrgjith\u00ebsisht, sigurisht, d\u00ebshirojm\u00eb t\u00eb largohemi nga qasja e p\u00ebrshkruar m\u00eb lart \u2014 t\u00eb realizojm\u00eb migrime funksionale t\u00eb DB-s\u00eb n\u00eb ambientin e testimit, t\u00eb krijojm\u00eb nj\u00eb rreth t\u00eb ve\u00e7ant\u00eb testimi t\u00eb DB-s\u00eb, t\u00eb merremi me sharding-un e baz\u00ebs kryesore. Shum\u00eb nga k\u00ebto tashm\u00eb po i realizojm\u00eb, p\u00ebr t\u00eb cilat gjithsesi do t\u2019i raportojm\u00eb n\u00eb artikujt e ardhsh\u00ebm. <\/p>\n<p><\/p>\n<h3 id=\"itogi\">P\u00ebrfundimet<\/h3>\n<p><\/p>\n<p>Detyra fillestare \u00ebsht\u00eb zgjidhur, ndon\u00ebse n\u00eb nj\u00eb m\u00ebnyr\u00eb t\u00eb pazakont\u00eb. N\u00eb p\u00ebrfundimet nd\u00ebrmjet\u00ebse jan\u00eb p\u00ebrshkruar avantazhet dhe disavantazhet e \u00e7do teknologjie t\u00eb aplikuar, prandaj le t\u00eb vendosim se cila teknologji dhe kur mund t\u00eb p\u00ebrdoret:<\/p>\n<p><\/p>\n<ul>\n<li>Thin LVM \u2014 p\u00ebr DB t\u00eb vogla dhe kur nuk d\u00ebshirojm\u00eb ose nuk kemi koh\u00eb t\u00eb m\u00ebsojm\u00eb ZFS.<\/li>\n<li>ZFS \u2014 n\u00ebse kemi p\u00ebrvoj\u00eb n\u00eb punimin me t\u00eb ose mund\u00ebsin\u00eb p\u00ebr t\u00eb shpenzuar koh\u00eb p\u00ebr t\u00eb m\u00ebsuar n\u00eb t\u00eb gjitha situatat. <\/li>\n<\/ul>\n<p><\/p>\n<p>N\u00eb nj\u00eb nivel m\u00eb t\u00eb lart\u00eb t\u00eb p\u00ebrfaq\u00ebsimit, ky artikull nuk \u00ebsht\u00eb thjesht nj\u00eb krahasim i teknologjive t\u00eb dy sistemeve t\u00eb skedar\u00ebve. Ideja kryesore q\u00eb do doja t\u00eb p\u00ebr\u00e7oja dhe konsolidoja \u00ebsht\u00eb se nuk duhet t\u00eb kemi frik\u00eb nga mendimi jasht\u00eb kutis\u00eb n\u00eb situatat kritike p\u00ebr biznesin dhe t\u00eb marrim vet\u00ebm receta t\u00eb gatshme. Nj\u00ebher\u00eb mund t\u00eb kishim goditur kok\u00ebn me t\u00eb gjith\u00eb departamentin teknik dhe t\u00eb thoshim se detyra e krijimit t\u00eb kopjeve t\u00eb dh\u00ebnash prej tre terabajtesh p\u00ebr m\u00eb pak se nj\u00eb minut\u00eb \u00ebsht\u00eb e pamundur, dhe nuk na duhen teknologji t\u00eb rrezikshme, le t\u00eb b\u00ebjm\u00eb si\u00e7 duhet. Kjo ishte e mundur, por do t\u00eb kishim humbur about gjasht\u00eb muaj-nj\u00eb vit dhe shum\u00eb udh\u00ebtime klient\u00ebsh (udh\u00ebtimet jan\u00eb indikator\u00ebt tan\u00eb kryesor\u00eb t\u00eb biznesit) pa teste dhe gjat\u00eb zbatimit. Duke menduar ndryshe, humb\u00ebm jo kaq shum\u00eb koh\u00eb n\u00eb zbatim, fituam p\u00ebrvoje n\u00eb teknologji t\u00eb reja dhe t\u00eb harxhuara, dhe ofruam teste pik\u00ebrisht n\u00eb momentin kur kishim shum\u00eb nevoj\u00eb p\u00ebr to. Pa dyshim, kjo kishte nj\u00eb efekt pozitiv n\u00eb t\u00eb gjitha treguesit tan\u00eb. Zgjedhja \u00ebsht\u00eb gjithmon\u00eb e juaja, nd\u00ebrsa ne nga ana jon\u00eb do t\u00eb vazhdojm\u00eb t\u00eb flasim n\u00eb blogun ton\u00eb mbi arritjet interesante aktuale dhe t\u00eb ardhshme.<\/p>\n<p>Burimi: <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\/sq\/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=\"sq_AL\" \/>\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\/sq\/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\udd47Rezervimi i holl\u00eb i sistemeve t\u00eb skedar\u00ebve Linux. Si t\u00eb krijoni kopje rezerv\u00eb t\u00eb nj\u00eb databaze MySQL tre terabajt\u00ebsh p\u00ebr 20 sekonda | ProHoster","description":"M\u00eb quajn\u00eb Yuri, jam udh\u00ebheq\u00ebsi i grupit t\u00eb administrat\u00ebs s\u00eb sistemeve n\u00eb Sitimobil. Sot do t\u00eb ndaj p\u00ebrvoj\u00ebn time me teknologjin\u00eb e rezervimit t\u00eb holl\u00eb (thin provisioning) t\u00eb sistemeve t\u00eb skedar\u00ebve Linux dhe do t\u00eb flas se si mund t\u00eb aplikohet kjo n\u00eb proceset teknologjike CI\/CD t\u00eb kompanis\u00eb. Do t\u00eb shqyrtojm\u00eb situat\u00ebn kur p\u00ebr testimin automatizues t\u00eb kodit n\u00eb dor\u00ebzimin e tij n\u00eb production, na nevojiten sa m\u00eb shpejt kopjet e DB MySQL, maksimalisht.","canonical_url":"https:\/\/prohoster.info\/sq\/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":"sq_AL","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\/sq\/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\/sq\/wp-json\/wp\/v2\/posts\/74327","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=74327"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/74327\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/74328"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=74327"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=74327"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=74327"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}