{"id":36984,"date":"2019-10-31T22:15:09","date_gmt":"2019-10-31T19:15:09","guid":{"rendered":"https:\/\/prohoster.info\/blog\/koe-chto-ob-inode\/"},"modified":"2019-10-31T22:15:09","modified_gmt":"2019-10-31T19:15:09","slug":"koe-chto-ob-inode","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/koe-chto-ob-inode","title":{"rendered":"Ne\u0161to o inode-u","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Povremeno, radi preseljenja u CRS razgovaram s razli\u010ditim velikim tvrtkama, ve\u0107inom iz Petersburga i Moskve za poziciju DevOps. Primijetio sam da mnoge tvrtke (mnoge dobre tvrtke, kao \u0161to je Yandex) postavljaju dva sli\u010dna pitanja:<\/p>\n<ul>\n<li> \u0161to je inode;<\/li>\n<li> iz kojih razloga mo\u017ee do\u0107i do gre\u0161ke prilikom pisanja na disk (ili, na primjer: za\u0161to mo\u017ee nestati prostora na disku, su\u0161tina je ista).\n<\/li>\n<\/ul>\n<p>\nKao i obi\u010dno, bio sam siguran da ovu temu dobro poznajem, ali \u010dim sam po\u010deo obja\u0161njavati \u2014 otkrili su se propusti u znanju. Kako bih sistematizirao svoje znanje, popunio praznine i vi\u0161e se ne osramotio, pi\u0161em ovaj \u010dlanak, mo\u017eda \u0107e nekom drugom tako\u0111er koristiti.<\/p>\n<p>Po\u010dnem \u201eodozdo\u201c, tj. s tvrdog diska (uskoro \u0107emo zaboraviti na flash diskove, SSD-ove i druge moderne naprave, radi primjera razmatrat \u0107emo bilo koji stari disk od 20 ili 80 gigabajta, jer tamo veli\u010dina bloka iznosi 512 bajtova).<\/p>\n<p>Tvrdog disk ne mo\u017ee adresirati svoj prostor bajt po bajt, uvjetno ga dijeli na blokove. Numeracija blokova po\u010dinje od 0. (to se naziva LBA, detalji ovdje: <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/LBA\">ru.wikipedia.org\/wiki\/LBA<\/a><\/noindex>)<\/p>\n<p><img decoding=\"async\" alt=\"Ne\u0161to o inode-u\" src=\"\/wp-content\/uploads\/2019\/08\/47036dc7ec2ed8c868fa1bcf044ba9ea.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nKao \u0161to se mo\u017ee vidjeti iz slike, blokovi LBA ozna\u010dio sam kao razinu HDD-a. Usput, mo\u017eete provjeriti koja je veli\u010dina bloka va\u0161eg diska na sljede\u0107i na\u010din: <\/p>\n<pre><code class=\"bash\">root@ubuntu:\/home\/serp# blockdev --getpbsz \/dev\/sdb\n512<\/code><\/pre>\n<p>\nNa razini iznad razgrani\u010den je partiton, jedan za cijeli disk (ponovno zbog jednostavnosti). Naj\u010de\u0161\u0107e se koristi raspored particija dvaju tipova: msdos i gpt. Otp corresponding msdos \u2014 stari format, koji podr\u017eava diskove do 2 Tb, gpt \u2014 novi format sposoban adresirati do 1 zettabajta 512-bajtnih blokova. U na\u0161em slu\u010daju imamo particiju tipa msdos, kao \u0161to se vidi iz slike, particija po\u010dinje od bloka br. 1, dok se nulti koristi za MBR.<\/p>\n<p>U prvoj particiji stvorio sam datote\u010dni sustav ext2, prema zadanim postavkama veli\u010dina bloka iznosi 4096 bajta, to je tako\u0111er prikazano na slici. Veli\u010dinu bloka datote\u010dnog sustava mo\u017eete provjeriti na sljede\u0107i na\u010din:<\/p>\n<pre><code class=\"bash\">root@ubuntu:\/home\/serp# tune2fs -l \/dev\/sdb1\ntune2fs 1.42.9 (4-Feb-2014)\nIme datote\u010dnog sustava:   \nZadnje montiranje na:    \nUUID datote\u010dnog sustava: a600bf40-f660-41f6-a3e6-96c303995479\nMagi\u010dni broj datote\u010dnog sustava:  0xEF53\nRevizija datote\u010dnog sustava #:    1 (dinami\u010dna)\nKarakteristike datote\u010dnog sustava:      ext_attr resize_inode dir_index filetype sparse_super large_file\nZastavice datote\u010dnog sustava:         signed_directory_hash\nZadane opcije montiranja:    user_xattr acl\nStanje datote\u010dnog sustava:         clean\nPona\u0161anje gre\u0161aka:          Continue\nVrsta OS-a datote\u010dnog sustava:       Linux\nBroj inoda:              65536\nBroj blokova:              261888\nBroj rezerviranih blokova:     13094\nSlobodni blokovi:              257445\nSlobodni inodi:              65525\nPrvi blok:              0\nVeli\u010dina bloka:               4096\nVeli\u010dina fragmenta:            4096\nRezervirani GDT blokovi:      63\nBlokovi po grupi:         32768\nFragmenti po grupi:      32768\nInodi po grupi:         8192\nInodni blokovi po grupi:   512\nDatote\u010dni sustav kreiran:       Pet Aug  2 15:02:13 2019\nZadnji put montirano:          n\/a\nZadnji put pisano:          Pet Aug  2 15:02:14 2019\nBroj montiranja:              0\nMaksimalni broj montiranja:      -1\nZadnji pregled:             Pet Aug  2 15:02:13 2019\nInterval provjere:           0 ()\nRezervirani blokovi uid:      0 (korisnik root)\nRezervirani blokovi gid:      0 (grupa root)\nPrvi inode:              11\nVeli\u010dina inoda:               256\nObavezna dodatna veli\u010dina:     28\n\u017deljena dodatna veli\u010dina:      28\nZadani hash direktorija:   half_md4\nSjemenski hash direktorija:      c0155456-ad7d-421f-afd1-c898746ccd76<\/code><\/pre>\n<p>\nPotrebna nam je varijabla \u2014 \u201eVeli\u010dina bloka.\u201c<\/p>\n<p>Sada dolazi najzanimljivije, kako pro\u010ditati datoteku \/home\/serp\/testfile? Datoteka se sastoji od jednog ili vi\u0161e blokova datote\u010dnog sustava u kojima su pohranjeni njeni podaci. Kako prona\u0107i datoteku znaju\u0107i njeno ime? Koje blokove \u010ditati?<\/p>\n<p>Tu dolaze do izra\u017eaja inodi. U datote\u010dnom sustavu ext2fs postoji \u201etablica\u201c koja sadr\u017ei informacije o svim inodeima. Broj inodea u slu\u010daju ext2fs postavlja se prilikom kreiranja datote\u010dnog sustava. Potrebne brojke gledamo u parametru \u201eBroj inoda\u201c izlaza tune2fs, tj. imamo 65536 komada. U inodu se nalaze informacije koje su nam potrebne: popis blokova datote\u010dnog sustava za tra\u017eenu datoteku. Kako prona\u0107i broj inoda za navedenu datoteku?<\/p>\n<p>Odnos izme\u0111u imena i broja inoda nalazi se u direktoriju, a direktorij u ext2fs \u2014 to je datoteka posebne vrste, tj. tako\u0111er ima svoj broj inoda. Da bismo prekinuli ovaj za\u010darani krug, za korijenski direktorij dodijeljen je \u201efiksni\u201c broj inoda \u201e2\u201c. Pogledajmo sadr\u017eaj inoda pod brojem 2:<\/p>\n<pre><code class=\"bash\">root@ubuntu:\/# debugfs \/dev\/sdb1\ndebugfs 1.42.9 (4-Feb-2014)\ndebugfs:  stat \n\nInod: 2   Tip: direktorij    Mod:  0755   Zastavice: 0x0\nGeneracija: 0    Verzija: 0x00000000:00000002\nKorisnik:     0   Grupa:     0   Veli\u010dina: 4096\nDatote\u010dni ACL: 0    ACL direktorija: 0\nLinkovi: 3   Broj blokova: 8\nFragment:  Adresa: 0    Broj: 0    Veli\u010dina: 0\n ctime: 0x5d43cb51:16b61bcc -- Pet Aug  2 16:34:09 2019\n atime: 0x5d43c247:b704301c -- Pet Aug  2 15:55:35 2019\n mtime: 0x5d43cb51:16b61bcc -- Pet Aug  2 16:34:09 2019\ncrtime: 0x5d43b5c6:00000000 -- Pet Aug  2 15:02:14 2019\nVeli\u010dina dodatnih polja inoda: 28\nBLOKOVI:\n(0):579\nUKUPNO: 1<\/code><\/pre>\n<p>\nKao \u0161to se mo\u017ee vidjeti, potrebna nam je direktorija smje\u0161tena u bloku s brojem 579. U njoj \u0107emo prona\u0107i broj noda za mapu home, i tako dalje po lancu, sve dok u direktoriju serp ne vidimo broj noda za tra\u017eenu datoteku. Ako netko \u017eeli provjeriti je li broj ispravan i ima li tamo potrebnih informacija, to nije te\u0161ko. Radimo:<\/p>\n<pre><code class=\"bash\">root@ubuntu:~\/# dd if=\/dev\/sdb1 of=\/home\/serp\/dd_image bs=4096 count=1 skip=579\n1+0 records in\n1+0 records out\n4096 bytes (4.1 kB) copied, 0.000184088 s, 22.3 MB\/s\nroot@ubuntu:~\/# hexdump -c \/home\/serp\/dd_image<\/code><\/pre>\n<p>\nU izlazu se mogu pro\u010ditati imena datoteka u direktoriju.<\/p>\n<p>Evo do\u0161ao sam do glavnog pitanja: \"koji su razlozi zbog kojih mo\u017ee nastati pogre\u0161ka zapisivanja\"?<\/p>\n<p>Naravno, ovako \u0107e se dogoditi ako ne ostane slobodnih blokova u datote\u010dnom sustavu. \u0160to se mo\u017ee u\u010diniti u tom slu\u010daju? Osim o\u010ditog \"izbrisati ne\u0161to nepotrebno\", treba imati na umu da u datote\u010dnim sustavima ext2,3 i 4 postoji stvar poput \"Reserved block count\". Ako pogledamo u popis iznad, imamo takvih blokova \"13094\". To su blokovi dostupni za zapisivanje samo korisniku root. No, ako je potrebno hitno rije\u0161iti pitanje, kao privremeno rje\u0161enje, mogu\u0107e ih je u\u010diniti dostupnima za sve, \u010dime dolazi do osloba\u0111anja malo slobodnog prostora:<\/p>\n<pre><code class=\"bash\">root@ubuntu:\/mnt# tune2fs -m 0 \/dev\/sdb1\ntune2fs 1.42.9 (4-Feb-2014)\nPostavljanje postotka rezerviranih blokova na 0% (0 blokova)<\/code><\/pre>\n<p>\nTo jest, prema zadanim postavkama, 5% diskovnog prostora nije dostupno za zapisivanje, a s obzirom na kapacitete modernih diskova, to mogu biti stotine gigabajta.<\/p>\n<p>\u0160to jo\u0161 mo\u017ee biti? Tako\u0111er je mogu\u0107a situacija kada su slobodni blokovi prisutni, a nodovi su nestali. To se obi\u010dno doga\u0111a ako imate u datote\u010dnom sustavu mno\u0161tvo datoteka veli\u010dine manje od veli\u010dine bloka datote\u010dnog sustava. Uzimaju\u0107i u obzir da se za 1 datoteku ili direktorij tro\u0161i 1 inode, a ukupno ih imamo (za ovaj datote\u010dni sustav) 65536 \u2014 situacija je vi\u0161e nego realna. To se mo\u017ee vizualizirati iz izlaza naredbe df:<\/p>\n<pre><code class=\"bash\">serp@ubuntu:~$ df -hi\nFilesystem     Inodes IUsed IFree IUse% Mounted on\nudev             493K   480  492K    1% \/dev\ntmpfs            493K   425  493K    1% \/run\n\/dev\/xvda1       512K  240K  273K   47% \/\nnone             493K     2  493K    1% \/sys\/fs\/cgroup\nnone             493K     2  493K    1% \/run\/lock\nnone             493K     1  493K    1% \/run\/shm\nnone             493K     2  493K    1% \/run\/user\n\/dev\/xvdc1       320K  4,1K  316K    2% \/var\n\/dev\/xvdb1        64K   195   64K    1% \/home\n\/dev\/xvdh1       4,0M  3,1M  940K   78% \/var\/www\nserp@ubuntu:~$ df -h\nFilesystem      Size  Used Avail Use% Mounted on\nudev            2,0G  4,0K  2,0G   1% \/dev\ntmpfs           395M  620K  394M   1% \/run\n\/dev\/xvda1      7,8G  2,9G  4,6G  39% \/\nnone            4,0K     0  4,0K   0% \/sys\/fs\/cgroup\nnone            5,0M     0  5,0M   0% \/run\/lock\nnone            2,0G     0  2,0G   0% \/run\/shm\nnone            100M     0  100M   0% \/run\/user\n\/dev\/xvdc1      4,8G  2,6G  2,0G  57% \/var\n\/dev\/xvdb1      990M  4,0M  919M   1% \/home\n\/dev\/xvdh1       63G   35G   25G  59% \/var\/www<\/code><\/pre>\n<p>\nKao \u0161to se mo\u017ee primijetiti u odjeljku \/var\/www, broj slobodnih blokova datote\u010dnog sustava i broj slobodnih inodeova zna\u010dajno se razlikuju.<\/p>\n<p>U slu\u010daju da su inodeovi istekli, nemam rje\u0161enja, jer ih nema (ako se varam, javite mi). Dakle, za odjele gdje se nagomilavaju mali datoteke, va\u017eno je pametno odabrati datote\u010dni sustav. Tako, na primjer, u btrfs inodeovi ne mogu nestati, jer se dinami\u010dki stvaraju novi po potrebi.<br \/>\n<br \/>Izvor: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/462849\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438, \u0441 \u0446\u0435\u043b\u044c\u044e \u043f\u0435\u0440\u0435\u0435\u0437\u0434\u0430 \u0432 \u0426\u0420\u0421 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u0443\u044e\u0441\u044c \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\u0445, \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u041f\u0438\u0442\u0435\u0440\u0430 \u0438 \u041c\u043e\u0441\u043a\u0432\u044b \u043d\u0430 \u0434\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c DevOps. \u041e\u0431\u0440\u0430\u0442\u0438\u043b \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0432\u043e \u043c\u043d\u043e\u0433\u0438\u0445 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\u0445 (\u0432\u043e \u043c\u043d\u043e\u0433\u0438\u0445 \u0445\u043e\u0440\u043e\u0448\u0438\u0445 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\u0445, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0432 \u044f\u043d\u0434\u0435\u043a\u0441\u0435) \u0437\u0430\u0434\u0430\u044e\u0442 \u0434\u0432\u0430 \u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0432\u043e\u043f\u0440\u043e\u0441\u0430: \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 inode; \u043f\u043e \u043a\u0430\u043a\u0438\u043c \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0443 \u0437\u0430\u043f\u0438\u0441\u0438 \u043d\u0430 \u0434\u0438\u0441\u043a (\u0438\u043b\u0438 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440: \u043f\u043e\u0447\u0435\u043c\u0443 \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u0442\u044c\u0441\u044f \u043c\u0435\u0441\u0442\u043e \u043d\u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":27717,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-36984","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438, \u0441 \u0446\u0435\u043b\u044c\u044e \u043f\u0435\u0440\u0435\u0435\u0437\u0434\u0430 \u0432 \u0426\u0420\u0421 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u0443\u044e\u0441\u044c \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\u0445, \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u041f\u0438\u0442\u0435\u0440\u0430 \u0438 \u041c\u043e\u0441\u043a\u0432\u044b \u043d\u0430 \u0434\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c DevOps.\" \/>\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\/hr\/blog\/administrirovanie\/koe-chto-ob-inode\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"hr_HR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u043e\u0435-\u0447\u0442\u043e \u043e\u0431 inode | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438, \u0441 \u0446\u0435\u043b\u044c\u044e \u043f\u0435\u0440\u0435\u0435\u0437\u0434\u0430 \u0432 \u0426\u0420\u0421 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u0443\u044e\u0441\u044c \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\u0445, \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u041f\u0438\u0442\u0435\u0440\u0430 \u0438 \u041c\u043e\u0441\u043a\u0432\u044b \u043d\u0430 \u0434\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c DevOps.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/koe-chto-ob-inode\" \/>\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:09+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:15:09+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\udd47Ne\u0161to o inodeovima | ProHoster","description":"Povremeno, u svrhu preseljenja u CRS, razgovaram u raznim velikim kompanijama, uglavnom iz Sankt Peterburga i Moskve na poziciju DevOps.","canonical_url":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/koe-chto-ob-inode","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hr_HR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u043e\u0435-\u0447\u0442\u043e \u043e\u0431 inode | ProHoster","og:description":"\u041f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438, \u0441 \u0446\u0435\u043b\u044c\u044e \u043f\u0435\u0440\u0435\u0435\u0437\u0434\u0430 \u0432 \u0426\u0420\u0421 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u0443\u044e\u0441\u044c \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\u0445, \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u041f\u0438\u0442\u0435\u0440\u0430 \u0438 \u041c\u043e\u0441\u043a\u0432\u044b \u043d\u0430 \u0434\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c DevOps.","og:url":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/koe-chto-ob-inode","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:09+00:00","article:modified_time":"2019-10-31T19:15:09+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"36984","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:38:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:35:27","updated":"2026-01-22 05:38:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/36984","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/comments?post=36984"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/36984\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media\/27717"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media?parent=36984"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/categories?post=36984"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/tags?post=36984"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}