『RAID』には種類があるのは分かったけど、結局どの『RAID』がいいの?まとめはじめにこんにちは。今回は、データ運用の要である『RAID』について解説していきます。『RAID』とはどのようなものなのでしょう?結論から言えば、『RAID』とは『ハードディスクに必要不可欠な信頼性を追求するための技術』になります。消えてから分かるデータの重要性あなたは故意ではなくPCのデータが消えてしまったことはありますか?もしそのような出来事に遭遇していたのなら、私も過去にあるので心中お察しします。ほんと、辛いですよね〜泣きたくなりますよね〜。ところがこのデータが消える話はPCだけではありません。あなたが利用しているサービスのサーバーも同様に、常にデータ損失の可能性は捨てきれないのです。どんな企業で構築したサーバーも、ホスティングベンダーが保持しているサーバーにもこれは当てはまります。Drive)』という長期記憶媒体を使用していることによります。聞きますよね?ハードディスクは消耗品だと。ハードディスクは壊れることを前提として考えておかなければならないハードウェアなのです。そのハードディスクが壊れれば当然データが消去されるので、多くの人がアクセスするようなサーバーだと大変なトラブルになります。業務停止は免れず、それだけではなく損失を被る可能性もあります。このような損失を起こさないためにもデータのバックアップは別に最優先事項としておかなければなりません。データのバックアップとはデータ丸ごとを複数の媒体に保存しておくことです。PCのバックアップであれば、ハードディスク内のデータをそのまま別のハードディスクにコピーするだけで済みます。常に連続稼働しているサーバーには余計な負荷がかかるため、そのような手法は得策ではありません。そこで、サーバーでも利用できるデータのバックアップに似た方法として、複数のハードディスクを効果的に利用した『RAID』という技術が生まれました。『RAID』って一体何?RAIDとは、PCやサーバーなどでおこなう、安全性を向上させるための多重化技術です。この技術を『冗長化(じょうちょうか)』と呼びます。ちなみにRAIDは、上記で説明していたバックアップとは意味合いが違うものになるのでご注意ください。RAIDを簡単に説明すると、まずPCやサーバーを構築する際にハードディスク1台のみという搭載にはせず、複数のハードディスクを搭載させてRAIDを施すことになります。することで、仮にどれかのハードディスクが壊れても、それ以外のハードディスクで連続稼働を継続させることができます。この技術が必要なものの台頭がレンタルサーバーなどのホスティングベンダーであるのは間違いなく、RAIDを扱うことで安心という名のサービスをおこなっているわけです。スポンサーリンク『RAID』を利用するにはどうしたらいいの?PCにある程度の知識をお持ちであれば、個人でもRAIDを組んで冗長化対策をすることはできます。そのRAIDを利用する方法として、基本的にはRAIDコントローラーなるハードウェアが必要になります。RAIDコントローラーは、マザーボードに接続するためのカード式のハードウェアです。ハードディスクは、通常マザーボードに直接接続してデータの読み書きをしていますが、RAIDの場合はそうはせず、RAIDコントローラーに接続して読み書きをおこなえるようにします。することで、ハードディスクを複数搭載しつつも、RAIDを利用したデータの冗長化保存が可能になります。ちなみに、最近だとRAIDコントローラーと同様の機能がマザーボードに元から付いていたりするので、わざわざRAIDコントローラーを購入する必要はないかもしれません。それに、今となっては大容量のハードディスクが簡単に購入できますし、そのハードディスクにデータをコピーすれば済む話なので、個人でRAIDを用いるケースは少ないのが実情ではないでしょうか。AmazonでRAIDコントローラーを見てみるたくさんある『RAID』の種類RAIDと一口に言っても、その冗長化方法は複数あります。その理由は、冗長化するにも『ハードディスクが壊れない』という絶対的な保証がどうしても不可能なため、そこを上手く補う方法として技術を模索していくうちに、RAIDによる冗長化の方法が増えていったというものになります。RAIDと言ってもどういった方法を採用しているかで、その冗長化が安全かどうかの尺度が分かることになります。10』というように、RAIDの後に数字が付くことで判断が可能です。以下にRAIDの種類と特徴を簡単にまとめてみました。10』では、なぜRAIDにこのような数字が付き、増えていったかを見ていきましょう。0』のハードディスクの最低必要台数は2台からです。RAID0の場合、ハードディスクは複数ありますが、冗長化という意味合いでは若干違っていて、複数のハードディスクを連結させて1台のハードディスクとして認識させるだけにしています。今よりもハードディスクの最大容量が500GBなど少ない時期に、例えば500GB+500GB=1,000GBとして、複数台を1台として考える、容量を増やすことをメリットとした手法です。データの保存イメージは、ある1つのデータがあったらそれを細かく分割し、元のデータより小さい単位にしてしまいます。その分割したデータを2台のハードディスクに分けて保存していきます。No,2には4番目と5番目と6番目の分割データを保存していくという具合です。このような複数台のハードディスクに分散させてデータを書き込むことを『ストライピング』と呼びます。この場合、データの読み書き自体も分散できるので、高速化できるというメリットがあります。その反面、複数台あるハードディスクの内どれか1台でも故障すると全データの消去と同じ意味合いになってしまいます。これは大きなデメリットなので、RAID0を利用するのは容量アップと高速化したい時だけの利用に留まってしまいがちです。1』のハードディスクの最低必要台数は2台です。1』はきちんとした冗長化になっています。それは、まずRAID0とはデータの保存イメージが違い、データを分割することなくそのままのデータを扱う点です。ハードディスクを1台として考えますが、保存先は1つの場所でありつつも、実は同じデータを別のハードディスクにも保存しているというものになります。同じデータが2台に保存されるというものです。このおかげでRAID1の場合は、1台が壊れてももう1台に問題がなければ継続稼働が可能になるというメリットがあります。メンテナンス的にも、1台のハードディスクが壊れた場合にはその1台を交換することで、データの保護が比較的容易です。1』は、その信頼性の高さからよく利用されてきたRAIDで、このRAID方法を『ミラーリング』と呼びます。RAID1のデメリットとして、ハードディスクの容量が増えるわけでもなく高速化することもできない点があります。『RAID5』から段々と複雑になってきます。RAID5のハードディスクの最低必要台数は3台になります。ハードウェア的な冗長化の方法は、複数台を1台扱いにするRAID0、RAID1と変わりませんが、データの保存方法がまた変わってきます。No,3には5番目と6番目という具合でハードディスクに分散保存していきます。これだけではデータをただ分散させただけなので、冗長化にもなっていません。するかというと、復旧用の『パリティデータ』というブロックデータを別で作っておくのです。上記のように、仮に1つのデータを6つに分けたとします。するとその時点でパリティデータも同時に作られますが、そのパリティデータには1番目&2番目を1つのデータセット、3番目&4番目を1つのデータセット、5番目&6番目を1つのデータセットという組み合わせとして作られることになります。保存先のハードディスクには以下のようにデータが保存されていくわけです。3番目,4番目のパリティデータセットこうすることで、どれか1台のハードディスクが故障しても、残りの2台のパリティデータを利用できることになるので連続稼働が可能になります。このRAID方法は『パリティス付きストライピング』と呼ばれ、RAIDの安全策として比較的人気が高い傾向にあります。5』に必要なハードディスク3台にもう1台増設して4台にし、さらに信頼性を高めたものになります。RAID6の場合は、たとえ2台が壊れても、残りの2台で稼働が可能なので安全策としてはかなり有効な冗長化対策です。その仕組みはRAID5と同じで、データの分散をおこないつつもパリティデータを作るという点は変わりません。RAID5では1セットだったパリティデータのブロックを、RAID6では2セット作るところに違いがあります。RAID5に書いたのものに付け加えると、元データの1番目&2番目を2つのパリティデータセット、3番目&4番目を2つのパリティデータセット、5番目&6番目を2つのパリティデータセットとして作られることになります。そのパリティデータセットも含め、ハードディスクに分散保存させていきます。ややこしいですが、以下のようなイメージです。1番目,2番目のパリティデータセットこうすることで、ハードディスクが仮に2つ壊れても残りの2台からデータを復旧すれば、元どおりにすることが可能になります。この方法を『ダブルパリティ』と呼びます。RAID6のデメリットとして、パリティデータを2セット余分に作って保存することになるので、ハードディスクの容量を圧迫することになります。10』は『RAID6』のようにハードディスクの最低必要台数が4台です。データを分割するのは同じですが、RAID5やRAID6のようにパリティデータを作ろうとはせず、RAID0やRAID1のように初心に戻りつつも進化させた方法になっています。4台のハードディスクがあるとしたら、RAID1のミラーリングを施して、AセットBセットのように2台ずつに分けます。次にどちらのセットもRAID0のストライピングを施すのです。することで、ミラーリングしつつもストライピングをさせるというRAID0とRAID1の合わせ技をさせているわけです。ミラーリングした2台のハードディスクがどちらも壊れない限り、連続稼働が可能になります。データも分割はするものの、RAID5やRAID6と違いパリティデータを作ることはないので、容量の圧迫もなくトラブルが起こった後の復旧がしやすく、サーバー自体にも負担をかけずに済むというメリットがあります。ミラーリングをしていることにより容量が増えるわけではないので、ハードディスクのコスト増というデメリットは免れません。Point!ちなみに、RAID2〜4については実際には存在してはいますが、結局RAID5が登場したことで使われなくなってしまったという経緯があります。スポンサーリンク『RAID』には種類があるのは分かったけど、結局どの『RAID』がいいの?こればっかりは、安心を取るかコストを取るかで変わってきます。導入のしやすさならRAID1か5でしょう。信頼性に重きを置きたいならRAID6かRAID10になってきます。RAID0については、今やハードディスク大容量の時代なのとそもそもが冗長化にはならないので、RAID2〜4のように無くなっていくように思われます。それに、これからもまだまだ新しいRAIDも生まれてくる可能性もあり、安心とコストを天秤にかけつつ、その都度時代にあったRAIDを選ぶことが得策になるでしょう。以下に各RAIDの特徴を簡単にまとめてみました。4台AmazonでRAID対応HDDを見てみるまとめRAIDについて何となく掴めたでしょうか?RAIDと言っても、意外にも複数の種類が存在しているんですよね。これだけSaaSが普及する時代に、なかなか個人でRAIDにすることは少ないかもしれませんが、反対にサーバーにとっては絶対に必要な技術です。私たちユーザーの安心のためにもRAIDのさらなる発展、もしくはそれに変わるような技術が生まれたら注目していきたいです。