{"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\/ro\/blog\/administrirovanie\/koe-chto-ob-inode","title":{"rendered":"C\u00e2teva despre inode","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Periodic, with the aim of relocating to a Data Center, I interview at various large companies, mainly in St. Petersburg and Moscow for the position of DevOps. I noticed that many companies (many good companies, for example in Yandex) ask two similar questions:<\/p>\n<ul>\n<li> what is an inode;<\/li>\n<li> what reasons can lead to a disk write error (or for example: why can disk space run out, the essence is the same).\n<\/li>\n<\/ul>\n<p>\nAs often happens, I was confident that I knew this topic well, but as soon as I started explaining, gaps in my knowledge became apparent. To systematize my knowledge, fill the gaps, and not embarrass myself anymore, I am writing this article; it may be useful to someone else as well.<\/p>\n<p>I'll start 'from the bottom', i.e. from the hard drive (we'll set aside flash drives, SSDs, and other modern gadgets, for simplicity, let's consider any old 20 or 80 GB disk, as the block size is 512 bytes).<\/p>\n<p>The hard drive cannot address its space byte by byte; conditionally, it is divided into blocks. The numbering of blocks starts at 0. (This is called LBA; details here: <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/LBA\">ro.wikipedia.org\/wiki\/LBA<\/a><\/noindex>)<\/p>\n<p><img decoding=\"async\" alt=\"C\u00e2teva despre inode\" 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 \/>\nAs seen from the diagram, the LBA blocks are marked as the HDD level. By the way, you can check the block size of your disk like this: <\/p>\n<pre><code class=\"bash\">root@ubuntu:\/home\/serp# blockdev --getpbsz \/dev\/sdb\n512<\/code><\/pre>\n<p>\nOne level up is the partition, one for the whole disk (again, for simplicity). The partitioning schemes most commonly used are of two types: msdos and gpt. Accordingly, msdos is an old format that supports disks up to 2TB, gpt is a new format capable of addressing up to 1 zettabyte of 512-byte blocks. In our case, we have an msdos-type partition, as seen from the diagram, the partition starts at block #1, while the zero block is used for the MBR.<\/p>\n<p>In the first partition, I created an ext2 file system, the default block size is 4096 bytes, which is also reflected in the diagram. You can check the block size of the file system like this:<\/p>\n<pre><code class=\"bash\">root@ubuntu:\/home\/serp# tune2fs -l \/dev\/sdb1\ntune2fs 1.42.9 (4-Feb-2014)\nNumele volumului sistemului de fi\u0219iere:   \nUltima montare pe:          \nUUID-ul sistemului de fi\u0219iere:          a600bf40-f660-41f6-a3e6-96c303995479\nNum\u0103rul magic al sistemului de fi\u0219iere:  0xEF53\nRevizia sistemului de fi\u0219iere #:    1 (dinamic)\nCaracteristicile sistemului de fi\u0219iere:      ext_attr resize_inode dir_index filetype sparse_super large_file\nIndicatorii sistemului de fi\u0219iere:         signed_directory_hash\nOp\u021biunile de montare implicite:    user_xattr acl\nStarea sistemului de fi\u0219iere:         curat\nComportamentul erorilor:          Continuare\nTipul sistemului de operare al sistemului de fi\u0219iere:       Linux\nNum\u0103rul de inodes:              65536\nNum\u0103rul de blocuri:              261888\nNum\u0103rul de blocuri rezervate:     13094\nBlocuri libere:              257445\nInodes libere:              65525\nPrimul bloc:              0\nDimensiunea blocului:               4096\nDimensiunea fragmentului:            4096\nBlocuri rezervate GDT:      63\nBlocuri pe grup:         32768\nFragmente pe grup:      32768\nInodes pe grup:         8192\nBlocuri inode pe grup:   512\nSistemul de fi\u0219iere creat:       Vin  Aug  2 15:02:13 2019\nUltima montare:          n\/a\nUltima scriere:          Vin  Aug  2 15:02:14 2019\nNum\u0103rul de mont\u0103ri:              0\nNum\u0103rul maxim de mont\u0103ri:      -1\nUltima verificare:             Vin  Aug  2 15:02:13 2019\nInterval de verificare:           0 ()\nUID pentru blocuri rezervate:      0 (user root)\nGID pentru blocuri rezervate:      0 (group root)\nPrimul inode:              11\nDimensiunea inode-ului:               256\nDimensiunea suplimentar\u0103 necesar\u0103:     28\nDimensiunea suplimentar\u0103 dorit\u0103:      28\nHash-ul implicit al directorului:   half_md4\nSemin\u021bele hash-ului directorului:      c0155456-ad7d-421f-afd1-c898746ccd76<\/code><\/pre>\n<p>\nParametrul necesar este \u201eDimensiunea blocului\u201d.<\/p>\n<p>Acum devine interesant, cum citim fi\u0219ierul \/home\/serp\/testfile? Fi\u0219ierul const\u0103 din unul sau mai multe blocuri de sistem de fi\u0219iere, \u00een care sunt stocate datele sale. Av\u00e2nd numele fi\u0219ierului, cum \u00eel g\u0103sim? Ce blocuri s\u0103 citim?<\/p>\n<p>Aici ne sunt de ajutor inode-urile. \u00cen sistemul de fi\u0219iere ext2fs exist\u0103 o \u201etabel\u0103\u201d, care con\u021bine informa\u021bii cu privire la toate inode-urile. Num\u0103rul de inode-uri \u00een cazul ext2fs este definit la crearea sistemului de fi\u0219iere. Cifrele necesare le vedem \u00een parametrul \u201eNum\u0103rul de inodes\u201d din ie\u0219irea tune2fs, adic\u0103 avem 65536 de buc\u0103\u021bi. \u00cen inode se reg\u0103sesc informa\u021biile necesare: lista blocurilor de sistem de fi\u0219iere pentru fi\u0219ierul c\u0103utat. Cum putem g\u0103si num\u0103rul inode pentru fi\u0219ierul specificat?<\/p>\n<p>Asocierea numelui \u0219i a num\u0103rului inode este con\u021binut\u0103 \u00een director, iar un director \u00een ext2fs este un fi\u0219ier de un tip special, adic\u0103 are \u0219i el propriul num\u0103r inode. Pentru a rupe acest cerc vicios, directorului principal i-a fost atribuit un num\u0103r inode \u201efixat\u201d de \u201e2\u201d. S\u0103 vedem con\u021binutul inode-ului cu num\u0103rul 2:<\/p>\n<pre><code class=\"bash\">root@ubuntu:\/# debugfs \/dev\/sdb1\ndebugfs 1.42.9 (4-Feb-2014)\ndebugfs:  stat \n\nInode: 2   Tip: director    Mod:  0755   Indicatori: 0x0\nGenera\u021bie: 0    Versiune: 0x00000000:00000002\nUtilizator:     0   Grup:     0   Dimensiune: 4096\nFile ACL: 0    Directory ACL: 0\nLeg\u0103turi: 3   Num\u0103r blocuri: 8\nFragment:  Adres\u0103: 0    Num\u0103r: 0    Dimensiune: 0\n ctime: 0x5d43cb51:16b61bcc -- Vin  Aug  2 16:34:09 2019\n atime: 0x5d43c247:b704301c -- Vin  Aug  2 15:55:35 2019\n mtime: 0x5d43cb51:16b61bcc -- Vin  Aug  2 16:34:09 2019\ncrtime: 0x5d43b5c6:00000000 -- Vin  Aug  2 15:02:14 2019\nDimensiunea c\u00e2mpurilor inode suplimentare: 28\nBLOCAJE:\n(0):579\nTOTAL: 1<\/code><\/pre>\n<p>\nDup\u0103 cum se poate observa, directorul necesar se afl\u0103 \u00een blocul cu num\u0103rul 579. Aici vom g\u0103si num\u0103rul nodului pentru folderul home, \u0219i a\u0219a mai departe, p\u00e2n\u0103 c\u00e2nd \u00een directorul serp vom vedea num\u0103rul nodului pentru fi\u0219ierul solicitat. Dac\u0103 cineva vrea s\u0103 verifice dac\u0103 num\u0103rul este corect \u0219i dac\u0103 informa\u021bia necesar\u0103 se afl\u0103 acolo, este simplu de f\u0103cut. Proced\u0103m astfel:<\/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>\n\u00cen ie\u0219ire se pot citi numele fi\u0219ierelor din director.<\/p>\n<p>Iat\u0103 c\u0103 am ajuns la \u00eentrebarea principal\u0103: \u201ece motive pot provoca o eroare de scriere\u201d?<\/p>\n<p>Desigur, acest lucru se va \u00eent\u00e2mpla dac\u0103 nu mai r\u0103m\u00e2n blocuri libere \u00een sistemul de fi\u0219iere. Ce se poate face \u00een acest caz? Pe l\u00e2ng\u0103 evidentul \u201e\u0219terge\u021bi ceva inutil\u201d, trebuie s\u0103 ne amintim c\u0103 \u00een sistemele de fi\u0219iere ext2,3 \u0219i 4 exist\u0103 un concept numit \u201eReserved block count\u201d. Dac\u0103 ne uit\u0103m la listarea de mai sus, avem aceste blocuri \u201e13094\u201d. Acestea sunt blocuri disponibile pentru scriere doar utilizatorului root. Dar, dac\u0103 trebuie s\u0103 rezolv\u0103m problema rapid, ca solu\u021bie temporar\u0103, putem face aceste blocuri accesibile pentru to\u021bi, rezult\u00e2nd astfel o oarecare capacitate liber\u0103:<\/p>\n<pre><code class=\"bash\">root@ubuntu:\/mnt# tune2fs -m 0 \/dev\/sdb1\ntune2fs 1.42.9 (4-Feb-2014)\nSetarea procentajului de blocuri rezervate la 0% (0 blocuri)<\/code><\/pre>\n<p>\nAdic\u0103, \u00een mod implicit, nu ave\u021bi acces pentru a scrie 5% din spa\u021biul pe disc, \u0219i av\u00e2nd \u00een vedere dimensiunile discurilor moderne, acestea pot fi sute de gigaocte\u021bi.<\/p>\n<p>Ce altceva ar putea fi? O alt\u0103 situa\u021bie posibil\u0103 este c\u00e2nd exist\u0103 blocuri libere, dar nodurile s-au terminat. Aceasta se \u00eent\u00e2mpl\u0103 de obicei dac\u0103 \u00een sistemul de fi\u0219iere ave\u021bi o mul\u021bime de fi\u0219iere de dimensiuni mai mici dec\u00e2t dimensiunea blocului sistemului de fi\u0219iere. Av\u00e2nd \u00een vedere c\u0103 pentru 1 fi\u0219ier sau director se cheltuie 1 inode, iar total avem (pentru acest sistem de fi\u0219iere) 65536 \u2014 situa\u021bia este mai mult dec\u00e2t real\u0103. Acest lucru se poate observa clar din ie\u0219irea comenzii 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>\nA\u0219a cum se observ\u0103 \u00een sec\u021biunea \\\/var\\\/www, num\u0103rul de blocuri libere al sistemului de fi\u0219iere \u0219i num\u0103rul de noduri libere difer\u0103 semnificativ.<\/p>\n<p>\u00cen cazul \u00een care s-au terminat inodele, nu am sugestii pentru probleme, deoarece nu exist\u0103 (dac\u0103 gre\u0219esc, v\u0103 rog s\u0103-mi spune\u021bi). A\u0219adar, pentru sec\u021biunile \u00een care se genereaz\u0103 fi\u0219iere mici, este important s\u0103 alege\u021bi corect sistemul de fi\u0219iere. De exemplu, \u00een btrfs, inodele nu se pot termina, deoarece se creeaz\u0103 dinamic noi dup\u0103 nevoie.<br \/>\n<br \/>Sursa: <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.2.1 - 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\/ro\/blog\/administrirovanie\/koe-chto-ob-inode\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\/ro\/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\udd47C\u00e2teva lucruri despre inode | ProHoster","description":"Periodic, cu scopul de a m\u0103 muta \u00een CRS, am interviuri la diverse companii mari, \u00een principal din Sankt Petersburg \u0219i Moscova, pentru postul de DevOps.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/koe-chto-ob-inode","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\/ro\/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\/ro\/wp-json\/wp\/v2\/posts\/36984","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=36984"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/36984\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/27717"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=36984"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=36984"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=36984"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}