{"id":11581,"date":"2024-04-08T21:13:00","date_gmt":"2024-04-08T19:13:00","guid":{"rendered":"https:\/\/monodes.com\/predaelli\/?p=11581"},"modified":"2024-04-08T17:54:23","modified_gmt":"2024-04-08T15:54:23","slug":"5-tips-to-speed-up-linux-software-raid-rebuilding-and-re-syncing-nixcraft","status":"publish","type":"post","link":"https:\/\/monodes.com\/predaelli\/2024\/04\/08\/5-tips-to-speed-up-linux-software-raid-rebuilding-and-re-syncing-nixcraft\/","title":{"rendered":"5 Tips To Speed Up Linux Software Raid Rebuilding And Re-syncing &#8211; nixCraft"},"content":{"rendered":"\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Speed Up Linux Software Raid: Various commands tips to increase the speed of Linux Software RAID 0\/1\/5\/6\/10 reconstruction and rebuild time<\/p>\n<\/blockquote>\n\n\n\n<p>Source: <em><a href=\"https:\/\/www.cyberciti.biz\/tips\/linux-raid-increase-resync-rebuild-speed.html\">5 Tips To Speed Up Linux Software Raid Rebuilding And Re-syncing &#8211; nixCraft<\/a><\/em><\/p>\n\n\n\n<!--more-->\n\n\n\n<!--nextpage-->\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<h1 class=\"wp-block-heading\"><a href=\"https:\/\/www.cyberciti.biz\/tips\/linux-raid-increase-resync-rebuild-speed.html\">5 Tips To Speed Up Linux Software Raid Rebuilding And Re-syncing<\/a><\/h1>\n\n\n\n<p>Author:Vivek GiteLast updated:April 7, 2024<a href=\"https:\/\/www.cyberciti.biz\/tips\/linux-raid-increase-resync-rebuild-speed.html#comments\">67 comments<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/www.cyberciti.biz\/tips\/category\/linux\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/www.cyberciti.biz\/media\/new\/category\/old\/linux-logo.png?w=910&#038;ssl=1\" alt=\"\"\/><\/a><\/figure>\n\n\n\n<p>It is no secret that I am a pretty big fan of <a href=\"https:\/\/www.cyberciti.biz\/tips\/raid-hardware-vs-raid-software.html\">excellent Linux Software RAID<\/a>. Creating, assembling and rebuilding small array is fine. But, things started to get nasty when you try to rebuild or re-sync large size array. You may get frustrated when you see it is going to take 22 hours to rebuild the array. You can always increase the speed of Linux Software RAID 0\/1\/5\/6 reconstruction using the following five tips.<br \/><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why speed up Linux software RAID rebuilding and re-syncing?<\/h2>\n\n\n\n<p>Recently, I build a small NAS server running Linux for one my client with 5 x 2TB disks in RAID 6 configuration for all in one backup server for Linux, Mac OS X, and Windows XP\/Vista\/7\/10 client computers. Next, I type the command <kbd>cat \/proc\/mdstat<\/kbd> and it reported that md0 is active and recovery is in progress. The recovery speed was around 4000K\/sec and will complete in approximately in 22 hours. I wanted to finish this early.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">A note about lazy initialization and ext4 file system<\/h2>\n\n\n\n<p>When creating an ext4 file system, the Linux kernel uses lazy initialization. This feature allows the faster creatation of a file system. A process called \u201cext4lazyinit\u201d runs in the background to create rest of all inode tables. As a result, your RAID rebuild is going to operate at minimal speed. This only affects if you have just created an ext4 filesystem. There is an option to enable or disable this feature while running mkfs.ext4 command:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><kbd>lazy_itable_init[= &lt;0 to disable, 1 to enable&gt;]<\/kbd> \u2013 If enabled and the uninit_bg feature is enabled, the inode table will not be fully initialized by mke2fs. This speeds up filesystem initialization noticeably, but it requires the kernel to finish initializing the filesystem in the background when the filesystem is first mounted. If the option value is omitted, it defaults to 1 to enable lazy inode table zeroing.<\/li>\n\n\n\n<li><kbd>lazy_journal_init[= &lt;0 to disable, 1 to enable&gt;]<\/kbd> \u2013 If enabled, the journal inode will not be fully zeroed out by mke2fs. This speeds up filesystem initialization noticeably, but carries some small risk if the system crashes before the journal has been overwritten entirely one time. If the option value is omitted, it defaults to 1 to enable lazy journal inode zeroing.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Tip #1: \/proc\/sys\/dev\/raid\/{speed_limit_max,speed_limit_min} kernel variables<\/h2>\n\n\n\n<p>The <kbd>\/proc\/sys\/dev\/raid\/speed_limit_min<\/kbd> is config file that reflects the current \u201cgoal\u201d rebuild speed for times when non-rebuild activity is current on an array. The speed is in Kibibytes per second (1 kibibyte = 2<sup>10<\/sup> bytes = 1024 bytes), and is a per-device rate, not a per-array rate . The default is 1000.<\/p>\n\n\n\n<p>The <kbd>\/proc\/sys\/dev\/raid\/speed_limit_max<\/kbd> is config file that reflects the current \u201cgoal\u201d rebuild speed for times when no non-rebuild activity is current on an array. The default is 100,000.<\/p>\n\n\n\n<p>To see current limits, enter:<br \/><code class=\"\" data-line=\"\">sysctl dev.raid.speed_limit_min&lt;br&gt;<\/code><\/p>\n\n\n\n<p><code class=\"\" data-line=\"\">sysctl dev.raid.speed_limit_max<\/code><br \/>Sample outputs:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">dev.raid.speed_limit_min = 10000\ndev.raid.speed_limit_max = 20000<\/pre>\n\n\n\n<p><strong>NOTE<\/strong>: The following hacks are used for recovering Linux software raid, and to increase the speed of RAID rebuilds. Options are good for tweaking rebuilt process and may increase overall system load, high cpu and memory usage.<\/p>\n\n\n\n<p>To increase speed, enter:<br \/><code class=\"\" data-line=\"\">echo value &gt; \/proc\/sys\/dev\/raid\/speed_limit_min<\/code><br \/>OR<br \/><code class=\"\" data-line=\"\">sysctl -w dev.raid.speed_limit_min=value<\/code><br \/>In this example, set it to 50000 K\/Sec, enter:<br \/><code class=\"\" data-line=\"\">echo 50000 &gt; \/proc\/sys\/dev\/raid\/speed_limit_min<\/code><br \/>OR<\/p>\n\n\n\n<p><code class=\"\" data-line=\"\">sysctl -w dev.raid.speed_limit_min=50000<\/code><br \/>If you want to override the defaults you could add these two lines to <a href=\"https:\/\/www.cyberciti.biz\/faq\/making-changes-to-proc-filesystem-permanently\/\">\/etc\/sysctl.conf<\/a>:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">#################NOTE ################\n##  You are limited by CPU and memory too #\n###########################################\ndev.raid.speed_limit_min = 50000\n## good for 4-5 disks based array ##\ndev.raid.speed_limit_max = 2000000\n## good for large 6-12 disks based array ###\ndev.raid.speed_limit_max = 5000000<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Tip #2: Set read-ahead option<\/h2>\n\n\n\n<p>Set readahead (in 512-byte sectors) per raid device. The syntax is:<br \/><code class=\"\" data-line=\"\">blockdev --setra 65536 \/dev\/mdX&lt;br&gt;## Set read-ahead to 32 MiB ##&lt;br&gt;<\/code><code class=\"\" data-line=\"\">blockdev --setra 65536 \/dev\/md0&lt;br&gt;<\/code><\/p>\n\n\n\n<p><code class=\"\" data-line=\"\">blockdev --setra 65536 \/dev\/md1<\/code><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Tip #3: Set stripe-cache_size for RAID5 or RAID 6<\/h2>\n\n\n\n<p>This is only available on <strong>RAID5 and RAID6<\/strong> and boost sync performance by 3-6 times. It records the size (in pages per device) of the stripe cache which is used for synchronising all write operations to the array and all read operations if the array is degraded. The default is 256. Valid values are 17 to 32768. Increasing this number can increase performance in some situations, at some cost in system memory. Note, setting this value too high can result in an \u201cout of memory\u201d condition for the system. Use the following formula:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">memory_consumed = system_page_size * nr_disks * stripe_cache_size\n<\/pre>\n\n\n\n<p>To set stripe_cache_size to 16 MiB for \/dev\/md0, type:<br \/><code class=\"\" data-line=\"\">echo 16384 &gt; \/sys\/block\/md0\/md\/stripe_cache_size<\/code><br \/>To set stripe_cache_size to 32 MiB for \/dev\/md3, type:<\/p>\n\n\n\n<p><code class=\"\" data-line=\"\">echo 32768 &gt; \/sys\/block\/md3\/md\/stripe_cache_size<\/code><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Tip #4: Disable NCQ on all disks<\/h2>\n\n\n\n<p>The following will disable NCQ on \/dev\/sda,\/dev\/sdb,..,\/dev\/sde <a href=\"https:\/\/www.cyberciti.biz\/faq\/bash-for-loop\/\">using bash for loop<\/a><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">## sample for loop ##\nfor i in sd[abcde]\ndo\n  echo 1 &gt; \/sys\/block\/$i\/device\/queue_depth\ndone<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Tip #5: Bitmap Option<\/h2>\n\n\n\n<p>Bitmaps optimize rebuild time after a crash, or after removing and re-adding a device. Turn it on by typing the following command:<br \/><code class=\"\" data-line=\"\">mdadm --grow --bitmap=internal \/dev\/md0<\/code><br \/>Once array rebuild or fully synced, disable bitmaps:<\/p>\n\n\n\n<p><code class=\"\" data-line=\"\">mdadm --grow --bitmap=none \/dev\/md0<\/code><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Results<\/h2>\n\n\n\n<p>My speed went from 4k to 51k:<br \/><code class=\"\" data-line=\"\">cat \/proc\/mdstat<\/code><br \/>Sample outputs:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath]\nmd5 : active raid1 sde2[2](S) sdd2[3](S) sdc2[4](S) sdb2[1] sda2[0]\n      530048 blocks [2\/2] [UU]\n\nmd0 : active raid6 sde3[4] sdd3[3] sdc3[2] sdb3[1] sda3[0]\n      5855836800 blocks level 6, 64k chunk, algorithm 2 [5\/5] [UUUUU]\n      [============&gt;........]  resync = 61.7% (1205475036\/1951945600) finish=242.9min speed=51204K\/sec\n<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Monitoring raid rebuilding\/recovery process like a pro<\/h2>\n\n\n\n<p>You cat \/proc\/mdstat file. This read-only file contains information about the status of currently running array and shows rebuilding speed:<br \/><code class=\"\" data-line=\"\">cat \/proc\/mdstat<\/code><br \/>Alternatively use the <a href=\"https:\/\/www.cyberciti.biz\/tips\/how-do-i-monitor-linuxbsd-system-over-time-without-scrolling-output.html\">watch command to display \/proc\/mdstat output on screen repeatedly<\/a>, type:<\/p>\n\n\n\n<p><code class=\"\" data-line=\"\">watch -n1 &lt;a href=&quot;https:\/\/www.cyberciti.biz\/faq\/linux-unix-appleosx-bsd-cat-command-examples\/&quot;&gt;cat&lt;\/a&gt; \/proc\/mdstat<\/code><br \/>Sample outputs:<br \/><\/p>\n\n\n\n<p><a href=\"https:\/\/www.cyberciti.biz\/media\/images\/faq\/2013\/06\/cat-etc-mdstat-command.png\"><\/a><\/p>\n\n\n\n<p>Fig.01: Performance optimization for Linux raid6 for \/dev\/md2 The following command provide details about \/dev\/md2 raid arrray including status and health report:<br \/><code class=\"\" data-line=\"\">mdadm --detail \/dev\/md2<\/code><br \/>Sample outputs:<\/p>\n\n\n\n<p><a href=\"https:\/\/www.cyberciti.biz\/media\/images\/faq\/2013\/06\/mdadm-detail-command.png\"><\/a><\/p>\n\n\n\n<p>Fig.02: Finding out information about md2 raid array You can filter out info using the <a href=\"https:\/\/www.cyberciti.biz\/faq\/howto-use-grep-command-in-linux-unix\/\">grep command<\/a> or <a href=\"https:\/\/www.cyberciti.biz\/faq\/grep-regular-expressions\/\">egrep command<\/a> as follows:<br \/><code class=\"\" data-line=\"\">mdadm --detail \/dev\/md3 | grep &#039;info-you-want&#039;<\/code><br \/>Another option is to see <a href=\"https:\/\/www.cyberciti.biz\/tips\/linux-disk-performance-monitoring-howto.html\">what is actually happening by typing the following iostat command<\/a> to see disk utilization:<br \/><code class=\"\" data-line=\"\">watch iostat -k 1 2&lt;br&gt;<\/code><code class=\"\" data-line=\"\">watch -n1 iostat -k 1 2<\/code><br \/>Sample outputs:<\/p>\n\n\n\n<p><a href=\"https:\/\/www.cyberciti.biz\/media\/images\/faq\/2013\/06\/raid-iostat-command.png\"><\/a><\/p>\n\n\n\n<p>Fig.03: Find out CPU statistics and input\/output statistics for devices and partitions Feel free to use the <a href=\"https:\/\/www.cyberciti.biz\/faq\/df-command-examples-in-linux-unix\/\">df command<\/a> or du command to get info about the <a href=\"https:\/\/www.cyberciti.biz\/faq\/linux-check-disk-space-command\/\">disk space usage on Linux.<\/a> For example:<br \/><code class=\"\" data-line=\"\">df -hT \/raid1&lt;br&gt;<\/code><code class=\"\" data-line=\"\">du -csh \/raid1<\/code><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>We learned how to optimize speed for Linux software RAID devices.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>See the following man pages using the <a href=\"https:\/\/bash.cyberciti.biz\/guide\/Man_command\">man command<\/a>:<br \/><\/li>\n<\/ul>\n\n\n\n<p><code class=\"\" data-line=\"\">man 4 md&lt;br&gt;<\/code><code class=\"\" data-line=\"\">man 8 mdadm&lt;br&gt;<\/code><code class=\"\" data-line=\"\">man 5 proc<\/code> Also look into \/etc\/cron.d\/mdadm and \/usr\/share\/mdadm\/checkarray on Debian\/Ubuntu Linux<\/p>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p class=\"excerpt\">Speed Up Linux Software Raid: Various commands tips to increase the speed of Linux Software RAID 0\/1\/5\/6\/10 reconstruction and rebuild time Source: 5 Tips To Speed Up Linux Software Raid Rebuilding And Re-syncing &#8211; nixCraft<\/p>\n<p class=\"more-link-p\"><a class=\"more-link\" href=\"https:\/\/monodes.com\/predaelli\/2024\/04\/08\/5-tips-to-speed-up-linux-software-raid-rebuilding-and-re-syncing-nixcraft\/\">Read more &rarr;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"jetpack_post_was_ever_published":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":"federated","footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[72,278],"tags":[],"class_list":["post-11581","post","type-post","status-publish","format-standard","hentry","category-documentations","category-tricks"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p6daft-30N","jetpack-related-posts":[{"id":8961,"url":"https:\/\/monodes.com\/predaelli\/2021\/12\/06\/nanos-org\/","url_meta":{"origin":11581,"position":0},"title":"Nanos.org","author":"Paolo Redaelli","date":"2021-12-06","format":"link","excerpt":"\u00a0Nanos.org: Run code faster than the speed of light A unikernel running one and only one application in a virtualized environment. More secure and faster than Linux. All while keeping it simple. Of course it runs faster than Linux. No fork, one process and several other significative simplications. \u00a0","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":[]},{"id":8905,"url":"https:\/\/monodes.com\/predaelli\/2021\/11\/09\/easily-run-windows-software-on-linux-with-%f0%9f%8d%b7-bottles-%e2%8b%85-bottles\/","url_meta":{"origin":11581,"position":1},"title":"Easily run Windows software on Linux with \ud83c\udf77 Bottles! \u22c5 Bottles","author":"Paolo Redaelli","date":"2021-11-09","format":"link","excerpt":"Run Windows programs on Linux. Source: Easily run Windows software on Linux with \ud83c\udf77 Bottles! \u22c5 Bottles","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":[]},{"id":1809,"url":"https:\/\/monodes.com\/predaelli\/2016\/10\/20\/software-libero-e-linux-nella-scuola-e-nella-didattica\/","url_meta":{"origin":11581,"position":2},"title":"Software libero e linux nella scuola e nella didattica","author":"Paolo Redaelli","date":"2016-10-20","format":"link","excerpt":"Software libero e linux nella scuola e nella didattica Sorgente: Software libero e linux nella scuola e nella didattica","rel":"","context":"In &quot;Senza categoria&quot;","block_context":{"text":"Senza categoria","link":"https:\/\/monodes.com\/predaelli\/category\/senza-categoria\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":7858,"url":"https:\/\/monodes.com\/predaelli\/2020\/12\/14\/subtle-hostility\/","url_meta":{"origin":11581,"position":3},"title":"Subtle hostility","author":"Paolo Redaelli","date":"2020-12-14","format":false,"excerpt":"nilay patel @reckless 26 nov \u00a0 I haven't plugged the M1 MacBook Pro review unit in for three days. Have been using on and off this evening. Battery: 60 percent M.G. Siegler@mgsiegler\u00a026 nov \u00a0 Speed aside, this is a truly incredible difference that is causing me to change behavior\u2026 That's\u2026","rel":"","context":"In &quot;Hardware&quot;","block_context":{"text":"Hardware","link":"https:\/\/monodes.com\/predaelli\/category\/hardware\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2020\/12\/Apple-M1-battery-life.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2020\/12\/Apple-M1-battery-life.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2020\/12\/Apple-M1-battery-life.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2020\/12\/Apple-M1-battery-life.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2020\/12\/Apple-M1-battery-life.jpg?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2020\/12\/Apple-M1-battery-life.jpg?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":12136,"url":"https:\/\/monodes.com\/predaelli\/2024\/12\/19\/fuss-the-gnu-linux-distribution-for-a-digitally-sustainable-school\/","url_meta":{"origin":11581,"position":4},"title":"FUSS &#8211; The GNU\/Linux Distribution for a Digitally Sustainable School","author":"Paolo Redaelli","date":"2024-12-19","format":false,"excerpt":"FUSS The GNU\/Linux Distribution for a Digitally Sustainable School FUSS is a complete GNU\/Linux solution (server, client and desktop\/standalone) based on Debian for managing an educational network. It is at the same time also a digital sustainability project that since 2005 allows students and teachers to use at home the\u2026","rel":"","context":"In &quot;Software&quot;","block_context":{"text":"Software","link":"https:\/\/monodes.com\/predaelli\/category\/software\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2024\/12\/logo-FUSS-circle.png?fit=980%2C980&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2024\/12\/logo-FUSS-circle.png?fit=980%2C980&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2024\/12\/logo-FUSS-circle.png?fit=980%2C980&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2024\/12\/logo-FUSS-circle.png?fit=980%2C980&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":1714,"url":"https:\/\/monodes.com\/predaelli\/2016\/07\/29\/still-at-step-3\/","url_meta":{"origin":11581,"position":5},"title":"Still at step 3","author":"Paolo Redaelli","date":"2016-07-29","format":"aside","excerpt":"Windows Subsystem for Linux Windows Subsystem for Linux (WSL) is a compatibility layer for running Linuxbinary executables (in ELF format) natively on Windows 10. Microsoft and Canonical partnered together to enable a genuine UbuntuTrusty Tahr image to be downloaded and extracted to the user's local machine, and for the tools\u2026","rel":"","context":"In &quot;GNU\/Linux&quot;","block_context":{"text":"GNU\/Linux","link":"https:\/\/monodes.com\/predaelli\/category\/gnulinux\/"},"img":{"alt_text":"windows-subsystem-for-linux","src":"https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2016\/07\/windows-subsystem-for-linux-1.png?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2016\/07\/windows-subsystem-for-linux-1.png?resize=350%2C200 1x, https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2016\/07\/windows-subsystem-for-linux-1.png?resize=525%2C300 1.5x"},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/posts\/11581","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=11581"}],"version-history":[{"count":0,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/posts\/11581\/revisions"}],"wp:attachment":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/media?parent=11581"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/categories?post=11581"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/tags?post=11581"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}