{"id":8053,"date":"2021-01-13T21:18:00","date_gmt":"2021-01-13T20:18:00","guid":{"rendered":"https:\/\/monodes.com\/predaelli\/?p=8053"},"modified":"2021-01-13T09:20:09","modified_gmt":"2021-01-13T08:20:09","slug":"lvm-cache-su-ssd","status":"publish","type":"post","link":"https:\/\/monodes.com\/predaelli\/2021\/01\/13\/lvm-cache-su-ssd\/","title":{"rendered":"LVM Cache su SSD"},"content":{"rendered":"<p><a title=\"01:01\" href=\"https:\/\/golem.linux.it\/wp\/2020\/05\/lvm-cache-su-ssd\/\" rel=\"bookmark\"><time class=\"entry-date\" datetime=\"2020-05-24T01:01:30+02:00\">24 Maggio 2020<\/time><\/a><span class=\"by-author\"><span class=\"by-author\"> <span class=\"author vcard\"><a class=\"url fn n\" title=\"View all posts by giomba\" href=\"https:\/\/golem.linux.it\/wp\/author\/giomba\/\" rel=\"author\">giomba<\/a> ha pubblicato la guida <\/span><\/span><\/span><a href=\"https:\/\/golem.linux.it\/wp\/2020\/05\/lvm-cache-su-ssd\/\">LVM Cache su SSD<\/a>.<\/p>\n<p>La mia macchina principale \u00e8 configurata <strong>esattamente<\/strong> come la sua all&#8217;inizio, anche se io ne sono abbastanza soddisfatto. In fin dei conti \u00e8 un towerone pensato per poter essere aggiornato a pezzi man mano.<\/p>\n<p>Per\u00f2 l&#8217;idea di mettere un SSD come cache mi intriga.<\/p>\n<p>Per dirla tutta per\u00f2 la mia \/home non \u00e8 mica dentro LVM&#8230;<\/p>\n<p><!--more--><\/p>\n<p><!--nextpage--><\/p>\n<p>&nbsp;<\/p>\n<blockquote>\n<header class=\"entry-header\">\n<h1 class=\"entry-title\"><a href=\"https:\/\/golem.linux.it\/wp\/2020\/05\/lvm-cache-su-ssd\/\">LVM Cache su SSD<\/a><\/h1>\n<\/header>\n<div class=\"entry-content\">\n<p>Stanco delle prestazioni da bradipo dell\u2019emulatore di Android e della (ahim\u00e9 talvolta necessaria) macchina virtuale con Windows, che <em>grattano<\/em> di continuo sul disco meccanico della mia home directory, ho deciso che era giunto il momento di intervenire, per evitare di trovarsi catapultati negli anni 90 ogni due minuti.<\/p>\n<p>Per risolvere il problema prestazionale esiste una soluzione molto semplice: comprare un nuovo disco a stato solido, abbastanza capiente. Questa soluzione per\u00f2 non \u00e8 sicuramente delle pi\u00f9 economiche.<\/p>\n<p>La soluzione <em>arzigogolata<\/em> e <em>nerd<\/em> invece \u00e8: usare un piccolo disco SSD d\u2019avanzo come cache per il disco meccanico.<\/p>\n<h2>Configurazione iniziale<\/h2>\n<p>Qualche mese fa mi \u00e8 capitata una <a href=\"https:\/\/golem.linux.it\/wp\/2020\/02\/rocambolesca-riparazione-di-un-hard-disk-seagate\/\">rocambolesca avventura<\/a> per cui ho rischiato di perdere tutti i miei dati per colpa di un programmatore di firmware distratto. Certo, avevo un backup, ma non \u00e8 la stessa cosa.<\/p>\n<p>Quel giorno comprai dei dischi nuovi e mi feci un bel RAID1, come in figura.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1241\" data-permalink=\"https:\/\/monodes.com\/predaelli\/2016\/04\/01\/stick-to-standards\/skype\/\" data-orig-file=\"https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2016\/04\/skype.png?fit=200%2C200&amp;ssl=1\" data-orig-size=\"200,200\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"skype\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2016\/04\/skype.png?fit=200%2C200&amp;ssl=1\" class=\"wp-image-1241\" src=\"https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2021\/01\/inizio-2.png?resize=181%2C161&#038;ssl=1\" alt=\"\" width=\"181\" height=\"161\"\/><\/figure>\n<\/div>\n<\/div>\n<\/blockquote>\n<p>Configurazione attuale, lenta<\/p>\n<p>Questa configurazione avrebbe dovuto aiutarmi a prevenire perdite di dati, e anche a migliorare le performance in lettura dei dischi. Tuttavia, come ben presto si \u00e8 rivelato, le cose non stavano affatto cos\u00ec, almeno quando i dischi venivano (ab)usati dalle sopraccitate applicazioni, particolarmente avide di random IO.<\/p>\n<p>Il sistema operativo risiede comunque su un disco SSD a parte.<\/p>\n<h2>Nuova configurazione<\/h2>\n<p>Avendo un disco SSD d\u2019avanzo, che avevo usato per rinsavire il computer portatile che mi ha accompagnato per numerosi viaggi in treno avanti e indietro per l\u2019Universit\u00e0, ho quindi deciso di modificare la mia configurazione nel seguente modo.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/golem.linux.it\/wp\/2020\/05\/lvm-cache-su-ssd\/\"><img data-recalc-dims=\"1\" decoding=\"async\" class=\"alignnone size-full\" src=\"https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2021\/01\/nuova-2.png?w=910&#038;ssl=1\" alt=\"\"\/><\/a><figcaption>Nuova configurazione desiderata<\/figcaption><\/figure>\n<\/div>\n<p>In questo modo, ogni volta che viene effettuato un accesso ad un file sul mio filesystem, LVM si preoccupa di controllare se, per caso, tale accesso pu\u00f2 essere fatto anche per mezzo di una copia che si trova sul disco SSD.<\/p>\n<p>S\u00ec, LVM probabilmente potrebbe gestire direttamente anche il RAID, ma per il momento ho preferito <em>riutilizzare<\/em> le conoscenze gi\u00e0 acquisite e continuare a sfruttare il RAID con <em>mdadm<\/em>.<\/p>\n<h2>La torre di Hanoi<\/h2>\n<p>Mi sono fatto prestare un disco meccanico di capienza identica ai miei dall\u2019Officina Informatica del GOLEM.<\/p>\n<p>Copiare tutto su quel disco e ricopiare di nuovo sul RAID? No, ho gi\u00e0 trovato un disco col firmware buggato, e non desidero trovarne altri. Figuriamoci usare un disco usato di recupero!<\/p>\n<p>Fare una specie di torre di Hanoi e rischiare comunque di perdere i dati per qualche errore umano (da me commesso)? S\u00ec, facciamolo.<\/p>\n<p>Mi sono quindi portato nella seguente situazione, installando il disco meccanico di passaggio, nominato <em>sdd<\/em>.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/golem.linux.it\/wp\/2020\/05\/lvm-cache-su-ssd\/\"><img data-recalc-dims=\"1\" decoding=\"async\" class=\"alignnone size-full\" src=\"https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2021\/01\/lvmcache3-2.png?w=910&#038;ssl=1\" alt=\"\"\/><\/a><figcaption>Vecchia e nuova configurazione (parziale) a confronto.<br \/>\nA sinistra l\u2019array md0, a destra md1.<\/figcaption><\/figure>\n<\/div>\n<p>Poich\u00e9 \u00e8 molto facile fare confusione con i nomi, e poich\u00e9 LVM permette di usare nomi mnemonici, ho assegnato i seguenti nomi autoesplicativi ai vari componenti del mio spazio di archiviazione.<\/p>\n<ul>\n<li><em>picostorage<\/em>: il gruppo virtuale;<\/li>\n<li><em>slowdino<\/em>: il volume sul vecchio lento dinosauro meccanico (il RAID1);<\/li>\n<li><em>fastrabbit<\/em>: il volume sul nuovo veloce disco SSD;<\/li>\n<li><em>metaguy<\/em>: il volume per i metadati;<\/li>\n<\/ul>\n<p>Ho impostato la nuova configurazione, ma con un disco mancante (in rosso in figura).<\/p>\n<pre class=\"wp-block-code\"><code class=\"\" data-line=\"\"># mdadm --create \/dev\/md1 --level=mirror --raid-devices=2 \/dev\/sdd missing\n# pvcreate \/dev\/md1\n# vgcreate picostorage \/dev\/md1\n# lvcreate --name slowdino --size 1t picostorage \/dev\/md1\n# mkfs.ext4 \/dev\/picostorage\/slowdino<\/code><\/pre>\n<p>Dopodich\u00e9 ho avviato la copia dei dati.<\/p>\n<pre class=\"wp-block-code\"><code class=\"\" data-line=\"\"># mount \/dev\/picostorage\/slowdino \/mnt\/dst\n# rsync -av \/home\/* \/mnt\/dst<\/code><\/pre>\n<p>E, mentre copiava, conscio del fatto che avrebbe impiegato diverso tempo, mi sono preparato a inserire la cache.<\/p>\n<pre class=\"wp-block-code\"><code class=\"\" data-line=\"\"># pvcreate \/dev\/sdc\n# vgextend picostorage \/dev\/sdc\n# lvcreate --name fastrabbit --size 64g picostorage \/dev\/sdc\n# lvcreate --name metaguy --size 64m picostorage \/dev\/sdc\n# lvconvert --type cache-pool --poolmetadata picostorage\/metaguy picostorage\/fastrabbit<\/code><\/pre>\n<p>Ho atteso la fine della copia dei miei dati, per evitare di abusare del povero disco SSD pi\u00f9 del dovuto, dopodich\u00e9 ho attivato la cache.<\/p>\n<pre class=\"wp-block-code\"><code class=\"\" data-line=\"\"># lvconvert --type cache --cachepool picostorage\/fastrabbit picostorage\/slowdino<\/code><\/pre>\n<p>A questo punto, la cache \u00e8 attiva. Non rimane che colmare il <em>buco<\/em> dell\u2019array con uno dei dischi del vecchio array: simulo un guasto a uno dei dischi, lo rimuovo dall\u2019array originale, cancello i metadati, e lo inserisco nel nuovo array.<\/p>\n<pre class=\"wp-block-code\"><code class=\"\" data-line=\"\"># mdadm \/dev\/md0 -f \/dev\/sdb\n# mdadm \/dev\/md0 -r \/dev\/sdb\n# dd if=\/dev\/zero of=\/dev\/sdb bs=1M count=1\n# mdadm \/dev\/md1 --add \/dev\/sdb<\/code><\/pre>\n<p>Mi trovo quindi in questa condizione, e attendo pazientemente che l\u2019array su <em>sdb<\/em> venga ricostruito, controllandolo con <em>mdstat<\/em>.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/golem.linux.it\/wp\/2020\/05\/lvm-cache-su-ssd\/\"><img data-recalc-dims=\"1\" decoding=\"async\" class=\"alignnone size-full\" src=\"https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2021\/01\/lvmcache4-2.png?w=910&#038;ssl=1\" alt=\"\"\/><\/a><\/figure>\n<\/div>\n<p>Una volta ricostruito l\u2019array correttamente su <em>sdb<\/em> e su <em>sdd<\/em>, ripeto l\u2019operazione, simulando stavolta il fallimento di <em>sdd<\/em>, e inserendo nell\u2019array <em>sda.<\/em> Al termine dell\u2019operazione, mi trovo con i miei due dischi <em>sda<\/em> e <em>sdb<\/em> nella nuova configurazione, e posso restituire <em>sdd<\/em> al GOLEM.<\/p>\n<p>In nessun momento di tutta questa procedura i miei dati sono stati su un disco soltanto, perci\u00f2 si pu\u00f2 dire che la procedura sia a prova di guasti hardware.<\/p>\n<p>Non sono per\u00f2 sicuro che sia a prova di guasti umani, perci\u00f2 non fatelo a casa. <img decoding=\"async\" class=\"emoji\" role=\"img\" draggable=\"false\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/13.0.0\/svg\/1f642.svg\" alt=\"\ud83d\ude42\"\/><\/p>\n<h2>Benchmark<\/h2>\n<p>Per verificare se davvero questa cache serve a qualcosa, faccio un veloce test.<\/p>\n<pre class=\"wp-block-code\"><code class=\"\" data-line=\"\">$ fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4k --iodepth=64 --size=500M --readwrite=randrw --rwmixread=75<\/code><\/pre>\n<p>A fronte di circa 400 IOPS ottenute prima di installare la cache, adesso ne vengono fatte oltre 4000! <img decoding=\"async\" class=\"emoji\" role=\"img\" draggable=\"false\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/13.0.0\/svg\/1f62e.svg\" alt=\"\ud83d\ude2e\"\/> Un risultato pi\u00f9 che soddisfacente.<\/p>\n<p>Anche durante l\u2019uso delle applicazioni pi\u00f9 avide, adesso la macchina risulta molto pi\u00f9 fluida.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/golem.linux.it\/wp\/2020\/05\/lvm-cache-su-ssd\/\"><img data-recalc-dims=\"1\" decoding=\"async\" class=\"alignnone size-full\" src=\"https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2021\/01\/cache-ksysguard-2.png?w=910&#038;ssl=1\" alt=\"\"\/><\/a><figcaption>Il monitor di sistema mostra chiaramente i miglioramenti in lettura\/scrittura dalla cache (in verde chiaro e fucsia), comparati con la lettura\/scrittura dai dischi meccanici (in verde e rosso)<\/figcaption><\/figure>\n<\/div>\n<h2>Manutenzione<\/h2>\n<p>Ogni tanto \u00e8 bene controllare lo stato della cache e del RAID, e per questo ci vengono in aiuto i seguenti comandi:<\/p>\n<pre class=\"wp-block-code\"><code class=\"\" data-line=\"\"># lvdisplay\n# mdstat<\/code><\/pre>\n<p><!--nextpage--><\/p>\n<p><!--more--><\/p>\n<p><!--nextpage--><\/p>\n<p><!--more--><\/p>\n<p><!--more--><\/p>\n<p><!--nextpage--><\/p>\n","protected":false},"excerpt":{"rendered":"<p class=\"excerpt\">24 Maggio 2020 giomba ha pubblicato la guida LVM Cache su SSD. La mia macchina principale \u00e8 configurata esattamente come la sua all&#8217;inizio, anche se io ne sono abbastanza soddisfatto. In fin dei conti \u00e8 un towerone pensato per poter essere aggiornato a pezzi man mano. Per\u00f2 l&#8217;idea di mettere un SSD come cache mi&hellip;<\/p>\n<p class=\"more-link-p\"><a class=\"more-link\" href=\"https:\/\/monodes.com\/predaelli\/2021\/01\/13\/lvm-cache-su-ssd\/\">Read more &rarr;<\/a><\/p>\n","protected":false},"author":1,"featured_media":8069,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[72,278],"tags":[287,285,286],"class_list":["post-8053","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-documentations","category-tricks","tag-cache","tag-lvm","tag-ssd"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2021\/01\/lvmcache4-2.png?fit=477%2C221&ssl=1","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p6daft-25T","jetpack-related-posts":[{"id":7206,"url":"https:\/\/monodes.com\/predaelli\/2020\/05\/12\/how-to-increase-the-size-of-a-linux-lvm-by-expanding-the-virtual-machine-disk\/","url_meta":{"origin":8053,"position":0},"title":"How to Increase the size of a Linux LVM by expanding the virtual machine disk","author":"Paolo Redaelli","date":"2020-05-12","format":false,"excerpt":"How to Increase the size of a Linux LVM by expanding the virtual machine disk How to Increase the size of a Linux LVM by expanding the virtual machine disk Posted by Jarrod on December 12, 2012 Leave a comment (284) Go to comments This post will cover how to\u2026","rel":"","context":"In &quot;Documentations&quot;","block_context":{"text":"Documentations","link":"https:\/\/monodes.com\/predaelli\/category\/documentations\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":5166,"url":"https:\/\/monodes.com\/predaelli\/2019\/01\/31\/home-directory-is-it-okay-to-delete-cache-ask-ubuntu\/","url_meta":{"origin":8053,"position":1},"title":"home directory &#8211; Is it okay to delete ~\/.cache? &#8211; Ask Ubuntu","author":"Paolo Redaelli","date":"2019-01-31","format":false,"excerpt":"home directory - Is it okay to delete ~\/.cache? - Ask Ubuntu This will delete everything in your .cache that was last accessed more than a year ago find ~\/.cache\/ -type f -atime +365 -delete If you're nervous about running it, this will show you what's going to be deleted:\u2026","rel":"","context":"In &quot;Documentations&quot;","block_context":{"text":"Documentations","link":"https:\/\/monodes.com\/predaelli\/category\/documentations\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":9692,"url":"https:\/\/monodes.com\/predaelli\/2022\/10\/03\/home-directory-is-it-okay-to-delete-the-cache-folder-ask-ubuntu\/","url_meta":{"origin":8053,"position":2},"title":"home directory &#8211; Is it okay to delete the ~\/.cache folder? &#8211; Ask Ubuntu","author":"Paolo Redaelli","date":"2022-10-03","format":"quote","excerpt":"This will delete everything in your .cache that was last accessed more than a year ago find ~\/.cache\/ -type f -atime +365 -delete Source: home directory - Is it okay to delete the ~\/.cache folder? - Ask Ubuntu","rel":"","context":"In &quot;Tricks&quot;","block_context":{"text":"Tricks","link":"https:\/\/monodes.com\/predaelli\/category\/documentations\/tricks\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1112,"url":"https:\/\/monodes.com\/predaelli\/2016\/03\/09\/flush-the-cache-luke\/","url_meta":{"origin":8053,"position":3},"title":"Flush the cache, Luke","author":"Paolo Redaelli","date":"2016-03-09","format":false,"excerpt":"I have been writing about this annoying bug a month ago: I've solved it. I solved it flushing the browser cache. So always remember to check everything even the obvious and stick to the fundamentals. \u00a0","rel":"","context":"In &quot;Mood&quot;","block_context":{"text":"Mood","link":"https:\/\/monodes.com\/predaelli\/category\/mood\/"},"img":{"alt_text":"Instead I get this (working) links","src":"https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2016\/01\/press-this-bug.png?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2016\/01\/press-this-bug.png?resize=350%2C200 1x, https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2016\/01\/press-this-bug.png?resize=525%2C300 1.5x, https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2016\/01\/press-this-bug.png?resize=700%2C400 2x"},"classes":[]},{"id":1254,"url":"https:\/\/monodes.com\/predaelli\/2016\/04\/06\/aptyum-cheatlist\/","url_meta":{"origin":8053,"position":4},"title":"apt\/yum cheatlist","author":"Paolo Redaelli","date":"2016-04-06","format":false,"excerpt":"apt-cache se I'm actually doing the reverse: SwitchingToUbuntu\/FromLinux\/RedHatEnterpriseLinuxAndFedora\u00a0 but it's easy as a quick Ctrl-F or \/ Table of Equivalent Commands Below is a table of equivalent commands for package management on both Ubuntu\/Debian and Red Hat\/Fedora systems. Task Red Hat\/Fedora Ubuntu Adding, Removing and Upgrading Packages Refresh list of\u2026","rel":"","context":"In &quot;Debian&quot;","block_context":{"text":"Debian","link":"https:\/\/monodes.com\/predaelli\/category\/debian\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":9252,"url":"https:\/\/monodes.com\/predaelli\/2022\/04\/07\/hyperfine\/","url_meta":{"origin":8053,"position":5},"title":"hyperfine","author":"Paolo Redaelli","date":"2022-04-07","format":false,"excerpt":"hyperfine A command-line benchmarking tool. Demo: Benchmarking fd and find: Features Statistical analysis across multiple runs.Support for arbitrary shell commands.Constant feedback about the benchmark progress and current estimates.Warmup runs can be executed before the actual benchmark.Cache-clearing commands can be set up before each timing run.Statistical outlier detection to detect interference\u2026","rel":"","context":"In &quot;Software&quot;","block_context":{"text":"Software","link":"https:\/\/monodes.com\/predaelli\/category\/software\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/posts\/8053","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/comments?post=8053"}],"version-history":[{"count":0,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/posts\/8053\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/media\/8069"}],"wp:attachment":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/media?parent=8053"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/categories?post=8053"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/tags?post=8053"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}