ホスティングサービス(レンタルサーバー)のサーバー機能を見てみるとRAID構造という項目があります。
サービスによってRAID1やらRAID5やらRAID10やら様々。(数字をレベルとも言う)
ここで気になるのが「RAIDってなんぞや? 数字付いてるけどなにか違うの?」という部分でしょう。
そこで悩み解決のためRAIDとは何かを解説しつつ、RAIDレベルごとの利点や欠点を比較していこうかと。
RAIDとは複数のドライブを組み合わせて性能を上げること
ドライブとはSSDやHDDとなどの記憶媒体のことです。
つまりRAIDというのは複数のSSDもしくはHDDを一つのドライブとして利用することを指します。
複数のドライブを一つにして使うことで故障リスクの低減や、SSDなどへの書き込み読み込み速度が上がるため使われる技術です。
このRAIDにはRAIDレベルというものがあり、それによってRAIDの構造が変化。
RAID構造が変わると、性能も変わってくるためどのRAIDレベルの方式を使っているかでサーバーの性能にも違いが出ます。
RAIDにするとドライブの性能が上がる、またRAIDレベルによって性能も変わるという部分を覚えておけばオッケーです。
RAIDレベルは色々ありますが、この記事ではRAID0,1,5,6,10について触れていこうかと。
※図解なしなので分かりづらいかも。そのうち作ります多分
RAID0
- 特徴:ストライピング方式により読み書き速度が向上
- 利点:読み書きの速度、容量効率がRAIDレベル全体の中でトップ
- 欠点:安全性皆無
ストライピングというのは、複数のドライブに一つのデータを分割して保存することでアクセス速度を向上させる技術のことです。
例えば100GBあるデータを一つのHDDに書き込むと100GB分の処理時間を必要としますが、ストライピングで50GB,50GBに分割し2つのHDDに保存すれば100GBが実質50GB分の速度で保存できるし、また読み込みができるということです。
……難しいと思うので、「ストライピングは速い!」とだけ覚えておけばかまいません。
後々わかりますがRAID構造は基本的に冗長性、故障した時のためにバックアップ的なものを作るのですが、RAID0はそういうの一切なし。
そのため台数を増やすほどどのRAIDレベルより効率的に高速化し容量も増やしますが、1台でも壊れたら分割したデータが読めなくなりアウトという弱点をRAID0は抱えています。
HDD1台が仮に年間1%の確率で壊れるとすると、台数を増やすごとにRAID0の故障リスクは伸びていくため、安全性を考慮してあまり使われないRAIDレベルです。
※使ってるレンタルサーバーは筆者の知る限りなし
RAID1
- 特徴:ミラーリングにより安全性アップ
- 利点:複製データを作ることで耐障害性が向上
- 欠点:特にアクセス速度が速くなることはない
ミラーリングというのは、バックアップに近いものです。
データAをRAID1に書き込む場合、データが複製され同じデータが2台に保存されます。そのため片方が壊れても、もう片方が生きているため大丈夫という構造になります。
ミラーリングとバックアップの違いは、仮に片方のドライブが壊れても復元などの作業をせずそのまま継続して運用ができるという点です。
RAID1はRAID0のようにデータを分割して、保存する機能はありませんのでアクセス速度が向上することはありません。(読み込みに限っては向上する場合あり)
むしろ一つのデータを毎回2つのドライブに書き込むため、保存速度は1台の時より遅いです。
少ない台数で安全性を向上できるため、低コストでサーバーを運用する場合に採用されることもあります。
RAID5
- 特徴:ストライピング方式でドライブ1台分故障しても大丈夫
- 利点:速度と安全性を確保している
- 欠点:1台分の故障までしか安全性が確保できてない
RAID0は一台でもHDDやSSDが故障してしまえばアウトでしたが、RAID5は1台までなら故障しても問題ありません。
どういう方式かというとパリティデータというものをドライブ1台分、分散して確保し、1台までなら故障してもそのパリティデータから修復できるというものです。
バックアップと違い、パリティによる修復は勝手に行われるので復元などの作業は必要ありません。
RAID5はRAID0の速さと安全性を良いとこ取りした方式ですが、1台分の猶予しかないため少し不安が残るRAIDレベルでもあります。
RAID6
- 特徴:ストライピング方式でドライブ2台分まで故障しても大丈夫
- 利点:RAID5より安全性が充実
- 欠点:2台分機能が利用できない
RAID5は1台分をパリティデータに利用していましたが、RAID6は2台分のスペースをパリティデータ用に確保します。
そのためRAID5より更にもう一台まで故障しても問題なく運用することが可能です。(2台まで故障しても大丈夫)
しかし安全マージンを多く確保する分、速度や容量効率という面でRAID5に劣ってしまっています。
安全性を考えるならRAIDレベルの中でもトップレベルなのですが、なぜかホスティングサービスの類であまり使われているのを見ない方式です。
RAID10
- 特徴:ストライピングとミラーリングを組み合わせたもの
- 利点:安全性・速度がともに高い
- 欠点:2台につき1台分ミラーリングで使われる
RAID0のストライピングと、RAID1のミラーリングを組み合わせたのがこのRAID10です。RAID1+0とも言います。
RAID5やRAID6のパリティ型と違い、ミラーリング型なので例えばドライブAとそのミラーであるドライブA'が同時に壊れない限りは故障しません。(ドライブA、ドライブB、ドライブCと壊れてもドライブA',B',C'があるので大丈夫)
ストライピング機能のあるRAIDの中では、安全性はRAID6>RAID10>RAID5という感じ。
人気の高いRAID構成で、使っているホスティングサービスも多いです。
RAIDレベル別、速度と耐障害性(安全性)比較
RAIDの速度比較(ベンチマーク)
4本のDiskで組める最強のRAIDをベンチマーク測定で決める | work.log
RAIDレベルの話: 1+0と6はどっちが安全か? - たごもりすメモ
上記リンク先情報を元に、仮にすべてのRAID台数が4台だった場合
- 速度:RAID0>RAID5≧RAID10>RAID6>RAID1
- 安全:RAID1>RAID6≧RAID10>RAID5>RAID0
と結論付けました。(異論は認める)
トータルの性能で見るとRAID10が良さげではあります、RAID5も捨てがたいけど。
安全性特化ならRAID6なのですが、ホスティングサービスの共用サーバーを使う場合、セキュリティやメンテナンスは運営企業がやるので利用者的にはメリットが薄いような気もします。
RAID6は自分でサーバーを建てたりメンテナンスをする場合、選択肢に入ってくる感じ。
基本的にRAIDに使う台数が増えるほど速度と故障率が上がる
例外もありますが、RAIDに使う台数が増えるほどアクセス速度と故障率が上がります。
重要なのは台数が増えるほど速度が増えるという点。
レンタルサーバーの多くは「RAID構成です!」や「RAID10です!」とだけ書いて、台数が非公開であることが多いです。
実際に重要なのはRAID台数の方で、「RAIDの速度比較(ベンチマーク)」をしているサイトでは利用可能台数が2倍になるとアクセス速度も約2倍になる検証結果が出ています。
RAID構成に使われているドライブ数は重要な情報ながら、筆者が問い合わせてみたところ回答してくれたのはJETBOYとmixhostのみでした。
※JETBOYはプランによって4~8台と変化(RAID5)。mixhostは10台(RAID10)と回答
レンタルサーバーを選ぶ場合はRAIDレベルだけでなく、非公開であることが多いですが使われている台数も確認すると良いでしょう。
RAIDについてのまとめ
- RAIDは複数ドライブを一つにして使い性能を上げるという技術
- RAIDレベルによって性能変化、RAID5,6,10,が速いし安全
- RAIDに使われている台数で性能も変わるので注意
レンタルサーバーを選ぶならRAID5,6,10のものを選択すると良いかと。
RAID1のものは安全性を確保しつつ、低コストで運用できる利点があるのですが、自分で運用しない分には関係ないメリットなためなるべく避けたいですね。
RAIDレベルはレンタルサーバーによって結構違いますので、比較しておきたいポイントです。
ちなみに主要レンタルサーバーのRAIDレベルと台数を比較してみたところ、「mixhost」が最も優秀だったことは一応書いておきますね。