Blog

物理設計① RAID

2025.01.19

本記事の目的


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

あくまでも本業がメインですが、休日や業務の隙間時間は個人でも動いております。
もしお手伝いできることがあれば、お気軽にお問い合わせください。

SNS