{"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\/da\/blog\/administrirovanie\/koe-chto-ob-inode","title":{"rendered":"Noget om inode","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Periodisk interviewer jeg mig i forskellige store virksomheder, prim\u00e6rt i Sankt Petersborg og Moskva, til stillingen som DevOps, da jeg overvejer at flytte til et datacenter. Jeg har bem\u00e6rket, at mange selskaber (mange gode selskaber, for eksempel Yandex) stiller to lignende sp\u00f8rgsm\u00e5l:<\/p>\n<ul>\n<li> hvad er inode;<\/li>\n<li> af hvilke \u00e5rsager man kan f\u00e5 en skrivefejl p\u00e5 disken (eller for eksempel: hvorfor kan der v\u00e6re mangel p\u00e5 plads p\u00e5 disken, essensen er den samme).\n<\/li>\n<\/ul>\n<p>\nSom ofte er jeg sikker p\u00e5, at jeg kender dette emne godt, men s\u00e5 snart jeg begyndte at forklare, blev der synlige huller i mine viden. For at systematisere mine oplysninger, udfylde hullerne og ikke skamme mig mere, skriver jeg denne artikel, m\u00e5ske kan det ogs\u00e5 v\u00e6re nyttigt for andre.<\/p>\n<p>Jeg vil starte \"nedenfra\", dvs. med harddisken (USB-n\u00f8gler, SSD og andre moderne enheder vil vi lade ligge, for eksempel kigger vi p\u00e5 enhver 20 eller 80 gigabyte gammel disk, da blokst\u00f8rrelsen er 512 byte).<\/p>\n<p>En harddisk kan ikke adressere sit rum byte for byte, det er betinget opdelt i blokke. Nummereringen af blokke begynder fra 0. (Det kaldes LBA, detaljer her: <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=\"Noget om 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 \/>\nSom vist p\u00e5 tegningen har jeg markeret LBA-blokke som HDD-niveau. For \u00f8vrigt kan man tjekke, hvad blokst\u00f8rrelsen p\u00e5 din disk er, p\u00e5 f\u00f8lgende m\u00e5de: <\/p>\n<pre><code class=\"bash\">root@ubuntu:\/home\/serp# blockdev --getpbsz \/dev\/sdb\n512<\/code><\/pre>\n<p>\nEt niveau h\u00f8jere er partitionen, en p\u00e5 hele disken (igen for enkelhedens skyld). Der anvendes mest to typer partitionsopdeling: msdos og gpt. Hhv. er msdos det gamle format, der underst\u00f8tter diske op til 2Tb, mens gpt er det nye format, der kan adressere op til 1 zettabyte 512 byte blokke. I vores tilf\u00e6lde har vi en partition af typen msdos, som vist p\u00e5 tegningen, begynder partitionen ved blok nr. 1, mens den nulte bruges til MBR.<\/p>\n<p>I den f\u00f8rste partition har jeg oprettet et ext2-filsystem, som standard har blokst\u00f8rrelsen 4096 byte, hvilket ogs\u00e5 er vist p\u00e5 tegningen. Man kan se blokst\u00f8rrelsen p\u00e5 filsystmet p\u00e5 f\u00f8lgende m\u00e5de:<\/p>\n<pre><code class=\"bash\">root@ubuntu:\/home\/serp# tune2fs -l \/dev\/sdb1\ntune2fs 1.42.9 (4-Feb-2014)\nFilesystem volume name:   \nLast mounted on:          \nFilesystem UUID:          a600bf40-f660-41f6-a3e6-96c303995479\nFilesystem magic number:  0xEF53\nFilesystem revision #:    1 (dynamic)\nFilesystem features:      ext_attr resize_inode dir_index filetype sparse_super large_file\nFilesystem flags:         signed_directory_hash\nDefault mount options:    user_xattr acl\nFilesystem state:         clean\nErrors behavior:          Continue\nFilesystem OS type:       Linux\nInode count:              65536\nBlock count:              261888\nReserved block count:     13094\nFree blocks:              257445\nFree inodes:              65525\nFirst block:              0\nBlock size:               4096\nFragment size:            4096\nReserved GDT blocks:      63\nBlocks per group:         32768\nFragments per group:      32768\nInodes per group:         8192\nInode blocks per group:   512\nFilesystem created:       Fri Aug  2 15:02:13 2019\nLast mount time:          n\/a\nLast write time:          Fri Aug  2 15:02:14 2019\nMount count:              0\nMaximum mount count:      -1\nLast checked:             Fri Aug  2 15:02:13 2019\nCheck interval:           0 ()\nReserved blocks uid:      0 (user root)\nReserved blocks gid:      0 (group root)\nFirst inode:              11\nInode size:               256\nRequired extra isize:     28\nDesired extra isize:      28\nDefault directory hash:   half_md4\nDirectory Hash Seed:      c0155456-ad7d-421f-afd1-c898746ccd76<\/code><\/pre>\n<p>\nDen parameter, vi har brug for, er \"Block size\".<\/p>\n<p>Nu kommer det interessante: hvordan l\u00e6ser vi filen \/home\/serp\/testfile? Filen best\u00e5r af en eller flere blokke i filsystemet, som indeholder dens data. Hvordan finder vi filen, n\u00e5r vi kender dens navn? Hvilke blokke skal l\u00e6ses?<\/p>\n<p>Her kommer vi til at bruge inode. I ext2fs filsystemet findes der en \"tabel\", der indeholder oplysninger om alle inode. Antallet af inode i ext2fs fastl\u00e6gges ved oprettelsen af filsystemet. De n\u00f8dvendige tal kan ses i parameteren \"Inode count\" fra outputtet af tune2fs, alts\u00e5 har vi 65536. I inode findes de oplysninger, vi har brug for: listen over blokke i filsystemet for den p\u00e5g\u00e6ldende fil. Hvordan finder vi inode-nummeret for den angivne fil?<\/p>\n<p>Samsvaret mellem filnavnet og inode-nummeret findes i kataloget, og et katalog i ext2fs er en s\u00e6rlig type fil, dvs. det har ogs\u00e5 sit eget inode-nummer. For at bryde denne onde cirkel fik rodkataloget tildelt et \"fikseret\" inode-nummer \"2\". Lad os se indholdet af inode nummer 2:<\/p>\n<pre><code class=\"bash\">root@ubuntu:\/# debugfs \/dev\/sdb1\ndebugfs 1.42.9 (4-Feb-2014)\ndebugfs:  stat \n\nInode: 2   Type: directory    Mode:  0755   Flags: 0x0\nGeneration: 0    Version: 0x00000000:00000002\nUser:     0   Group:     0   Size: 4096\nFile ACL: 0    Directory ACL: 0\nLinks: 3   Blockcount: 8\nFragment:  Address: 0    Number: 0    Size: 0\n ctime: 0x5d43cb51:16b61bcc -- Fri Aug  2 16:34:09 2019\n atime: 0x5d43c247:b704301c -- Fri Aug  2 15:55:35 2019\n mtime: 0x5d43cb51:16b61bcc -- Fri Aug  2 16:34:09 2019\ncrtime: 0x5d43b5c6:00000000 -- Fri Aug  2 15:02:14 2019\nSize of extra inode fields: 28\nBLOCKS:\n(0):579\nTOTAL: 1<\/code><\/pre>\n<p>\nSom man kan se, findes den n\u00f8dvendige mappe i blokken med nummer 579. Her finder vi nodenummeret for mappen home, og s\u00e5 videre i k\u00e6den, indtil vi i mappen serp ser nodenummeret for den anmodede fil. Hvis nogen skulle \u00f8nske at kontrollere, om nummeret er korrekt, og om der er de n\u00f8dvendige oplysninger, er det ikke sv\u00e6rt. G\u00f8r f\u00f8lgende:<\/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>\nI outputtet kan man l\u00e6se filnavne i mappen.<\/p>\n<p>Her n\u00e5r jeg til det vigtigste sp\u00f8rgsm\u00e5l: \u201eHvilke \u00e5rsager kan der f\u00f8re til en skrivefejl\u201c?<\/p>\n<p>Det vil naturligvis ske, hvis der ikke er nogen ledige blokke i filsystemet. Hvad kan man g\u00f8re i dette tilf\u00e6lde? Udover det oplagte \u201eslette noget un\u00f8dvendigt\u201c, skal man huske, at der i filsystemerne ext2,3 og 4 findes noget, der hedder \u201eReserved block count\u201c. Hvis man kigger p\u00e5 opstillingen ovenfor, s\u00e5 har vi s\u00e5dan nogle blokke \u201e13094\u201c. Det er blokke, der kun er tilg\u00e6ngelige for brugeren root. Men hvis man hurtigt skal l\u00f8se problemet, kan man midlertidigt g\u00f8re dem tilg\u00e6ngelige for alle, hvilket vil give lidt ledig plads:<\/p>\n<pre><code class=\"bash\">root@ubuntu:\/mnt# tune2fs -m 0 \/dev\/sdb1\ntune2fs 1.42.9 (4-Feb-2014)\nIndstiller den reserverede blokprocent til 0% (0 blokke)<\/code><\/pre>\n<p>\nDet vil sige, at 5% af diskpladsen som standard ikke er tilg\u00e6ngelig til skrivning, og i betragtning af moderne diskst\u00f8rrelser kan det v\u00e6re hundrede gigabyte.<\/p>\n<p>Hvad ellers kan der v\u00e6re? En anden mulig situation er, at der er frie blokke, men nodene er udsolgt. Dette sker typisk, hvis du har en masse filer i dit filsystem, der er mindre end st\u00f8rrelsen af en blok i filsystemet. Da 1 inode bruges pr. fil eller mappe, og der i alt er (for dette filsystem) 65536 \u2013 er situationen mere end reel. Det kan man tydeligt se i outputtet fra kommandoen 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>\nSom godt kan ses i \/var\/www, adskiller m\u00e6ngden af ledige filsystemblokke og antallet af ledige noder sig markant.<\/p>\n<p>Hvis inodes skulle l\u00f8be t\u00f8r, har jeg ikke nogen l\u00f8sninger, da der ikke er nogen (hvis jeg tager fejl, s\u00e5 lad mig vide det). S\u00e5 for partitioner, hvor sm\u00e5 filer hober sig op, b\u00f8r filsystemet v\u00e6lges med omhu. For eksempel kan inodes i btrfs ikke l\u00f8be t\u00f8r, da de dynamisk oprettes efter behov.<br \/>\n<br \/>Kilde: <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\/da\/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=\"da_DK\" \/>\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\/da\/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\udd47Noget om inodes | ProHoster","description":"Periodisk, med henblik p\u00e5 at flytte til CRS, har jeg samtaler i forskellige store virksomheder, prim\u00e6rt i Sankt Petersborg og Moskva til stillingen som DevOps.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/koe-chto-ob-inode","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","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\/da\/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\/da\/wp-json\/wp\/v2\/posts\/36984","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=36984"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/36984\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media\/27717"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=36984"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=36984"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=36984"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}