tag:crieit.net,2005:https://crieit.net/tags/RAID%E3%83%AC%E3%83%99%E3%83%AB/feed 「RAIDレベル」の記事 - Crieit Crieitでタグ「RAIDレベル」に投稿された最近の記事 2021-05-17T11:42:22+09:00 https://crieit.net/tags/RAID%E3%83%AC%E3%83%99%E3%83%AB/feed tag:crieit.net,2005:PublicArticle/17142 2021-05-17T11:42:22+09:00 2021-05-17T11:42:22+09:00 https://crieit.net/posts/server-raidlevel 【サーバ基礎】RAIDレベルについて <h1 id="RAIDのレベル分け"><a href="#RAID%E3%81%AE%E3%83%AC%E3%83%99%E3%83%AB%E5%88%86%E3%81%91">RAIDのレベル分け</a></h1> <p>RAIDは、それぞれの機能によってレベル分けがされています。<br /> サーバの要件によって、構築するRAIDレベルを<br /> <strong>一度決定したレベルはサービス稼働後に変更することは困難</strong>なので、設計には注意が必要です</p> <p>ここでは一般的に使われるRAIDレベルをそれぞれ解説しておきます。</p> <h2 id="RAID0"><a href="#RAID0">RAID0</a></h2> <p>RAID0では</p> <ol> <li>データを分散して並行処理することで高速化</li> <li>物理ディスクが増えるほど高速化する</li> <li>論理ドライブの容量が高い</li> <li>物理ディスクが故障したら論理ドライブのデータは消失する</li> </ol> <p>という特徴があります。</p> <ol> <li>データを分散して並行処理することで高速化<br /> というのは、2台以上のディスクを組み合わせて、データの読み書きを複数のディスクに行うことで、速度を向上させています。</li> </ol> <p>たとえば、ディスクが3つの場合、</p> <div class="table-responsive"><table> <thead> <tr> <th>ディスク1</th> <th>ディスク2</th> <th>ディスク3</th> </tr> </thead> <tbody> <tr> <td>データ1</td> <td>データ2</td> <td>データ3</td> </tr> <tr> <td>データ4</td> <td>データ5</td> <td>データ6</td> </tr> <tr> <td>データ7</td> <td>データ8</td> <td>データ9</td> </tr> <tr> <td>---</td> <td>---</td> <td>---</td> </tr> </tbody> </table></div> <p>のようにデータを分散させて記録しています。</p> <p>そして<br /> 2. 物理ディスクが増えるほど高速化する<br /> というのも、同時に読み書きするためのディスクが増えるため、可能になります。</p> <p>また、物理ディスクの数が多いので、3. 論理ドライブの容量が高くなります。</p> <p>しかし、RAID0では冗長性がなく、どれか1つのディスクが破損した場合データが消失します。よって、対障害性は低くなります</p> <ol start="4"> <li>物理ディスクが故障したら論理ドライブのデータは消失する<br /> というデメリットがあるため、データが消失してもいい要件でない限りは一般的には使用しません。</li> </ol> <h2 id="RAID1"><a href="#RAID1">RAID1</a></h2> <p>RAID1は、</p> <ol> <li>同じデータを核物理ディスクに書き込みすることで冗長性を確保している</li> <li>論理ドライブの容量は物理ディスクの合計容量の半分以下</li> <li>物理ディスクが一本故障しても、論理ドライブのデータは消失しない</li> </ol> <p>という特徴があります。</p> <ol> <li>同じデータを核物理ディスクに書き込みすることで冗長性を確保している<br /> ので、</li> <li>物理ディスクが一本故障しても、論理ドライブのデータは消失しない<br /> を実現させています。<br /> よって、ミラーリングと呼ばれることもあります。</li> </ol> <div class="table-responsive"><table> <thead> <tr> <th>ディスク1</th> <th>ディスク2</th> <th>ディスク3</th> </tr> </thead> <tbody> <tr> <td>データ1</td> <td>データ1</td> <td>データ1</td> </tr> <tr> <td>データ2</td> <td>データ2</td> <td>データ2</td> </tr> <tr> <td>データ3</td> <td>データ3</td> <td>データ3</td> </tr> <tr> <td>---</td> <td>---</td> <td>---</td> </tr> </tbody> </table></div> <p>しかし、デメリットとしては、<br /> 2. 論理ドライブの容量は物理ディスクの合計容量の半分以下<br /> となります。<br /> 同じ内容を2重に書き込んでいるため、オーバーヘッドが大きいです。</p> <h2 id="RAID5"><a href="#RAID5">RAID5</a></h2> <p>RAID5では、</p> <ol> <li>物理ディスクへデータを分散して書き込むが、同時に<strong>パリティ</strong>も追加して書き込む</li> <li>書き込むデータが増えるため、やや遅くなる</li> <li>論理ドライブの容量は物理ディスクの合計容量から1本分の容量を引いたもの</li> <li>物理ディスクが1本故障しても、パリティにより消失したデータを復元できる</li> </ol> <p>という特徴があります。</p> <div class="table-responsive"><table> <thead> <tr> <th>ディスク1</th> <th>ディスク2</th> <th>ディスク3</th> </tr> </thead> <tbody> <tr> <td>データ1</td> <td>データ2</td> <td>パリティ</td> </tr> <tr> <td>データ3</td> <td>パリティ</td> <td>データ4</td> </tr> <tr> <td>パリティ</td> <td>データ5</td> <td>データ6</td> </tr> <tr> <td>---</td> <td>---</td> <td>---</td> </tr> </tbody> </table></div> <p>RAID0のような作りになっていますが、パリティがあることによって冗長化を可能にしていることがわかります。<br /> パリティに使用してる容量は、物理ディスク1本分だけです。<br /> RAID0よりも安全で、RAID1よりも効率がよくなっています。</p> <h2 id="RAID10"><a href="#RAID10">RAID10</a></h2> <p>RAID10は、RAID1と0を掛け合わせた構成になっています。</p> <ol> <li>RAID1の論理ドライブ同士をRAID0で構成して高速化と冗長性の両立を実現している</li> <li>論理ドライブの容量は、物理ディスクの合計容量の<strong>半分</strong></li> <li>物理ディスクが1本故障しても論理ドライブのデータは消失しない</li> <li>4本構成なら、条件によっては2本故障しても論理ドライブのデータは消失しない</li> </ol> <div class="table-responsive"><table> <thead> <tr> <th>ディスク1</th> <th>ディスク2</th> <th>ディスク3</th> <th>ディスク4</th> </tr> </thead> <tbody> <tr> <td>データ1</td> <td>データ1</td> <td>データ2</td> <td>データ2</td> </tr> <tr> <td>データ3</td> <td>データ3</td> <td>データ4</td> <td>データ4</td> </tr> <tr> <td>データ5</td> <td>データ5</td> <td>データ6</td> <td>データ6</td> </tr> <tr> <td>---</td> <td>---</td> <td>---</td> <td>---</td> </tr> </tbody> </table></div> <hr /> <p>ほかにもRAIDレベルはいろいろあるようです。サーバによって使い分けが重要になります。</p> skyms tag:crieit.net,2005:PublicArticle/16559 2021-01-07T13:00:52+09:00 2021-01-07T13:00:52+09:00 https://crieit.net/posts/RAID-5ff687746c675 RAID(レイド)って?? <h1 id="RAIDとは "><a href="#RAID%E3%81%A8%E3%81%AF%E3%80%80">RAIDとは </a></h1> <h5 id="「Redundant Array of Inexpensive Disks(リダンダント・アレイ・オブ・インエクスペンシブ・ディスクズ)」の略で「RAID」"><a href="#%E3%80%8CRedundant+Array+of+Inexpensive+Disks%EF%BC%88%E3%83%AA%E3%83%80%E3%83%B3%E3%83%80%E3%83%B3%E3%83%88%E3%83%BB%E3%82%A2%E3%83%AC%E3%82%A4%E3%83%BB%E3%82%AA%E3%83%96%E3%83%BB%E3%82%A4%E3%83%B3%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%9A%E3%83%B3%E3%82%B7%E3%83%96%E3%83%BB%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AF%E3%82%BA%EF%BC%89%E3%80%8D%E3%81%AE%E7%95%A5%E3%81%A7%E3%80%8CRAID%E3%80%8D">「Redundant Array of Inexpensive Disks(リダンダント・アレイ・オブ・インエクスペンシブ・ディスクズ)」の略で「RAID」</a></h5> <p>RAIDコントローラーを使って、複数の物理ディスクをまるで1つのディスクのように扱い(論理ドライブと呼ぶ)、耐障害性や処理速度を向上させる技術</p> <p>性能を良くしたり一部が壊れても大丈夫なようにしておく技術のこと。</p> <h5 id="簡単に説明すると"><a href="#%E7%B0%A1%E5%8D%98%E3%81%AB%E8%AA%AC%E6%98%8E%E3%81%99%E3%82%8B%E3%81%A8">簡単に説明すると</a></h5> <p>複数台のハードディスク(HDD)を合体させて1つのハードディスクっぽく扱う技術</p> <h5 id="RAIDにする主な目的は"><a href="#RAID%E3%81%AB%E3%81%99%E3%82%8B%E4%B8%BB%E3%81%AA%E7%9B%AE%E7%9A%84%E3%81%AF">RAIDにする主な目的は</a></h5> <p>1.複数台のHDD使用による容量の拡大<br /> 2.負荷分散による処理速度の向上<br /> 3.冗長化による信頼性の確保</p> <p>複数のハードディスクを1つのハードディスクっぽく扱う技術が「RAID」</p> <p>つまり</p> <p>複数のハードディスクを扱うことで記録できる量が増える。<br /> 複数のハードディスクに違う内容を同時に書けば、処理速度が上がる。<br /> 複数のハードディスクに同じ内容を同時に書けば、信頼性が上がる。</p> <h1 id="RAIDレベル"><a href="#RAID%E3%83%AC%E3%83%99%E3%83%AB">RAIDレベル</a></h1> <p>RAIDには、レベルと呼ばれる数種類の構成パターンがあり、そのレベルに応じて、<br /> 論理ドライブの実容量、耐障害性、読み書き速度の特性が変化する。</p> <hr /> <h3 id="RAID0"><a href="#RAID0">RAID0</a></h3> <ul> <li>データを分散して平⾏処理する<br /> ことで⾼速化</li> <li>物理ディスク数が増えるほど⾼速化する</li> <li>論理ドライブの容量が⾼い<br /> (1TBx2なら2TBの論理ドライブになる)</li> <li>物理ディスクが故障したら、<br /> 論理ドライブのデータは消失する</li> <li>重要なデータの保存には向かない</li> </ul> <hr /> <h3 id="RAID1"><a href="#RAID1">RAID1</a></h3> <ul> <li>同じデータを各物理ディスクに<br /> 書き込みすることで、<br /> 冗⻑性を確保している</li> <li>論理ドライブの容量は、物理<br /> ディスクの合計容量の半分になる<br /> ⇒ 1TBx2なら1TB</li> <li>物理ディスクが1本故障しても、<br /> 論理ドライブのデータは消失しない</li> </ul> <hr /> <h3 id="RAID5"><a href="#RAID5">RAID5</a></h3> <ul> <li>RAID0同様に物理ディスクへデータを<br /> 分散して書き込むが、同時にパリティ(※)も<br /> 追加して書き込む。※要はデータが<br /> おかしくなっても、なんとかする的なデータ</li> <li>上記により書き込み速度はやや遅くなる</li> <li>論理ドライブの容量は、物理ディスクの<br /> 合計容量から1本分の容量を引いたもの<br /> ⇒ 1TBx4の構成なら(1x4)-1=3(TB)</li> <li>物理ディスクが1本故障しても、パリティを<br /> 使って⽋損データの復元ができる</li> </ul> <hr /> <h3 id="RAID10(1+0)"><a href="#RAID10%281%2B0%29">RAID10(1+0)</a></h3> <ul> <li>RAID1の論理ドライブ同⼠を<br /> RAID0で構成して⾼速化と冗⻑性の<br /> 両⽴を実現している</li> <li>論理ドライブの容量は、物理ディスクの<br /> 合計容量の半分になる<br /> ⇒ 1TBx4の構成なら(1x4)÷2=2(TB)</li> <li>物理ディスクが1本故障しても、<br /> 論理ドライブのデータは消失しない。<br /> 4本構成なら条件によっては、2本故障<br /> してもデータは消失しない。<br /> (以下例 Disk1とDisk3が故障した場合)</li> </ul> Ususuke