{"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\/it\/blog\/administrirovanie\/koe-chto-ob-inode","title":{"rendered":"Qualcosa su inode","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Periodicamente, al fine di trasferirmi in CRS, partecipo a colloqui in diverse grandi aziende, principalmente di San Pietroburgo e Mosca, per la posizione di DevOps. Ho notato che in molte aziende (in molte buone aziende, per esempio in Yandex) vengono poste due domande simili:<\/p>\n<ul>\n<li> che cos'\u00e8 un inode;<\/li>\n<li> per quali motivi si pu\u00f2 ricevere un errore di scrittura su disco (o ad esempio: perch\u00e9 potrebbe finire lo spazio su disco, il concetto \u00e8 lo stesso).\n<\/li>\n<\/ul>\n<p>\nCome spesso accade, ero sicuro di conoscere bene questo argomento, ma non appena ho iniziato a spiegare, sono emerse lacune nelle mie conoscenze. Per sistematizzare le mie conoscenze, colmare le lacune e non vergognarmi pi\u00f9, scrivo questo articolo, potrebbe essere utile anche a qualcun altro.<\/p>\n<p>Inizier\u00f2 \"dal basso\", ossia dall'hard disk (escludiamo pen drive, SSD e altre moderne tecnologie, per esempio consideriamo un vecchio disco da 20 o 80 GB, poich\u00e9 l\u00ec la dimensione del blocco \u00e8 di 512 byte).<\/p>\n<p>L'hard disk non pu\u00f2 indirizzare il proprio spazio byte per byte, \u00e8 convenzionalmente suddiviso in blocchi. La numerazione dei blocchi inizia da 0. (questo \u00e8 chiamato LBA, maggiori dettagli qui: <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=\"Qualcosa su 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 \/>\nCome si pu\u00f2 vedere dall'immagine, ho contrassegnato i blocchi LBA come livello HDD. A proposito, per controllare quale sia la dimensione del blocco del tuo disco puoi fare cos\u00ec: <\/p>\n<pre><code class=\"bash\">root@ubuntu:\/home\/serp# blockdev --getpbsz \/dev\/sdb\n512<\/code><\/pre>\n<p>\nIl livello superiore \u00e8 partizionato, uno per l'intero disco (di nuovo, per semplicit\u00e0). Di solito si usano due tipi di partizionamento: msdos e gpt. Di conseguenza, msdos \u00e8 un formato vecchio, che supporta dischi fino a 2TB, gpt \u00e8 un formato nuovo, in grado di indirizzare fino a 1 zettabyte di blocchi da 512 byte. Nel nostro caso, abbiamo una partizione di tipo msdos, come si pu\u00f2 vedere dall'immagine, la partizione inizia dal blocco n. 1, mentre lo zero \u00e8 utilizzato per l'MBR.<\/p>\n<p>Nella prima partizione ho creato un file system ext2, la dimensione del blocco predefinita \u00e8 di 4096 byte, come riflesso nell'immagine. Puoi controllare la dimensione del blocco del file system cos\u00ec:<\/p>\n<pre><code class=\"bash\">root@ubuntu:\/home\/serp# tune2fs -l \/dev\/sdb1\ntune2fs 1.42.9 (4-Feb-2014)\nNome volume file system:   \nUltima montata su:        \nFilesystem UUID:          a600bf40-f660-41f6-a3e6-96c303995479\nNumero magico del file system:  0xEF53\nRevisione file system #:    1 (dinamico)\nCaratteristiche del file system:      ext_attr resize_inode dir_index filetype sparse_super large_file\nFlag del file system:         signed_directory_hash\nOpzioni di montaggio predefinite:    user_xattr acl\nStato del file system:         pulito\nComportamento in caso di errori:          Continua\nTipo di OS del file system:       Linux\nConteggio degli inode:              65536\nConteggio dei blocchi:              261888\nConteggio blocchi riservati:     13094\nBlocchi liberi:              257445\nInode liberi:              65525\nPrimo blocco:              0\nDimensione del blocco:               4096\nDimensione del frammento:            4096\nBlocchi GDT riservati:      63\nBlocchi per gruppo:         32768\nFrammenti per gruppo:      32768\nInode per gruppo:         8192\nBlocchi inode per gruppo:   512\nFile system creato:       Ven Aug  2 15:02:13 2019\nUltimo tempo di montaggio:          n\/a\nUltimo tempo di scrittura:          Ven Aug  2 15:02:14 2019\nConteggio di montaggio:              0\nConteggio massimo di montaggio:      -1\nUltima verifica:             Ven Aug  2 15:02:13 2019\nIntervallo di controllo:           0 ()\nUID blocchi riservati:      0 (utente root)\nGID blocchi riservati:      0 (gruppo root)\nPrimo inode:              11\nDimensione inode:               256\nExtra isize richiesto:     28\nExtra isize desiderato:      28\nHash directory predefinito:   half_md4\nSeed Hash Directory:      c0155456-ad7d-421f-afd1-c898746ccd76<\/code><\/pre>\n<p>\nIl parametro che ci serve \u00e8 \u00abDimensione del blocco\u00bb.<\/p>\n<p>Ora la parte interessante, come leggere il file \/home\/serp\/testfile? Il file \u00e8 composto da uno o pi\u00f9 blocchi del file system, in cui sono memorizzati i suoi dati. Sapendo il nome del file, come trovarlo? Quali blocchi leggere?<\/p>\n<p>Qui entrano in gioco gli inode. Nel file system ext2fs c'\u00e8 una \u00abtabella\u00bb che contiene informazioni su tutti gli inode. Il numero di inode nel caso di ext2fs \u00e8 stabilito durante la creazione del file system. I numeri necessari li vediamo nel parametro \u00abConteggio inode\u00bb dell'output di tune2fs, cio\u00e8 ne abbiamo 65536. Negli inode \u00e8 contenuta l'informazione di cui abbiamo bisogno: l'elenco dei blocchi del file system per il file cercato. Come trovare il numero inode per il file specificato?<\/p>\n<p>Il corrispondente del nome e del numero inode \u00e8 contenuto nella directory, e la directory in ext2fs \u00e8 un file di tipo speciale, quindi ha anch'essa il proprio numero inode. Per rompere questo circolo vizioso, per la directory radice \u00e8 stato assegnato un numero inode \u00abfisso\u00bb di \u00ab2\u00bb. Esaminiamo il contenuto dell'inode numero 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: directory    Modalit\u00e0:  0755   Flags: 0x0\nGenerazione: 0    Versione: 0x00000000:00000002\nUtente:     0   Gruppo:     0   Dimensione: 4096\nFile ACL: 0    Directory ACL: 0\nCollegamenti: 3   Conteggio blocchi: 8\nFrammento:  Indirizzo: 0    Numero: 0    Dimensione: 0\n ctime: 0x5d43cb51:16b61bcc -- Ven Aug  2 16:34:09 2019\n atime: 0x5d43c247:b704301c -- Ven Aug  2 15:55:35 2019\n mtime: 0x5d43cb51:16b61bcc -- Ven Aug  2 16:34:09 2019\ncrtime: 0x5d43b5c6:00000000 -- Ven Aug  2 15:02:14 2019\nDimensione dei campi extra dell'inode: 28\nBLOCCO:\n(0):579\nTOTALE: 1<\/code><\/pre>\n<p>\nCome si pu\u00f2 vedere, la directory di cui abbiamo bisogno si trova nel blocco numero 579. Qui troveremo il numero del nodo per la cartella home, e cos\u00ec via nella catena, finch\u00e9 nella directory serp non vedremo il numero del nodo per il file richiesto. Se qualcuno volesse controllare se il numero \u00e8 corretto e se ci sono le informazioni necessarie, non \u00e8 difficile farlo. Facciamo:<\/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 record in\n1+0 record out\n4096 bytes (4,1 kB) copiati, 0,000184088 s, 22,3 MB\/s\nroot@ubuntu:~# hexdump -c \/home\/serp\/dd_image<\/code><\/pre>\n<p>\nNell'output \u00e8 possibile leggere i nomi dei file nella directory.<\/p>\n<p>Ecco che sono arrivato alla questione principale: \"per quali motivi potrebbe verificarsi un errore di scrittura\"?<\/p>\n<p>Naturalmente ci\u00f2 accade se non ci sono pi\u00f9 blocchi disponibili nel file system. Cosa si pu\u00f2 fare in questo caso? Oltre all'ovvio \"eliminare qualcosa di superfluo\", bisogna ricordare che nei file system ext2, 3 e 4 esiste una cosa chiamata \"Reserved block count\". Se guardiamo nel listing sopra, abbiamo \"13094\" di questi blocchi. Si tratta di blocchi accessibili per la scrittura solo all'utente root. Ma se \u00e8 necessario risolvere rapidamente il problema, come soluzione temporanea si possono rendere disponibili a tutti, il che porter\u00e0 a un po' di spazio libero:<\/p>\n<pre><code class=\"bash\">root@ubuntu:\/mnt# tune2fs -m 0 \/dev\/sdb1\ntune2fs 1.42.9 (4-Feb-2014)\nImpostazione della percentuale di blocchi riservati a 0% (0 blocchi)<\/code><\/pre>\n<p>\nCio\u00e8, per default, il 5% dello spazio su disco non \u00e8 accessibile per la scrittura e considerando le dimensioni degli attuali dischi, possono essere centinaia di gigabyte.<\/p>\n<p>Cosa potrebbe esserci ancora? \u00c8 anche possibile che ci siano blocchi liberi, ma i nodi siano esauriti. Questo di solito accade se nel file system ci sono molti file di dimensioni inferiori a quelle del blocco del file system. Considerando che per 1 file o directory si utilizza 1 inode, e ne abbiamo in totale (per questo file system) 65536 \u2014 la situazione \u00e8 pi\u00f9 che reale. Questo pu\u00f2 essere visto chiaramente dall'output del 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>\nCome si pu\u00f2 ben vedere nella partizione \/var\/www, il numero di blocchi liberi del file system e il numero di nodi liberi differiscono notevolmente.<\/p>\n<p>Nel caso in cui si esaurissero gli inode, non posso dare suggerimenti, poich\u00e9 non ci sono (se sbaglio, fatemelo sapere). Pertanto, per le partizioni in cui si generano molti file piccoli, \u00e8 importante scegliere correttamente il file system. Ad esempio, in btrfs gli inode non possono esaurirsi, poich\u00e9 nuovi vengono creati dinamicamente secondo necessit\u00e0.<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.1.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\/it\/blog\/administrirovanie\/koe-chto-ob-inode\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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\/it\/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\udd47Qualcosa sugli inode | ProHoster","description":"Periodicamente, con l'obiettivo di trasferirmi nel CRS, sostengo colloqui in diverse grandi aziende, prevalentemente a San Pietroburgo e Mosca per la posizione di DevOps.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/koe-chto-ob-inode","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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\/it\/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\/it\/wp-json\/wp\/v2\/posts\/36984","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=36984"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/36984\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/27717"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=36984"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=36984"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=36984"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}