{"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\/pt\/blog\/administrirovanie\/koe-chto-ob-inode","title":{"rendered":"Algumas informa\u00e7\u00f5es sobre inode","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Periodicamente, com o objetivo de me candidatar a vagas em centros de dados, fa\u00e7o entrevistas em diversas grandes empresas, principalmente em S\u00e3o Petersburgo e Moscovo, para cargos de DevOps. Notei que muitas empresas (em muitas boas empresas, como o Yandex) fazem duas perguntas semelhantes:<\/p>\n<ul>\n<li> o que \u00e9 inode;<\/li>\n<li> quais s\u00e3o as raz\u00f5es para se obter um erro ao gravar no disco (ou, por exemplo: por que pode acabar o espa\u00e7o no disco, a ess\u00eancia \u00e9 a mesma).\n<\/li>\n<\/ul>\n<p>\nComo costuma acontecer, eu estava convencido de que conhecia bem esse tema, mas assim que comecei a explicar \u2014 surgiram lacunas no meu conhecimento. Para sistematizar meus conhecimentos, preencher lacunas e n\u00e3o passar mais vergonha, escrevo este artigo, que pode ser \u00fatil para algu\u00e9m mais.<\/p>\n<p>Vou come\u00e7ar \"de baixo\", ou seja, pelo disco r\u00edgido (desconsiderando pen drives, SSDs e outras coisas modernas, vamos considerar qualquer disco antigo de 20 ou 80 GB, j\u00e1 que l\u00e1 o tamanho do bloco \u00e9 de 512 bytes).<\/p>\n<p>O disco r\u00edgido n\u00e3o consegue endere\u00e7ar seu espa\u00e7o byte a byte; ele \u00e9, teoricamente, dividido em blocos. A numera\u00e7\u00e3o dos blocos come\u00e7a a partir de 0. (isso \u00e9 chamado de LBA, detalhes aqui: <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=\"Algumas informa\u00e7\u00f5es sobre 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 \/>\nComo pode ser visto na figura, os blocos LBA est\u00e3o marcados como n\u00edvel HDD. A prop\u00f3sito, voc\u00ea pode verificar qual \u00e9 o tamanho do bloco do seu disco da seguinte forma: <\/p>\n<pre><code class=\"bash\">root@ubuntu:\/home\/serp# blockdev --getpbsz \/dev\/sdb\n512<\/code><\/pre>\n<p>\nUm n\u00edvel acima \u00e9 a parti\u00e7\u00e3o, uma para todo o disco (novamente para simplifica\u00e7\u00e3o). Normalmente, utilizam-se dois tipos de formata\u00e7\u00e3o de parti\u00e7\u00f5es: msdos e gpt. Assim, msdos \u00e9 o formato antigo que suporta discos de at\u00e9 2TB, enquanto gpt \u00e9 o novo formato que pode endere\u00e7ar at\u00e9 1 zettabyte de blocos de 512 bytes. No nosso caso, temos uma parti\u00e7\u00e3o do tipo msdos, como pode ser visto na figura, onde a parti\u00e7\u00e3o come\u00e7a no bloco n\u00ba 1, enquanto o zero \u00e9 utilizado para o MBR.<\/p>\n<p>Na primeira parti\u00e7\u00e3o, criei um sistema de arquivos ext2, cujo tamanho de bloco padr\u00e3o \u00e9 de 4096 bytes, o que tamb\u00e9m \u00e9 refletido na figura. Para verificar o tamanho do bloco do sistema de arquivos, voc\u00ea pode usar o seguinte comando:<\/p>\n<pre><code class=\"bash\">root@ubuntu:\/home\/serp# tune2fs -l \/dev\/sdb1\ntune2fs 1.42.9 (4-Feb-2014)\nNome do volume do sistema de arquivos:   \n\u00daltimo montado em:          \nUUID do sistema de arquivos:          a600bf40-f660-41f6-a3e6-96c303995479\nN\u00famero m\u00e1gico do sistema de arquivos:  0xEF53\nRevis\u00e3o do sistema de arquivos #:    1 (din\u00e2mico)\nRecursos do sistema de arquivos:      ext_attr resize_inode dir_index filetype sparse_super large_file\nFlags do sistema de arquivos:         signed_directory_hash\nOp\u00e7\u00f5es de montagem padr\u00e3o:    user_xattr acl\nEstado do sistema de arquivos:         limpo\nComportamento em caso de erros:          Continuar\nTipo de sistema operacional do sistema de arquivos:       Linux\nContagem de inodes:              65536\nContagem de blocos:              261888\nContagem de blocos reservados:     13094\nBlocos livres:              257445\nInodes livres:              65525\nPrimeiro bloco:              0\nTamanho do bloco:               4096\nTamanho do fragmento:            4096\nBlocos GDT reservados:      63\nBlocos por grupo:         32768\nFragmentos por grupo:      32768\nInodes por grupo:         8192\nBlocos de inodes por grupo:   512\nSistema de arquivos criado:       Sex Ago  2 15:02:13 2019\n\u00daltimo hor\u00e1rio de montagem:          n\/a\n\u00daltimo hor\u00e1rio de grava\u00e7\u00e3o:          Sex Ago  2 15:02:14 2019\nContagem de montagens:              0\nContagem m\u00e1xima de montagens:      -1\n\u00daltima verifica\u00e7\u00e3o:             Sex Ago  2 15:02:13 2019\nIntervalo de verifica\u00e7\u00e3o:           0 ()\nUID de blocos reservados:      0 (usu\u00e1rio root)\nGID de blocos reservados:      0 (grupo root)\nPrimeiro inode:              11\nTamanho do inode:               256\nTamanho extra requerido:     28\nTamanho extra desejado:      28\nHash de diret\u00f3rio padr\u00e3o:   half_md4\nSemente de Hash de Diret\u00f3rio:      c0155456-ad7d-421f-afd1-c898746ccd76<\/code><\/pre>\n<p>\nO par\u00e2metro que precisamos \u00e9 o \"Tamanho do bloco\".<\/p>\n<p>Agora, a parte mais interessante: como ler o arquivo \/home\/serp\/testfile? O arquivo consiste em um ou mais blocos do sistema de arquivos, onde est\u00e3o armazenados seus dados. Sabendo o nome do arquivo, como encontr\u00e1-lo? Quais blocos ler?<\/p>\n<p>Aqui os inodes entram em cena. No sistema de arquivos ext2fs, existe uma \"tabela\" que cont\u00e9m informa\u00e7\u00f5es sobre todos os inodes. O n\u00famero de inodes em um caso de ext2fs \u00e9 definido durante a cria\u00e7\u00e3o do sistema de arquivos. Os n\u00fameros necess\u00e1rios est\u00e3o dispon\u00edveis no par\u00e2metro \"Contagem de inodes\" da sa\u00edda do tune2fs, ou seja, temos 65536 deles. O inode cont\u00e9m as informa\u00e7\u00f5es que precisamos: a lista de blocos do sistema de arquivos para o arquivo desejado. Como encontrar o n\u00famero do inode para o arquivo especificado?<\/p>\n<p>A correspond\u00eancia entre o nome e o n\u00famero do inode est\u00e1 contida no diret\u00f3rio, e o diret\u00f3rio no ext2fs \u00e9 um arquivo de tipo especial, ou seja, tamb\u00e9m tem seu pr\u00f3prio n\u00famero de inode. Para quebrar esse ciclo vicioso, o n\u00famero de inode \"fixo\" foi atribu\u00eddo ao diret\u00f3rio raiz, que \u00e9 \"2\". Vamos olhar o conte\u00fado do inode n\u00famero 2:<\/p>\n<pre><code class=\"bash\">root@ubuntu:\/# debugfs \/dev\/sdb1\ndebugfs 1.42.9 (4-Feb-2014)\ndebugfs:  stat \n\nInode: 2   Tipo: diret\u00f3rio    Modo:  0755   Flags: 0x0\nGera\u00e7\u00e3o: 0    Vers\u00e3o: 0x00000000:00000002\nUsu\u00e1rio:     0   Grupo:     0   Tamanho: 4096\nACL do arquivo: 0    ACL do diret\u00f3rio: 0\nLinks: 3   Contagem de blocos: 8\nFragmento:  Endere\u00e7o: 0    N\u00famero: 0    Tamanho: 0\n ctime: 0x5d43cb51:16b61bcc -- Sex Ago  2 16:34:09 2019\n atime: 0x5d43c247:b704301c -- Sex Ago  2 15:55:35 2019\n mtime: 0x5d43cb51:16b61bcc -- Sex Ago  2 16:34:09 2019\ncrtime: 0x5d43b5c6:00000000 -- Sex Ago  2 15:02:14 2019\nTamanho dos campos extras do inode: 28\nBLOCOS:\n(0):579\nTOTAL: 1<\/code><\/pre>\n<p>\nComo pode ser visto, o diret\u00f3rio necess\u00e1rio est\u00e1 no bloco de n\u00famero 579. Nele, encontramos o n\u00famero do n\u00f3 para a pasta home, e assim por diante na cadeia, at\u00e9 que no diret\u00f3rio serp vejamos o n\u00famero do n\u00f3 para o arquivo solicitado. Se algu\u00e9m quiser verificar se o n\u00famero est\u00e1 correto e se h\u00e1 informa\u00e7\u00f5es relevantes, n\u00e3o \u00e9 dif\u00edcil. Fa\u00e7a:<\/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 registros lidos\n1+0 registros escritos\n4096 bytes (4,1 kB) copiados, 0,000184088 s, 22,3 MB\/s\nroot@ubuntu:~# hexdump -c \/home\/serp\/dd_image<\/code><\/pre>\n<p>\nNa sa\u00edda, \u00e9 poss\u00edvel ler os nomes dos arquivos no diret\u00f3rio.<\/p>\n<p>Aqui estou eu, chegando \u00e0 pergunta principal: \"quais podem ser as raz\u00f5es para ocorrer um erro de grava\u00e7\u00e3o\"?<\/p>\n<p>Naturalmente, isso acontecer\u00e1 se n\u00e3o houver blocos livres no sistema de arquivos. O que podemos fazer nesse caso? Al\u00e9m da \u00f3bvia op\u00e7\u00e3o de \"deletar algo desnecess\u00e1rio\", devemos lembrar que nos sistemas de arquivos ext2, 3 e 4 existe algo chamado \"Reserved block count\". Se olharmos para a listagem acima, temos \"13094\" desses blocos. Esses blocos est\u00e3o dispon\u00edveis para grava\u00e7\u00e3o apenas para o usu\u00e1rio root. Mas se voc\u00ea precisar resolver a quest\u00e3o rapidamente, como solu\u00e7\u00e3o tempor\u00e1ria pode torn\u00e1-los acess\u00edveis a todos, resultando em um pouco de espa\u00e7o livre:<\/p>\n<pre><code class=\"bash\">root@ubuntu:\/mnt# tune2fs -m 0 \/dev\/sdb1\ntune2fs 1.42.9 (4-Feb-2014)\nDefinindo a porcentagem de blocos reservados para 0% (0 blocos)<\/code><\/pre>\n<p>\nOu seja, por padr\u00e3o, voc\u00ea n\u00e3o tem 5% do espa\u00e7o em disco dispon\u00edvel para grava\u00e7\u00e3o, e considerando os volumes dos discos modernos, isso pode ser centenas de gigabytes.<\/p>\n<p>O que mais pode acontecer? Tamb\u00e9m \u00e9 poss\u00edvel que haja blocos livres, mas os n\u00f3s tenham acabado. Isso geralmente ocorre se voc\u00ea tiver muitos arquivos no sistema de arquivos com tamanho menor que o tamanho do bloco do sistema de arquivos. Considerando que para 1 arquivo ou diret\u00f3rio \u00e9 gasto 1 inode, e temos um total de (para este sistema de arquivos) 65536 \u2014 essa situa\u00e7\u00e3o \u00e9 mais que real. Isso pode ser visualizado claramente na sa\u00edda do comando 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>\nComo \u00e9 bem vis\u00edvel na se\u00e7\u00e3o \\\/var\\\/www, a quantidade de blocos livres do sistema de arquivos e a quantidade de inodes livres diferem bastante.<\/p>\n<p>Caso os inodes acabem, n\u00e3o tenho dicas, pois n\u00e3o h\u00e1 (se estiver errado, me avise). Portanto, para parti\u00e7\u00f5es onde pequenos arquivos se proliferam, \u00e9 importante escolher corretamente o sistema de arquivos. Por exemplo, no btrfs, os inodes n\u00e3o podem acabar, pois novos s\u00e3o criados dinamicamente conforme a necessidade.<br \/>\n<br \/>Fonte: <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.3 - 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\/pt\/blog\/administrirovanie\/koe-chto-ob-inode\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\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\/pt\/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\udd47Alguma coisa sobre inodes | ProHoster","description":"Periodicamente, com o objetivo de mudar para o CRS, tenho entrevistas em v\u00e1rias grandes empresas, principalmente em S\u00e3o Petersburgo e Moscovo, para a posi\u00e7\u00e3o de DevOps.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/koe-chto-ob-inode","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","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\/pt\/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\/pt\/wp-json\/wp\/v2\/posts\/36984","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=36984"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/36984\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/27717"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=36984"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=36984"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=36984"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}