Loading Context

よみこみちゅう...

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

「これって頼める?」みたいなざっくりしたご相談もOKです!
気になることがあれば、いつでもお気軽にご連絡ください。

SNS