{"id":1312,"date":"2018-03-05T19:58:26","date_gmt":"2018-03-05T14:28:26","guid":{"rendered":"https:\/\/www.booleanworld.com\/?p=1312"},"modified":"2018-03-15T21:11:33","modified_gmt":"2018-03-15T15:41:33","slug":"raid-levels-explained","status":"publish","type":"post","link":"https:\/\/www.booleanworld.com\/raid-levels-explained\/","title":{"rendered":"RAID levels 0, 1, 4, 5, 6, 10 explained"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1330 size-large\" src=\"https:\/\/www.booleanworld.com\/wp-content\/uploads\/2018\/02\/raid-cover-1024x768.jpg\" alt=\"raid cover image\" width=\"1024\" height=\"768\" srcset=\"https:\/\/www.booleanworld.com\/wp-content\/uploads\/2018\/02\/raid-cover-1024x768.jpg 1024w, https:\/\/www.booleanworld.com\/wp-content\/uploads\/2018\/02\/raid-cover-300x225.jpg 300w, https:\/\/www.booleanworld.com\/wp-content\/uploads\/2018\/02\/raid-cover.jpg 1920w, https:\/\/www.booleanworld.com\/wp-content\/uploads\/2018\/02\/raid-cover-300x225@2x.jpg 600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>As businesses grow, demand arises for more reliable infrastructure that can handle critical systems. An important component in stable and scalable infrastructure is proper memory management. In this article, we will look at RAID which is an abbreviation for <strong>R<\/strong>edundant <strong>A<\/strong>rray of <strong>I<\/strong>ndependent (or Inexpensive) <strong>D<\/strong>isks.<\/p>\n<h2>What is RAID?<\/h2>\n<p>RAID is a storage virtualization technology which is used to organise multiple drives into various arrangments to meet certain goals like redundancy, speed and capacity. RAID can be categorized into Software RAID and Hardware RAID. In software RAID, the memory architecture is managed by the operating system. In case of hardware RAID, there is a dedicated controller and processor present inside the disks that manage the memory. There are various raid levels as discussed below.<\/p>\n<h2>RAID 0<\/h2>\n<p>RAID 0 is based on data striping. A stream of data is divided into multiple segments or blocks and each of those blocks is stored on different disks. So, when the system wants to read that data, it can do so simultaneously from all the disks and join them together to reconstruct the entire data stream. The benefit of this is that the speed increases drastically for read and write operations. It is great for situations where performance is a priority over other aspects. Also, the total capacity of the entire volume is the sum of the capacities of the individual disks. The downside, as you may have already guessed it is that there is almost no redundancy. If one of the disks fails, the entire data becomes corrupt and worthless since it cannot be recreated anymore.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1335 aligncenter\" src=\"https:\/\/www.booleanworld.com\/wp-content\/uploads\/2018\/03\/raid-0.png\" alt=\"raid 0\" width=\"322\" height=\"399\" srcset=\"https:\/\/www.booleanworld.com\/wp-content\/uploads\/2018\/03\/raid-0.png 322w, https:\/\/www.booleanworld.com\/wp-content\/uploads\/2018\/03\/raid-0-242x300.png 242w\" sizes=\"auto, (max-width: 322px) 100vw, 322px\" \/><\/p>\n<h4>Advantages:<\/h4>\n<ul>\n<li>Performance boost for read and write operations<\/li>\n<li>Space is not wasted as the entire volume of the individual disks are used up to store unique data<\/li>\n<\/ul>\n<h4>Disadvantages<\/h4>\n<ul>\n<li>There is no redundancy\/duplication of data. If one of the disks fails, the entire data is lost.<\/li>\n<\/ul>\n<h2>RAID 1<\/h2>\n<p>RAID 1 uses the concept of data mirroring. Data is mirrored or cloned to an identical set of disks so that if one of the disks fails, the other one can be used. It also improves read performance since different blocks of data can be accessed from all the disks simultaneously. This can be explained in the diagram below. A multi-threaded process can access Block 1 from Disk 1 and Block 2 from Disk 2 at once thereby increasing the read speed just like RAID 0. But unlike RAID 0, write performance is reduced since all the drives must be updated whenever new data is written. Another disadvantage is that space is wasted to duplicate the data thereby increasing the cost to storage ratio.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1336 aligncenter\" src=\"https:\/\/www.booleanworld.com\/wp-content\/uploads\/2018\/03\/raid-1.png\" alt=\"raid 1\" width=\"322\" height=\"399\" srcset=\"https:\/\/www.booleanworld.com\/wp-content\/uploads\/2018\/03\/raid-1.png 322w, https:\/\/www.booleanworld.com\/wp-content\/uploads\/2018\/03\/raid-1-242x300.png 242w\" sizes=\"auto, (max-width: 322px) 100vw, 322px\" \/><\/p>\n<h4>Advantages<\/h4>\n<ul>\n<li>Data can be recovered in case of disk failure<\/li>\n<li>Increased performance for read operation<\/li>\n<\/ul>\n<h4>Disadvantages<\/h4>\n<ul>\n<li>Slow write performance<\/li>\n<li>Space is wasted by duplicating data which increases the cost per unit memory<\/li>\n<\/ul>\n<h2>RAID 4<\/h2>\n<p>RAID 4 stripes the data across multiple disks just like RAID 0. In addition to that, it also stores <a href=\"https:\/\/en.wikipedia.org\/wiki\/Parity_bit#Redundant_array_of_independent_disks\" rel=\"noopener\">parity information<\/a> of all the disks in a separate dedicated disk to achieve redundancy. In the diagram below, Disk 4 serves as the parity disk having parity blocks A<sub>p<\/sub>, B<sub>p<\/sub>, C<sub>p<\/sub> and D<sub>p<\/sub>. So, if one of the disks fails, the data can be reconstructed using the parity information of that disk. Space is more efficiently used here when compared to RAID 1 since parity information uses way less space than mirroring the disk. The write performance becomes slow because all the parity information is written on a single disk which is a bottleneck. This problem is solved in RAID 5 as we will see next.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1337 aligncenter\" src=\"https:\/\/www.booleanworld.com\/wp-content\/uploads\/2018\/03\/raid-4.png\" alt=\"raid 4\" width=\"682\" height=\"399\" srcset=\"https:\/\/www.booleanworld.com\/wp-content\/uploads\/2018\/03\/raid-4.png 682w, https:\/\/www.booleanworld.com\/wp-content\/uploads\/2018\/03\/raid-4-300x176.png 300w, https:\/\/www.booleanworld.com\/wp-content\/uploads\/2018\/03\/raid-4-300x176@2x.png 600w\" sizes=\"auto, (max-width: 682px) 100vw, 682px\" \/><\/p>\n<h4>Advantages<\/h4>\n<ul>\n<li>Efficient data redundancy in terms of cost per unit memory<\/li>\n<li>Performance boost for read operations due to data stripping<\/li>\n<\/ul>\n<h4>Disadvantages<\/h4>\n<ul>\n<li>Write operation is slow<\/li>\n<li>If the dedicated parity disk fails, data redundancy is lost<\/li>\n<\/ul>\n<h2>RAID 5<\/h2>\n<p>RAID 5 is very similar to RAID 4, but here the parity information is distributed over all the disks instead of storing them in a dedicated disk. This has two benefits\u00a0\u2014 First, there is no more a bottleneck as the parity stress evens out by using all the disks to store parity information and second, there is no possibility of losing data redundancy since one disk does not store all the parity information.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1338 aligncenter\" src=\"https:\/\/www.booleanworld.com\/wp-content\/uploads\/2018\/03\/raid-5.png\" alt=\"raid 5\" width=\"682\" height=\"399\" srcset=\"https:\/\/www.booleanworld.com\/wp-content\/uploads\/2018\/03\/raid-5.png 682w, https:\/\/www.booleanworld.com\/wp-content\/uploads\/2018\/03\/raid-5-300x176.png 300w, https:\/\/www.booleanworld.com\/wp-content\/uploads\/2018\/03\/raid-5-300x176@2x.png 600w\" sizes=\"auto, (max-width: 682px) 100vw, 682px\" \/><\/p>\n<h4>Advantages<\/h4>\n<ul>\n<li>All the advantages of RAID 4 plus increased write speed and better data redundancy<\/li>\n<\/ul>\n<h4>Disadvantages<\/h4>\n<ul>\n<li>Can only handle up to a single disk failure<\/li>\n<\/ul>\n<h2>RAID 6<\/h2>\n<p>RAID 6 uses double parity blocks to achieve better data redundancy than RAID 5. This increases the fault tolerance for upto two drive failures in the array. Each disk has two parity blocks which are stored on different disks across the array. RAID 6 is a very practical infrastructure for maintaining high availability systems.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1339 aligncenter\" src=\"https:\/\/www.booleanworld.com\/wp-content\/uploads\/2018\/03\/raid-6.png\" alt=\"raid 6\" width=\"862\" height=\"456\" srcset=\"https:\/\/www.booleanworld.com\/wp-content\/uploads\/2018\/03\/raid-6.png 862w, https:\/\/www.booleanworld.com\/wp-content\/uploads\/2018\/03\/raid-6-300x159.png 300w, https:\/\/www.booleanworld.com\/wp-content\/uploads\/2018\/03\/raid-6-300x159@2x.png 600w\" sizes=\"auto, (max-width: 862px) 100vw, 862px\" \/><\/p>\n<h4>Advantages<\/h4>\n<ul>\n<li>Better data redundancy. Can handle upto 2 failed drives<\/li>\n<\/ul>\n<h4>Disadvantages<\/h4>\n<ul>\n<li>Large parity overhead<\/li>\n<\/ul>\n<h2>RAID 10 (RAID 1+0)<\/h2>\n<p>RAID 10 combines both RAID 1 and RAID 0 by layering them in opposite order. Sometimes, it is also called as &#8220;nested&#8221; or &#8220;hybrid&#8221; RAID. This is a &#8220;best of both worlds approach&#8221;, because it has the fast performance of RAID 0 and the redundancy of RAID 1. In this setup, multiple RAID 1 blocks are connected with each other to make it like RAID 0. It is used in cases where huge disk performance (greater than RAID 5 or 6) along with redundancy is required.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1340 aligncenter\" src=\"https:\/\/www.booleanworld.com\/wp-content\/uploads\/2018\/03\/raid-10.png\" alt=\"raid 10\" width=\"682\" height=\"469\" srcset=\"https:\/\/www.booleanworld.com\/wp-content\/uploads\/2018\/03\/raid-10.png 682w, https:\/\/www.booleanworld.com\/wp-content\/uploads\/2018\/03\/raid-10-300x206.png 300w, https:\/\/www.booleanworld.com\/wp-content\/uploads\/2018\/03\/raid-10-300x206@2x.png 600w\" sizes=\"auto, (max-width: 682px) 100vw, 682px\" \/><\/p>\n<h4>Advantages<\/h4>\n<ul>\n<li>Very fast performance<\/li>\n<li>Redundancy and fault tolerance<\/li>\n<\/ul>\n<h4>Disadvantages<\/h4>\n<ul>\n<li>Cost per unit memory is high since data is mirrored<\/li>\n<\/ul>\n<h2>RAID Implementation and Support<\/h2>\n<p>Many operating systems have built-in support for RAID. In Linux, there is a tool called <a href=\"https:\/\/en.wikipedia.org\/wiki\/Mdadm\" rel=\"noopener\">mdadm<\/a> which can be used to manage and monitor RAID devices. The entire setup and operation of mdadm\u00a0have been explained in detail at the\u00a0<a href=\"https:\/\/raid.wiki.kernel.org\/index.php\/RAID_setup\" rel=\"noopener\">kernel wiki page<\/a>. In addition, file systems such like ZFS, GPFS, Btrfs and XFS provide built-in support for RAID. On the hardware front, systems like <a href=\"https:\/\/en.wikipedia.org\/wiki\/Intel_Matrix_RAID\" rel=\"noopener\">Intel Matrix RAID<\/a> has a dedicated drive controller chip which contains firmware and drivers to implement the RAID architecture.<\/p>\n<h2>Conclusion<\/h2>\n<p>Understanding the RAID levels is very crucial for developing storage infrastructure that meets the needs of the organisation. RAID has the capability to protect against disk failures and provide fast performance. However, it does not provide any means to protect against data corruption or implement security capabilities.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As businesses grow, demand arises for more reliable infrastructure that can handle critical systems. An important component in stable and scalable infrastructure is proper memory management. In this article, we will look at RAID&#46;&#46;&#46;<\/p>\n","protected":false},"author":3,"featured_media":1330,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[60,61],"class_list":["post-1312","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-raid","tag-storage"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>RAID levels 0, 1, 4, 5, 6, 10 explained - Boolean World<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.booleanworld.com\/raid-levels-explained\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"RAID levels 0, 1, 4, 5, 6, 10 explained - Boolean World\" \/>\n<meta property=\"og:description\" content=\"As businesses grow, demand arises for more reliable infrastructure that can handle critical systems. An important component in stable and scalable infrastructure is proper memory management. In this article, we will look at RAID&#046;&#046;&#046;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.booleanworld.com\/raid-levels-explained\/\" \/>\n<meta property=\"og:site_name\" content=\"Boolean World\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/booleanworld\" \/>\n<meta property=\"article:published_time\" content=\"2018-03-05T14:28:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-03-15T15:41:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.booleanworld.com\/wp-content\/uploads\/2018\/02\/raid-cover.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1440\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Anirban Das\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@booleanworld\" \/>\n<meta name=\"twitter:site\" content=\"@booleanworld\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Anirban Das\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"RAID levels 0, 1, 4, 5, 6, 10 explained - Boolean World","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.booleanworld.com\/raid-levels-explained\/","og_locale":"en_US","og_type":"article","og_title":"RAID levels 0, 1, 4, 5, 6, 10 explained - Boolean World","og_description":"As businesses grow, demand arises for more reliable infrastructure that can handle critical systems. An important component in stable and scalable infrastructure is proper memory management. In this article, we will look at RAID&#46;&#46;&#46;","og_url":"https:\/\/www.booleanworld.com\/raid-levels-explained\/","og_site_name":"Boolean World","article_publisher":"https:\/\/www.facebook.com\/booleanworld","article_published_time":"2018-03-05T14:28:26+00:00","article_modified_time":"2018-03-15T15:41:33+00:00","og_image":[{"width":1920,"height":1440,"url":"https:\/\/www.booleanworld.com\/wp-content\/uploads\/2018\/02\/raid-cover.jpg","type":"image\/jpeg"}],"author":"Anirban Das","twitter_card":"summary_large_image","twitter_creator":"@booleanworld","twitter_site":"@booleanworld","twitter_misc":{"Written by":"Anirban Das","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.booleanworld.com\/raid-levels-explained\/#article","isPartOf":{"@id":"https:\/\/www.booleanworld.com\/raid-levels-explained\/"},"author":{"name":"Anirban Das","@id":"https:\/\/www.booleanworld.com\/#\/schema\/person\/a9047e674fa7510a9166b357ac61ef51"},"headline":"RAID levels 0, 1, 4, 5, 6, 10 explained","datePublished":"2018-03-05T14:28:26+00:00","dateModified":"2018-03-15T15:41:33+00:00","mainEntityOfPage":{"@id":"https:\/\/www.booleanworld.com\/raid-levels-explained\/"},"wordCount":1011,"commentCount":19,"publisher":{"@id":"https:\/\/www.booleanworld.com\/#organization"},"image":{"@id":"https:\/\/www.booleanworld.com\/raid-levels-explained\/#primaryimage"},"thumbnailUrl":"https:\/\/www.booleanworld.com\/wp-content\/uploads\/2018\/02\/raid-cover.jpg","keywords":["raid","storage"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.booleanworld.com\/raid-levels-explained\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.booleanworld.com\/raid-levels-explained\/","url":"https:\/\/www.booleanworld.com\/raid-levels-explained\/","name":"RAID levels 0, 1, 4, 5, 6, 10 explained - Boolean World","isPartOf":{"@id":"https:\/\/www.booleanworld.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.booleanworld.com\/raid-levels-explained\/#primaryimage"},"image":{"@id":"https:\/\/www.booleanworld.com\/raid-levels-explained\/#primaryimage"},"thumbnailUrl":"https:\/\/www.booleanworld.com\/wp-content\/uploads\/2018\/02\/raid-cover.jpg","datePublished":"2018-03-05T14:28:26+00:00","dateModified":"2018-03-15T15:41:33+00:00","breadcrumb":{"@id":"https:\/\/www.booleanworld.com\/raid-levels-explained\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.booleanworld.com\/raid-levels-explained\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.booleanworld.com\/raid-levels-explained\/#primaryimage","url":"https:\/\/www.booleanworld.com\/wp-content\/uploads\/2018\/02\/raid-cover.jpg","contentUrl":"https:\/\/www.booleanworld.com\/wp-content\/uploads\/2018\/02\/raid-cover.jpg","width":1920,"height":1440,"caption":"raid cover image"},{"@type":"BreadcrumbList","@id":"https:\/\/www.booleanworld.com\/raid-levels-explained\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.booleanworld.com\/"},{"@type":"ListItem","position":2,"name":"RAID levels 0, 1, 4, 5, 6, 10 explained"}]},{"@type":"WebSite","@id":"https:\/\/www.booleanworld.com\/#website","url":"https:\/\/www.booleanworld.com\/","name":"Boolean World","description":"","publisher":{"@id":"https:\/\/www.booleanworld.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.booleanworld.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.booleanworld.com\/#organization","name":"Boolean World","url":"https:\/\/www.booleanworld.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.booleanworld.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.booleanworld.com\/wp-content\/uploads\/2017\/01\/booleanworld_white_logo.png","contentUrl":"https:\/\/www.booleanworld.com\/wp-content\/uploads\/2017\/01\/booleanworld_white_logo.png","width":517,"height":516,"caption":"Boolean World"},"image":{"@id":"https:\/\/www.booleanworld.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/booleanworld","https:\/\/x.com\/booleanworld"]},{"@type":"Person","@id":"https:\/\/www.booleanworld.com\/#\/schema\/person\/a9047e674fa7510a9166b357ac61ef51","name":"Anirban Das","url":"https:\/\/www.booleanworld.com\/author\/aniirban101\/"}]}},"_links":{"self":[{"href":"https:\/\/www.booleanworld.com\/wp-json\/wp\/v2\/posts\/1312","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.booleanworld.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.booleanworld.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.booleanworld.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.booleanworld.com\/wp-json\/wp\/v2\/comments?post=1312"}],"version-history":[{"count":0,"href":"https:\/\/www.booleanworld.com\/wp-json\/wp\/v2\/posts\/1312\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.booleanworld.com\/wp-json\/wp\/v2\/media\/1330"}],"wp:attachment":[{"href":"https:\/\/www.booleanworld.com\/wp-json\/wp\/v2\/media?parent=1312"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.booleanworld.com\/wp-json\/wp\/v2\/categories?post=1312"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.booleanworld.com\/wp-json\/wp\/v2\/tags?post=1312"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}