Blog
本記事の目的
RAIDの種類とどのパターンを採用するかの判断基準について理解する。
RAIDとは
RAID(Redundant Array of Independent Disks)は、データが格納されているストレージを冗長化することで、耐障害性やパフォーマンスを向上させる技術です。RAIDには複数の種類があり、それぞれに特徴や用途があります。以下、それぞれの種類について詳しく解説していきます。
冗長構成の仕組みとして、「レプリケーション」がありますが、仕組みは異なります。
- RAID ... ディスクに対しての冗長化
- レプリケーション ... データベースサーバーに対しての冗長化
※ レプリケーションについては別の記事で細かく解説します。
RAID0
「ストライピング」とも呼ばれます。
冗長性がなく、1台のディスクが故障するとデータ全体が失われます。
ディスク1 | ディスク2 |
---|---|
データ1 | データ2 |
データ3 | データ4 |
データ5 | データ6 |
RAID1
ミラーリングと呼ばれ、2本のディスクに同じデータを持ちます。
これにより、耐障害性が向上します。
ただ、データが分散されないので性能は向上されず、データ使用率もあまり良くないです。
ディスク1 | ディスク2 |
---|---|
データ1 | データ1 |
データ2 | データ2 |
データ3 | データ3 |
RAID5
パリティ分散と呼ばれ、最低3本で構成されます。
パリティ(冗長データ)を分散して書き込みます。これにより、1台のディスクが故障してもデータを復旧できる耐障害性を確保します。
また、データも分散できるの読み込み性能の向上も期待できます。
※ただ、パリティ計算により、書き込み性能が低下することがあります。(通常、データベースは書き込みよりも読み込みの方がデータ量が多いので、読み込みの方が重視されるようです)
ディスク1 | ディスク2 | ディスク3 |
---|---|---|
データA1 | データA2 | パリティA |
データB1 | パリティB | データB2 |
パリティC | データC1 | データC2 |
... パリティA: データA1とA2のパリティ
... パリティB: データB1とB2のパリティ
... パリティC: データC1とC2のパリティ
RAID10
RAID1 + 0とも呼ばれ、その名の通りRAID 1とRAID 0を組み合わせた構成で、ディスクのミラーリングとストライピングを同時に実現します。データの冗長性とパフォーマンスの両方を重視しています。
ただ、最小構成は4台のディスクが必要となることもあり、コストが非常にかかる手段かと思います。
XServerはどの構成?
個人的にXServerをよく使っているのですが、クラウドサービスということもあり、あまり意識していませんでした。
先日ふと気になって調べたところ、どうやらXServerではRAID10が採用されているようですね。
終わり
本記事では、RAIDの各種レベルについて解説しました。
普段はクラウドサービスを利用しているため、内部でどのようにRAIDが機能しているかを知るよい機会となりました。
実際にどのRAIDを採用するかは、性能要件や予算次第ですが、可能であれば「RAID10」を選択するのが最も安心です。一般的には「RAID10 > RAID5 > RAID1 > RAID0」と言われるように、耐障害性とパフォーマンスのバランスを考えると、RAID10が優れているケースが多いです。
なお、RAID0は冗長性がまったくないため、「悪だ」という極端な評価があるほどリスクが高い点にも注意が必要です。
CONTACT
あくまでも本業がメインですが、休日や業務の隙間時間は個人でも動いております。
もしお手伝いできることがあれば、お気軽にお問い合わせください。