{"id":36999,"date":"2019-10-31T22:15:13","date_gmt":"2019-10-31T19:15:13","guid":{"rendered":"https:\/\/prohoster.info\/blog\/haki-pri-rabote-s-bolshim-chislom-melkih-fajlov\/"},"modified":"2019-10-31T22:15:13","modified_gmt":"2019-10-31T19:15:13","slug":"haki-pri-rabote-s-bolshim-chislom-melkih-fajlov","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/haki-pri-rabote-s-bolshim-chislom-melkih-fajlov","title":{"rendered":"T\u00f6\u00f6d suure arvu v\u00e4ikeste failidega","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Artikli idee s\u00fcndis spontaanselt kommentaaride arutelust artikli all <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/462849\/\">\u201eM\u00f5ned asjad inode'ist\u201c<\/a><\/noindex>.<\/p>\n<p><img decoding=\"async\" alt=\"T\u00f6\u00f6d suure arvu v\u00e4ikeste failidega\" src=\"\/wp-content\/uploads\/2019\/08\/e488f5985cfb0b3274f57f6baeeedf01.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAsi on selles, et meie teenuste sisemise t\u00f6\u00f6 erip\u00e4ra on tohutu arvu v\u00e4ikeste failide s\u00e4ilitamine. Praeguseks on meil umbes sadu terabaite selliseid andmeid. Oleme kohtunud mitmete ilmselgete ja v\u00e4hem ilmselgete takistustega ning oleme neist edukalt \u00fcle saanud.<\/p>\n<p>Seega jagan meie kogemusi, ehk on kellelegi kasulik.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Esimene probleem: \"Seade pole rohkem ruumi\"<\/h2>\n<p>\nNagu mainitud eelmises artiklis, on probleem selles, et failis\u00fcsteemis on tasuta bloke, kuid inode'id on otsa saanud.<\/p>\n<p>Kasutatud ja vabu inode'e saab kontrollida k\u00e4suga <code>df -ih<\/code>:<\/p>\n<p><img decoding=\"async\" alt=\"T\u00f6\u00f6d suure arvu v\u00e4ikeste failidega\" src=\"\/wp-content\/uploads\/2019\/08\/ceb86a22562aa08c8ffbbde2c2618545.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMa ei hakka artiklit \u00fcmber jutustama, kuid l\u00fchidalt, kettal on nii andmete plokid kui ka meta-informatsiooni plokid, mida nimetatakse ka inodes (indeksi s\u00f5lmed). Nende arv m\u00e4\u00e4ratakse failis\u00fcsteemi initsialiseerimise k\u00e4igus (juttu on ext2-st ja selle j\u00e4reltulijatest) ning edaspidi ei muutu. Andmeplokkide ja inodide tasakaal arvutatakse keskmiste andmete p\u00f5hjal, meie juhul, kui on palju v\u00e4ikeseid faile, peaks tasakaal nihkuma inodide arvu suunas \u2014 neid peab olema rohkem.<\/p>\n<p>Linuxis on juba ette n\u00e4htud erineva tasakaalu variandid, ja k\u00f5ik need eelnevalt arvutatud konfiguratsioonid asuvad failis <code>\/etc\/mke2fs.conf<\/code>.<br \/>\nSeega saab failis\u00fcsteemi algse initsialiseerimise k\u00e4igus mke2fs kaudu m\u00e4\u00e4rata vajaliku profiili.<\/p>\n<p>Siin on m\u00f5ned n\u00e4ited failist:<\/p>\n<pre><code class=\"json\">    small = {\n        blocksize = 1024\n        inode_size = 128\n        inode_ratio = 4096\n    }\n\n    big = {\n        inode_ratio = 32768\n    }\n\n    largefile = {\n        inode_ratio = 1048576\n        blocksize = -1\n    }\n<\/code><\/pre>\n<p>\n\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u043e\u043f\u0446\u0438\u0435\u0439 &#171;-T&#187; \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 mke2fs. \u0422\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u0435\u0441\u043b\u0438 \u043d\u0435\u0442 \u0433\u043e\u0442\u043e\u0432\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f.<\/p>\n<p>Rohkem \u00fcksikasju on kirjas manuaalides <code>mke2fs.conf<\/code> ja <code>mke2fs<\/code>.<\/p>\n<p>\u00dcks p\u00f5hjusi, mida eespool mainitud artiklis ei k\u00e4sitletud \u2014 on andmeploki suuruse m\u00e4\u00e4ramine. Ilmselgelt on suurte failide jaoks m\u00f5ttekas kasutusele v\u00f5tta suurem plokk, v\u00e4ikeste jaoks aga v\u00e4iksem. <\/p>\n<p>Kuid tasub arvestada sellise huvitava aspektiga nagu protsessori arhitektuur.<br \/>\nKordagi m\u00f5tlesin, et suurte piltfailide jaoks on mul vaja suuremat plokki. Asi toimus kodus, WD nime all tuntud kodu failiserveris ARM-arhitektuuril. M\u00f5tlesin ja m\u00e4\u00e4rasin ploki suuruseks kas 8k v\u00f5i 16k tavalise 4k asemel, eelnevalt m\u00f5\u00f5tes, kui palju saan kokku hoida. Ja k\u00f5ik oli suurep\u00e4rane, kuni server l\u00f5petas t\u00f6\u00f6tamise, kuigi kett oli elus. Kui panin ketta tavalisest arvutisse Inteli protsessoriga, sain \u00fcllatuse: mitte toetatud ploki suurus. Andmed olid olemas, k\u00f5ik oli korras, kuid lugeda ei saanud. Protsessorid i386 ja sarnased ei oska t\u00f6\u00f6tada plokkide suurustega, mis ei vasta m\u00e4lulehe suurusele, see on t\u00e4pselt 4k. Kokkuv\u00f5ttes l\u00f5ppes k\u00f5ik kasutajarekvisiitide utiliitide abil, see oli aeglane ja kurb, kuid andmed saadi siiski k\u00e4tte. Kellele huvi pakub \u2014 otsige utiliidi nime j\u00e4rgi. <code>fuseext2<\/code>. Moraal: kas tuleb k\u00f5ik juhtumid ette m\u00f5elda v\u00f5i mitte p\u00fc\u00fcda end superkangelasena esitada ja kasutada standardseid seadeid koduperenaiste jaoks.<\/p>\n<p>UPD. Kasutaja m\u00e4rkusele <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/berez\/\" class=\"user_link\">berez<\/a><\/noindex> Selgitan, et i386 jaoks ei tohiks ploki suurus \u00fcletada 4k, kuid see ei pruugi tingimata olla t\u00e4pselt 4k, st lubatud on ka 1k ja 2k.<\/p>\n<p>Nii et, kuidas me probleemidega hakkama saime.<\/p>\n<p>Esiteks sattusime probleemiga kokku, kui mitme terabaidi k\u00f5vaketas oli andmetest pungil, ja me ei saanud failis\u00fcsteemi konfiguratsiooni muuta.<\/p>\n<p>Teiseks oli lahendus h\u00e4dasti vajalik.<\/p>\n<p>Kokkuv\u00f5ttes j\u00f5udsime j\u00e4reldusele, et peame tasakaalu muutma, v\u00e4hendades failide arvu.<br \/>\nFailide arvu v\u00e4hendamiseks otsustasime koguda k\u00f5ik failid \u00fcheks arhiviks. Arvestades meie erip\u00e4ra, kogusime \u00fche arhiivi k\u00f5ik failid teatud ajavahemiku jooksul ja tegime arhiveerimise cron-t\u00f6\u00f6\u00fclesandena igal \u00f6\u00f6l.<\/p>\n<p>Valisite zip-arhiivi. Eelmises artiklis soovitati tar'u, kuid sellel on \u00fcks probleem: see ei sisalda sisukorda ning failid on seal voogesitusena (mitte juhuslikult - \u201etar\u201c on l\u00fchend \u201eTape Archive\u201c, mis p\u00e4rineb lintkettasid kasutamisest), st kui soovite lugeda faili arhiivi l\u00f5pus, peate lugema kogu arhiivi, kuna seal ei ole nihkeid iga faili jaoks arhiivi algusest. Seet\u00f5ttu on see aegan\u00f5udev protsess. Zip-formaadis on asjad palju paremad: see sisaldab just seda sisukorda ja failide nihkeid arhiivi sees, mist\u00f5ttu on iga faili juurde p\u00e4\u00e4semise aeg s\u00f5ltumatu selle asukohast. Meie puhul oleks me v\u00f5inud m\u00e4\u00e4rata ka \u201e0\u201c tihendamisvaliku, kuna k\u00f5ik failid olid juba eelnevalt gzip-iga kokku pakitud.<\/p>\n<p>Kliendid saavad faile k\u00e4tte nginx'i kaudu, ja vastavalt vanale API-le antakse lihtsalt faili nimi, n\u00e4iteks nii:<\/p>\n<pre><code class=\"plaintext\">http:\/\/www.server.com\/hydra\/20170416\/0453\/3bd24ae7-1df4-4d76-9d28-5b7fcb7fd8e5\n<\/code><\/pre>\n<p>\nEt faile reaalajas lahti pakkida, leidsime ja \u00fchendasime nginx-unzip-module'i (<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/youzee\/nginx-unzip-module\">https:\/\/github.com\/youzee\/nginx-unzip-module<\/a><\/noindex>) ja konfigureerisime kaks upstream'i.<\/p>\n<p>Tulemusena sai selline konfigureerimine:<\/p>\n<p><img decoding=\"async\" alt=\"T\u00f6\u00f6d suure arvu v\u00e4ikeste failidega\" src=\"\/wp-content\/uploads\/2019\/08\/56f5210669fecfe194ac5907d563aa1d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKaks hosti seadistustes n\u00e4gid v\u00e4lja nii:<\/p>\n<pre><code class=\"json\">server {\n  listen *:8081;\n\n  location \/ {\n    root      \/home\/filestorage;\n  }\n}<\/code><\/pre>\n<p><\/p>\n<pre><code class=\"json\">server {\n  listen *:8082;\n\n  location ~ ^\/hydra\/(d+)\/(d+)\/(.*)$ {\n    root      \/home\/filestorage;\n    file_in_unzip_archivefile \"\/home\/filestorage\/hydra\/$1\/$2.zip\";\n    file_in_unzip_extract \"$2\/$3\";\n    file_in_unzip;\n  }\n}\n<\/code><\/pre>\n<p>\nJa t\u00f5ukserverite konfiguratsioon \u00fclemisel nginx-il:<\/p>\n<pre><code class=\"json\">upstream storage {\n  server server.com:8081;\n  server server.com:8082;\n}\n<\/code><\/pre>\n<p>\nKuidas see t\u00f6\u00f6tab:<\/p>\n<ul>\n<li>Kliendit l\u00e4heb front nginx-i<\/li>\n<li>Front nginx p\u00fc\u00fcab anda faili esimesest t\u00f5ukurist, st otse failis\u00fcsteemist<\/li>\n<li>Kui faili pole \u2014 p\u00fc\u00fcab anda teisest t\u00f5ukurist, mis p\u00fc\u00fcab faili leida arhiivi seest<\/li>\n<\/ul>\n<p><\/p>\n<h2>Teine probleem: j\u00e4lle \"No space left on device\"<\/h2>\n<p>\nSee on teine probleem, millega me silmitsi seisame, kui kataloogis on palju faile.<br \/>\nProovime faili luua, s\u00fcsteem protestib, et ruumi pole. Muudame faili nime ja proovime j\u00e4lle luua.<\/p>\n<p>Saame hakkama.<\/p>\n<p>Tundub umbes nii:<\/p>\n<p><img decoding=\"async\" alt=\"T\u00f6\u00f6d suure arvu v\u00e4ikeste failidega\" src=\"\/wp-content\/uploads\/2019\/08\/f365358b59bf81d450a236dfb58e4874.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nInodes'i kontrollimine ei andnud midagi \u2014 neid on palju vabade. <br \/>\nR\u043e\u043c\u0438 kontrollimisest \u2014 sama asi.<br \/>\nM\u00f5tleme, et v\u00f5ib-olla on kataloogis liiga palju faile ja sellel on piirang, kuid ei: Maksimaalne failide arv kataloogis: ~1.3 \u00d7 10^20<\/p>\n<p>Ja faili saab luua, kui nime muudetakse.<br \/>\nJ\u00e4reldus \u2014 probleem on faili nimes.<\/p>\n<p>Edasised uuringud n\u00e4itasid, et probleem on katalooge indekseerimise ajal kasutatavates hash-algoritmides, millega suures failihulgas tekivad konfliktid ning k\u00f5ik sellest tulenevad tagaj\u00e4rjed. T\u00e4iendavaid andmeid leiate siit: <noindex><a rel=\"nofollow\" href=\"https:\/\/ext4.wiki.kernel.org\/index.php\/Ext4_Disk_Layout#Hash_Tree_Directories\">https:\/\/ext4.wiki.kernel.org\/index.php\/Ext4_Disk_Layout#Hash_Tree_Directories<\/a><\/noindex><\/p>\n<p>Selle valiku v\u00f5ib v\u00e4lja l\u00fclitada, kuid... faili leidmine nime p\u00f5hjal v\u00f5ib muutuda ettearvamatult pikaajaliseks, kui tuleb l\u00e4bi k\u00e4ia k\u00f5ik failid. <\/p>\n<pre><code class=\"bash\"> tune2fs -O \"^dir_index\" \/dev\/sdb3\n<\/code><\/pre>\n<p>\n\u00dcldiselt v\u00f5ib see ajutise lahendusena t\u00f6\u00f6tada.<\/p>\n<p>Moraal: palju faile kataloogis on tavaliselt halb. Nii ei tohi teha.<\/p>\n<p>Tavaliselt luuakse sellistes olukordades sisemised kataloogid, faili nime esialgsete t\u00e4htede v\u00f5i m\u00f5ne muu parameetri, n\u00e4iteks kuup\u00e4evade j\u00e4rgi, enamasti p\u00e4\u00e4stab see olukorra.<br \/>\nKuid v\u00e4ikeste failide arv on ikkagi halb, isegi kui need on jagatud kataloogidesse \u2014 sel juhul vaadake esimest probleemi.<\/p>\n<h2>Kolmas probleem: kuidas vaadata, kui faile on palju<\/h2>\n<p>\nMeie olukorras, kus meil on palju faile, oleme varem v\u00f5i hiljem silmitsi seisnud probleemiga, kuidas vaadata katalooge.<\/p>\n<p>Standardslahendus \u2014 k\u00e4sk <code>ls<\/code>.<br \/>\nOkei, vaatame, mis juhtub 4772098 failiga:<\/p>\n<pre><code class=\"bash\">\n$ time ls \/home\/app\/express.repository\/offercache\/ &gt;\/dev\/null\n\nreal\t0m30.203s\nuser\t0m28.327s\nsys\t0m1.876s\n<\/code><\/pre>\n<p>\n30 sekundit\u2026 liiga palju. Ja peamine aeg kulub failide t\u00f6\u00f6tlemiseks kasutaja ruumis, mitte tuuma t\u00f6\u00f6le.<\/p>\n<p>Aga lahendus on olemas:<\/p>\n<pre><code class=\"bash\">\n$ time find \/home\/app\/express.repository\/offercache\/ &gt;\/dev\/null\n\nreal\t0m3.714s\nuser\t0m1.998s\nsys\t0m1.717s\n<\/code><\/pre>\n<p>\n3 sekundit. K\u00fcmme korda kiirem.<br \/>\nHurraa!<\/p>\n<p><b>UPD.<\/b><\/p>\n<p>Veelgi kiirem lahendus kasutajalt <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/berez\/\" class=\"user_link\">berez<\/a><\/noindex> \u2014 sortimise keelamine <code>ls<\/code><\/p>\n<pre><code class=\"bash\">\ntime ls -U \/home\/app\/express.repository\/offercache\/ &gt;\/dev\/null\nreal\t0m2.985s\nuser\t0m1.377s\nsys\t0m1.608s\n<\/code><\/pre>\n<h2>Probleem neli: suur LA failidega t\u00f6\u00f6tamisel<\/h2>\n<p>\nAeg-ajalt tekib olukord, kus on vaja kopeerida hulk faile \u00fchest masinast teise. Sellegipoolest t\u00f5useb LA sageli ebanormaalselt k\u00f5rgeks, kuna k\u00f5ik s\u00f5ltub ketaste j\u00f5udlusest.<\/p>\n<p>K\u00f5ige m\u00f5istlikum, mida soovitakse \u2014 kasutada SSD-d. Tegelikult \u00e4ge. Ainult hindadega suure mahutavusega SSD-de osas on k\u00fcsimus.<\/p>\n<p>Aga kui kettad on tavalised, siis faile on vaja kopeerida ja see on samas ka tootmiss\u00fcsteem, kus koormus p\u00f5hjustab rahulolematust klientide seas? On v\u00e4hemalt kaks kasulikku t\u00f6\u00f6riista: <code>nice<\/code> ja <code>ionice<\/code>.<\/p>\n<p><code>nice<\/code> \u2014 v\u00e4hendab protsessi prioriteeti, vastavalt sellele planeerija jagab rohkem aega teistele, k\u00f5rgema prioriteediga protsessidele.<br \/>\nMeie praktikas aitas m\u00e4\u00e4rata nice maksimaalselt (19 \u2014 see on minimaalne prioriteet, -20 (miinus 20) \u2014 maksimaalne).<\/p>\n<p><code>ionice<\/code> \u2014 vastavalt kohandab sisse- \/ v\u00e4ljuvate andmete prioriteeti (I\/O planeerimine)<\/p>\n<p>Kui teil on RAID ja see vajab \u00e4kki s\u00fcnkroonimist (kui taask\u00e4ivitamine eba\u00f5nnestus v\u00f5i tuleb RAID-massiivi taastamine p\u00e4rast ketta vahetamist), siis m\u00f5nes olukorras on m\u00f5ttekas v\u00e4hendada s\u00fcnkroonimise kiirus, et teised protsessid saaksid enam-v\u00e4hem adekvaatselt t\u00f6\u00f6tada. Selle jaoks aitab j\u00e4rgmine k\u00e4sk:<\/p>\n<pre><code class=\"bash\">\necho 1000 &gt; \/proc\/sys\/dev\/raid\/speed_limit_max\n<\/code><\/pre>\n<p><\/p>\n<h2>Probleem viies: Kuidas s\u00fcnkroonida faile reaalajas<\/h2>\n<p>\nKasutame k\u00f5iki neid tohutuid failihulki, mida tuleb varundada teisele serverile, et v\u00e4ltida... Faile kirjutatakse pidevalt, seet\u00f5ttu tuleb neid kopeerida nii kiiresti kui v\u00f5imalik, et minimeerida kaotusi.<\/p>\n<p>Standardlahendus: Rsync \u00fcle SSH.<\/p>\n<p>See on hea variant, kui seda ei pea tegema iga paari sekundi j\u00e4rel. Ja faile on palju. Isegi kui neid ei kopeerita \u2014 tuleb mingil moel ikkagi aru saada, mis on muutunud, ja v\u00f5rrelda mitme miljoni faili vahel \u2014 see on aega ja koormust kettale.<\/p>\n<p>See, me peame kohe teadma, mida kopeerida, ilma et iga kord v\u00f5rreldakse.<\/p>\n<p>P\u00e4\u00e4stmine \u2014 <code>lsyncd<\/code>. <code>Lsyncd<\/code> \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/axkibe.github.io\/lsyncd\/\">Elus s\u00fcnkroonimise (peegli) deemon<\/a><\/noindex>. See t\u00f6\u00f6tab ka rsynci kaudu, kuid lisaks j\u00e4lgib see failis\u00fcsteemi muudatusi inotify ja fsevents abil ning k\u00e4ivitab kopeerimise ainult nende failide jaoks, mis on loodud v\u00f5i muudetud.<\/p>\n<h2>Kuues probleem: kuidas m\u00f5ista, kes koormab kettad<\/h2>\n<p>\nSeda teavad t\u00f5en\u00e4oliselt k\u00f5ik, kuid t\u00e4ieliku pildi jaoks: kettas\u00fcsteemi j\u00e4lgimiseks on k\u00e4sk <code>iotop<\/code> \u2014 midagi sarnast <code>top<\/code>, kuid see n\u00e4itab k\u00f5ige aktiivsemalt kettaid kasutavaid protsesse.<\/p>\n<p><img decoding=\"async\" alt=\"T\u00f6\u00f6d suure arvu v\u00e4ikeste failidega\" src=\"\/wp-content\/uploads\/2019\/08\/56612c618469ef340a31ae446d65ed4e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMuide, vana hea top aitab samuti m\u00f5ista, kas kettad on probleemsed. Kord, milleks on kaks sobivamat parameetrit: <b>Load Average<\/b> ja <b>IOwait<\/b>.<\/p>\n<p><img decoding=\"async\" alt=\"T\u00f6\u00f6d suure arvu v\u00e4ikeste failidega\" src=\"\/wp-content\/uploads\/2019\/08\/01a0565947de65d13b0045f7180caf5d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEsimene n\u00e4itab, kui palju protsesse ootavad teenindamist, tavaliselt \u00fcle 2 on juba murettekitav. Aktiivse kopeerimise korral varundusse lubame kuni 6-8, p\u00e4rast seda peetakse olukorda ebanormaalseks.<\/p>\n<p>Teine \u2013 kui palju protsessor on kettaoperatsioonidega h\u00f5ivatud. IOwait &gt;10% \u2013 on p\u00f5hjust muretseda, kuigi meie serverites, kus on spetsiifiline koormuse profiil, on see p\u00fcsivalt 40-50%, ja see on t\u00f5eliselt norm.<\/p>\n<p>Selle l\u00f5petan, kuigi kindlasti on palju hetki, millega me pole silmitsi seisnud, ootan huviga kommentaare ja huvitavaid t\u00f5elisi juhtumeid.<br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/srg\/blog\/462967\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0418\u0434\u0435\u044f \u0441\u0442\u0430\u0442\u044c\u0438 \u0440\u043e\u0434\u0438\u043b\u0430\u0441\u044c \u0441\u043f\u043e\u043d\u0442\u0430\u043d\u043d\u043e \u0438\u0437 \u0434\u0438\u0441\u043a\u0443\u0441\u0441\u0438\u0438 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445 \u043a \u0441\u0442\u0430\u0442\u044c\u0435 \u00ab\u041a\u043e\u0435-\u0447\u0442\u043e \u043e\u0431 inode\u00bb. \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0448\u0438\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043e\u0433\u0440\u043e\u043c\u0430\u0434\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u043c\u0435\u043b\u043a\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432. \u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0443 \u043d\u0430\u0441 \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u0441\u043e\u0442\u0435\u043d \u0442\u0435\u0440\u0430\u0431\u0430\u0439\u0442 \u0442\u0430\u043a\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u0418 \u043c\u044b \u043d\u0430\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u043d\u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0435 \u0438 \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0433\u0440\u0430\u0431\u0435\u043b\u044c\u043a\u0438 \u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043f\u043e \u043d\u0438\u043c \u043f\u0440\u043e\u0448\u043b\u0438\u0441\u044c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0435\u043b\u044e\u0441\u044c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":27728,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-36999","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=\"\u0418\u0434\u0435\u044f \u0441\u0442\u0430\u0442\u044c\u0438 \u0440\u043e\u0434\u0438\u043b\u0430\u0441\u044c \u0441\u043f\u043e\u043d\u0442\u0430\u043d\u043d\u043e \u0438\u0437 \u0434\u0438\u0441\u043a\u0443\u0441\u0441\u0438\u0438 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445 \u043a \u0441\u0442\u0430\u0442\u044c\u0435 \u00ab\u041a\u043e\u0435-\u0447\u0442\u043e \u043e\u0431 inode\u00bb. \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0448\u0438\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043e\u0433\u0440\u043e\u043c\u0430\u0434\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u043c\u0435\u043b\u043a\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432. \u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0443 \u043d\u0430\u0441 \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u0441\u043e\u0442\u0435\u043d \u0442\u0435\u0440\u0430\u0431\u0430\u0439\u0442 \u0442\u0430\u043a\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u0418 \u043c\u044b \u043d\u0430\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u043d\u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0435 \u0438 \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0433\u0440\u0430\u0431\u0435\u043b\u044c\u043a\u0438 \u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043f\u043e \u043d\u0438\u043c \u043f\u0440\u043e\u0448\u043b\u0438\u0441\u044c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0435\u043b\u044e\u0441\u044c\" \/>\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\/haki-pri-rabote-s-bolshim-chislom-melkih-fajlov\" \/>\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\u0425\u0430\u043a\u0438 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u0447\u0438\u0441\u043b\u043e\u043c \u043c\u0435\u043b\u043a\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0418\u0434\u0435\u044f \u0441\u0442\u0430\u0442\u044c\u0438 \u0440\u043e\u0434\u0438\u043b\u0430\u0441\u044c \u0441\u043f\u043e\u043d\u0442\u0430\u043d\u043d\u043e \u0438\u0437 \u0434\u0438\u0441\u043a\u0443\u0441\u0441\u0438\u0438 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445 \u043a \u0441\u0442\u0430\u0442\u044c\u0435 \u00ab\u041a\u043e\u0435-\u0447\u0442\u043e \u043e\u0431 inode\u00bb. \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0448\u0438\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043e\u0433\u0440\u043e\u043c\u0430\u0434\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u043c\u0435\u043b\u043a\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432. \u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0443 \u043d\u0430\u0441 \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u0441\u043e\u0442\u0435\u043d \u0442\u0435\u0440\u0430\u0431\u0430\u0439\u0442 \u0442\u0430\u043a\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u0418 \u043c\u044b \u043d\u0430\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u043d\u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0435 \u0438 \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0433\u0440\u0430\u0431\u0435\u043b\u044c\u043a\u0438 \u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043f\u043e \u043d\u0438\u043c \u043f\u0440\u043e\u0448\u043b\u0438\u0441\u044c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0435\u043b\u044e\u0441\u044c\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/haki-pri-rabote-s-bolshim-chislom-melkih-fajlov\" \/>\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=\"2019-10-31T19:15:13+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:15:13+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\udd47Nipid suure hulga v\u00e4ikeste failidega t\u00f6\u00f6tamiseks | ProHoster","description":"Artikli idee s\u00fcndis spontaanselt arutelust kommentaarides artikli 'M\u00f5ningad asjad inode' juures. Asi on selles, et meie teenuste t\u00f6\u00f6 sisemine spetsiifika on tohutu hulga v\u00e4ikeste failide s\u00e4ilitamine. Hetkel on meil umbes sadu terabaiti selliseid andmeid. Ja oleme kokku puutunud teatud ilmsete ja mitte nii ilmete takistustega ning l\u00e4binud need edukalt. Seet\u00f5ttu jagan.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/haki-pri-rabote-s-bolshim-chislom-melkih-fajlov","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\u0425\u0430\u043a\u0438 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u0447\u0438\u0441\u043b\u043e\u043c \u043c\u0435\u043b\u043a\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 | ProHoster","og:description":"\u0418\u0434\u0435\u044f \u0441\u0442\u0430\u0442\u044c\u0438 \u0440\u043e\u0434\u0438\u043b\u0430\u0441\u044c \u0441\u043f\u043e\u043d\u0442\u0430\u043d\u043d\u043e \u0438\u0437 \u0434\u0438\u0441\u043a\u0443\u0441\u0441\u0438\u0438 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445 \u043a \u0441\u0442\u0430\u0442\u044c\u0435 \u00ab\u041a\u043e\u0435-\u0447\u0442\u043e \u043e\u0431 inode\u00bb. \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0448\u0438\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043e\u0433\u0440\u043e\u043c\u0430\u0434\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u043c\u0435\u043b\u043a\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432. \u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0443 \u043d\u0430\u0441 \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u0441\u043e\u0442\u0435\u043d \u0442\u0435\u0440\u0430\u0431\u0430\u0439\u0442 \u0442\u0430\u043a\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u0418 \u043c\u044b \u043d\u0430\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u043d\u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0435 \u0438 \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0433\u0440\u0430\u0431\u0435\u043b\u044c\u043a\u0438 \u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043f\u043e \u043d\u0438\u043c \u043f\u0440\u043e\u0448\u043b\u0438\u0441\u044c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0435\u043b\u044e\u0441\u044c","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/haki-pri-rabote-s-bolshim-chislom-melkih-fajlov","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":"2019-10-31T19:15:13+00:00","article:modified_time":"2019-10-31T19:15:13+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"36999","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":"2026-01-22 05:41:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:35:26","updated":"2026-01-22 05:41:19"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/36999","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=36999"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/36999\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/27728"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=36999"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=36999"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=36999"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}