tag:crieit.net,2005:https://crieit.net/tags/%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%80%80%E5%88%9D%E5%BF%83%E8%80%85%E5%90%91%E3%81%91/feed 「サーバー 初心者向け」の記事 - Crieit Crieitでタグ「サーバー 初心者向け」に投稿された最近の記事 2021-01-08T17:22:34+09:00 https://crieit.net/tags/%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%80%80%E5%88%9D%E5%BF%83%E8%80%85%E5%90%91%E3%81%91/feed tag:crieit.net,2005:PublicArticle/16565 2021-01-08T17:20:04+09:00 2021-01-08T17:22:34+09:00 https://crieit.net/posts/RAID-5ff815b47fc52 サーバ基礎―RAIDってなんだ?? <h2 id="データ消失=死"><a href="#%E3%83%87%E3%83%BC%E3%82%BF%E6%B6%88%E5%A4%B1%EF%BC%9D%E6%AD%BB">データ消失=死</a></h2> <p>このデジタルの世の中で生きていれば、様々な事情によりデータが消えて青ざめた経験があるはず(?)<br /> まあ、個人的なデータであればあきらめがつく場合もありますが、<br /> これが<strong>会社の大事なデータ</strong>だったら?</p> <p><strong>大変なことになりますね。</strong></p> <p>そう、だからこそ<strong>データを安全に守ることはとても大切</strong>なのです。</p> <h2 id="データを安全に守ろう"><a href="#%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E5%AE%89%E5%85%A8%E3%81%AB%E5%AE%88%E3%82%8D%E3%81%86">データを安全に守ろう</a></h2> <p>データ消失、そんな悲劇を防ぐためには何が必要なのでしょうか。<br /> 方法はいろいろありますが、ここでは<strong>サーバ側</strong>で使われる<strong>RAID</strong>について簡単にご紹介します。</p> <p>前提として、サーバにデータがどうやって保存されているのか説明します。</p> <p>サーバの中にある、大事なデータやプログラムは<strong>ディスク</strong>というものに記録されています。</p> <ul> <li>ハードディスク</li> <li>SSD</li> </ul> <p>とかですね。もちろんこれらは<strong>物理的な存在</strong>なので、<strong>壊れるときには壊れます</strong>。</p> <p>こいつらが壊れると<br /> <strong>「おきのどくですが ぼうけんのしょは きえてしまいました」</strong><br /> になるわけです。</p> <h2 id="RAID"><a href="#RAID">RAID</a></h2> <p>さて、本題であるRAIDの説明に入っていきます。<br /> そもそもRAIDとは、</p> <p><strong>「RAIDコントローラー」を使って<br /> 複数のディスクをまるで一つのディスクのように扱い(論理ディスク)、処理速度アップや壊れにくさアップを実現する</strong><br /> 方法です。</p> <p>つまりどういうことかというと、</p> <p><strong>一つのデータをたくさんのディスクに分散して記録したり、コピーして記録したりする</strong></p> <p>って感じです。</p> <p>RAIDにはいくつも種類があって、それぞれ特性が違います。いくつかご紹介します。</p> <p>### RAID0<br /> たくさんのディスク(2つ以上)に<strong>データを分割して平行処理</strong>します。<br /> たとえば <strong>「100」</strong> の大きさを持ったデータを、<strong>4つのディスク</strong>でそれぞれ「25」「25」「25」「25」に分けて一斉に記録します。</p> <p>そうすると、<strong>それぞれのディスクは「25」しか記録しない</strong>ので、<strong>ひとりで「100」記録するより早く処理を終えられます</strong>。</p> <p>というわけで、RAID0はその処理速度の速さが特徴です。</p> <p>ただし、あくまで <strong>「100」になってこそ意味のあるデータ</strong>です。<br /> <strong>1つでもディスクが故障した時点で、データは消えてしまいます</strong>。</p> <p>あんまり安心はできないです。</p> <h3 id="RAID1"><a href="#RAID1">RAID1</a></h3> <p><strong>2つ</strong>のディスクに、<strong>まったく同じデータを書き込みます</strong>。</p> <p>つまり、1つが完全なバックアップとなっています。<br /> こうすることで<strong>片方のディスクが壊れても、データは消えない</strong>ようにすることができます。</p> <p>しかし、RAID1に比べて<strong>処理速度は遅くなり</strong>ますし、<strong>2つディスクを使っているのに、ディスク1つ分のデータしか記録できない</strong>です。</p> <h3 id="RAID5"><a href="#RAID5">RAID5</a></h3> <p>RAID0みたいに、たくさんのディスクにデータを分割して記録しています。</p> <p>ただし違うのは、それぞれのディスクに<strong>データが壊れたとき用の修復データ</strong>(パリティ)も一緒に記録していることです。そのため、<strong>必要なディスクの数は3つ以上</strong>です。</p> <p>どれか一つのディスクが壊れたときは、<strong>残りのディスクたちがパリティを読み込んで踏ん張り</strong>ます。<br /> ただし、<strong>ディスクが2つ壊れてしまったらおしまい</strong>です。</p> <p><del>なんか故障率が高いらしいです。こわっ……</del></p> <h3 id="RAID10"><a href="#RAID10">RAID10</a></h3> <p>RAID1とRAID0の合わせ技です。<strong>ディスク4つ以上で構成</strong>します。</p> <ol> <li>まず、ディスク1と2、ディスク3と4がペアを組みます。</li> <li>次に、「100」の大きさのデータを「50その1」「50その2」に分割します。</li> <li>ディスク1と2は、「50その1」のデータを記録します。</li> <li>ディスク3と4も、同じ「50その2」のデータを記録します。</li> </ol> <p>という感じで、記録していきます。<br /> そのため、ディスク1と3のように<strong>ペアじゃないディスク同士が壊れても、データは消えません</strong>。<br /> どんな形であれ、「50その1」と「50その2」がそろえばよいのです!</p> <h3 id="RAID6"><a href="#RAID6">RAID6</a></h3> <p><strong>RAID5の進化版</strong>です。RAID5と比べると、<strong>パリティの量が2倍</strong>になっています。<br /> そのため、RAID5と違って、<strong>ディスクが2つ壊れてしまってもデータは消えません</strong>。</p> <p>と、こんな感じです。ほかにもRAIDはたくさんあるので、調べてみても面白いと思います!</p> <h2 id="最後に"><a href="#%E6%9C%80%E5%BE%8C%E3%81%AB">最後に</a></h2> <p>これだけは忘れずに。どんだけRAIDを頑張って<strong>障害耐性を挙げても、壊れるときは壊れる</strong>。</p> <h3 id="バックアップを、必ず取ろう!!"><a href="#%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97%E3%82%92%E3%80%81%E5%BF%85%E3%81%9A%E5%8F%96%E3%82%8D%E3%81%86%EF%BC%81%EF%BC%81">バックアップを、必ず取ろう!!</a></h3> drum-rk