{"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\/no\/blog\/administrirovanie\/koe-chto-ob-inode","title":{"rendered":"Noe om inode","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Av og til, for \u00e5 flytte til et datasenter, har jeg intervjuer i ulike store selskaper, hovedsakelig i St. Petersburg og Moskva, for stillinger som DevOps. Jeg har lagt merke til at mange selskaper (mange gode selskaper, for eksempel Yandex) stiller to lignende sp\u00f8rsm\u00e5l:<\/p>\n<ul>\n<li> Hva er inode;<\/li>\n<li> Hvilke grunner kan f\u00f8re til skrivefeil p\u00e5 disken (eller for eksempel: hvorfor kan det bli fullt p\u00e5 disken, essensen er den samme).\n<\/li>\n<\/ul>\n<p>\nSom det ofte skjer, var jeg sikker p\u00e5 at jeg kjente dette emnet godt, men s\u00e5 snart jeg begynte \u00e5 forklare det \u2014 dukket kunnskapshullene opp. For \u00e5 systematisere min kunnskap, fylle hullene og aldri mer skjemmes, skriver jeg denne artikkelen, kanskje den kan v\u00e6re nyttig for noen andre.<\/p>\n<p>Jeg begynner \u00abnedenfra\u00bb, det vil si med harddisken (vi ser bort fra flashminner, SSD-er og andre moderne enheter, for eksempel tar vi hvilket som helst gammelt 20- eller 80-gigabytes disk, da blokkst\u00f8rrelsen der er 512 byte).<\/p>\n<p>Harddisken kan ikke adressere sitt rom byte for byte, det er betinget delt opp i blokker. Blokknummervingen starter fra 0. (dette kalles 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=\"Noe 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 man kan se fra tegningen, har jeg markert LBA-blokkene som niv\u00e5et til harddisken. For \u00f8vrig, for \u00e5 se hvilken blokkst\u00f8rrelse disken din har, kan du gj\u00f8re det slik: <\/p>\n<pre><code class=\"bash\">root@ubuntu:\/home\/serp# blockdev --getpbsz \/dev\/sdb\n512<\/code><\/pre>\n<p>\nOvenfor er en partisjon merket, \u00e9n for hele disken (igjen for enkelhets skyld). Vanligvis brukes partisjoneringsskjemaer av to typer: msdos og gpt. Hhv. er msdos \u2014 det gamle formatet, som st\u00f8tter disker opp til 2Tb, gpt \u2014 det nye formatet, i stand til \u00e5 adressere opp til 1 zettabyte 512-byte blokker. I v\u00e5rt tilfelle har vi en msdos-partisjon, som kan sees fra tegningen, der partisjonen begynner ved blokk nr. 1, mens blokk 0 brukes til MBR.<\/p>\n<p>I den f\u00f8rste partisjonen opprettet jeg et ext2-filsystem, som per standard har en blokkst\u00f8rrelse p\u00e5 4096 byte, noe som ogs\u00e5 er vist p\u00e5 tegningen. Du kan sjekke st\u00f8rrelsen p\u00e5 blokken i filsystmet slik:<\/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 trenger er \u00abBlock size\u00bb.<\/p>\n<p>N\u00e5 er det interessante, hvordan lese filen \/home\/serp\/testfile? Filen best\u00e5r av en eller flere blokker i filsystemet, hvor dataene lagres. Hvordan finne filen ved \u00e5 vite navnet? Hvilke blokker skal leses?<\/p>\n<p>Her kommer vi til nytte av inode. I filsystemet ext2fs finnes det en \u00abtabell\u00bb som inneholder informasjon om alle inode. Antallet inode i ext2fs bestemmes ved oppretting av filsystemet. De n\u00f8dvendige tallene finner vi i parameteren \u00abInode count\u00bb i uteksporten fra tune2fs, dvs. vi har 65536 stk. I inode inneholder den n\u00f8dvendige informasjonen: listen over filsystemblokkene for den s\u00f8kte filen. Hvordan finne inode-nummeret for den spesifiserte filen?<\/p>\n<p>Samsvaret mellom navn og inode-nummer er lagret i katalogen, og katalogen i ext2fs er en fil av en spesiell type, dvs. den har ogs\u00e5 sitt eget inode-nummer. For \u00e5 bryte denne onde sirkelen ble inode-nummeret for rotkatalogen tildelt et \u00abfast\u00bb nummer, \u00ab2\u00bb. La oss se innholdet i 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 det fremg\u00e5r, er den n\u00f8dvendige mappe indeholdt i blokken med nummer 579. Her finder vi node-nummeret for mappen home, og s\u00e5 videre i r\u00e6kken, indtil vi i mappen serp ser node-nummeret for den anmodede fil. Hvis nogen pludselig \u00f8nsker at tjekke, om nummeret er korrekt, og om der er de n\u00f8dvendige oplysninger, er det ikke sv\u00e6rt. Vi g\u00f8r:<\/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 filnavnene i mappen.<\/p>\n<p>S\u00e5 er jeg n\u00e5et til det vigtigste sp\u00f8rgsm\u00e5l: \"hvilke \u00e5rsager kan der v\u00e6re til, at der opst\u00e5r en skrivefejl\"?<\/p>\n<p>Det vil naturligvis ske, hvis der ikke er ledige blokke i filsystemet. Hvad kan man g\u00f8re i dette tilf\u00e6lde? Udover den oplagte l\u00f8sning at \"fjerne noget un\u00f8dvendigt\" b\u00f8r man huske, at der i filsystemerne ext2, 3 og 4 findes noget, der hedder \"Reserved block count\". Hvis man ser i listen ovenfor, har vi disse blokke \"13094\". Disse blokke er kun tilg\u00e6ngelige for brugeren root. Men hvis man hurtigt skal l\u00f8se problemet, kan man 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)\nS\u00e6tter procentdelen af reserverede blokke til 0% (0 blokke)<\/code><\/pre>\n<p>\nDet vil sige, at 5% af diskpladsen som standard ikke er tilg\u00e6ngelig for skrivning, og taget i betragtning, hvor store moderne diske er, kan det v\u00e6re hundreder af gigabyte.<\/p>\n<p>Hvad ellers kan der v\u00e6re? Der kan ogs\u00e5 opst\u00e5 en situation, hvor der er ledige blokke, men noderne er opbrugt. Dette sker typisk, hvis man har masser af filer i filsystemet, som er mindre end st\u00f8rrelsen p\u00e5 filsystemets blok. Da der bruges 1 inode pr. fil eller mappe, og der i alt findes (for dette filsystem) 65536 \u2014 er denne situation mere end realistisk. Dette 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, er antallet af ledige filsystemblokke og antallet af ledige inodes meget forskelligt.<\/p>\n<p>Hvis inodes l\u00f8ber t\u00f8r, kan jeg ikke hj\u00e6lpe med r\u00e5d, fordi der ikke er nogen (hvis jeg tager fejl, s\u00e5 lad mig vide). S\u00e5 for partitioner, hvor sm\u00e5 filer produceres, skal filsystemet v\u00e6lges korrekt. For eksempel kan inodes ikke l\u00f8be t\u00f8r i btrfs, da nye oprettes dynamisk 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.5 - 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\/no\/blog\/administrirovanie\/koe-chto-ob-inode\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"nn_NO\" \/>\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\/no\/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 interviewer jeg mig i forskellige st\u00f8rre virksomheder med henblik p\u00e5 at flytte til et datacenter, prim\u00e6rt i St. Petersborg og Moskva i stillingen som DevOps.","canonical_url":"https:\/\/prohoster.info\/no\/blog\/administrirovanie\/koe-chto-ob-inode","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nn_NO","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\/no\/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\/no\/wp-json\/wp\/v2\/posts\/36984","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/comments?post=36984"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts\/36984\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/media\/27717"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/media?parent=36984"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/categories?post=36984"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/tags?post=36984"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}