ハードウェア基礎 #5 ストレージ ② 構成と接続 — RAID と DAS / NAS / SAN

読了 7分

#4 でディスク 1 枚の種類と性能を整理しました。1 枚には 3 つの限界があります。容量に終わりがあり、1 枚の速度に限界があり、故障するとデータが消えます。運用ではこの限界を越えるためにディスクを複数枚束ね (RAID)、サーバーにさまざまな方式で接続します (DAS・NAS・SAN)。今回の 2 つの主題です。

ハードウェア基礎 シリーズでの今回の位置です。

RAID — 複数のディスクを 1 枚のように #

RAID はディスクを複数枚束ねて OS に 1 枚のように見せる技術です。束ね方によって 速度 を得たり 安全性 を得たりします。方式ごとに番号が付いていて、よく使うものは 4 つです。

RAID 0 — ストライピング #

データを複数のディスクに切って分けて書きます。2 枚に分けて書けば読み書きがほぼ 2 倍速くなります。代わりに 安全性は 0 です。1 枚でも故障するとデータが散らばったまま全部使えなくなります。速度だけを狙って安全性を捨てた構成です。

RAID 1 — ミラーリング #

同じデータを 2 枚それぞれに書きます。1 枚が故障しても、もう 1 枚にそのままあるので安全です。代わりに 2 枚買っても使える容量は 1 枚分です。安全性のために容量の半分を渡す構成です。

RAID 5 / 6 — パリティ #

データを複数枚に分けて書きつつ、パリティ という復旧用の情報を一緒に分散して置きます。1 枚が故障すると、残った枚数とパリティで失ったデータを計算して復旧します。RAID 5 はディスク 1 枚の故障まで、RAID 6 は 2 枚の故障まで耐えます。ミラーリングより容量損失が少なく、ディスクが多いほど効率的です。

RAID 10 — ミラーリングとストライピングの結合 #

RAID 1 で束ねたペアをさらに RAID 0 でつなぎます。速度と安全性を一緒に得ますが、容量の半分をミラーリングに使います。性能と安全性がどちらも重要なデータベースでよく使われます。

RAID得るもの失うもの耐える故障
0速度、全容量安全性なし0 枚
1安全性容量の半分1 枚
5安全性 + 容量効率書き込み時のパリティ計算の負担1 枚
6安全性の強化パリティの負担がより大きい2 枚
10速度 + 安全性容量の半分ペアごとに 1 枚

RAID はバックアップではありません。 RAID はディスクの故障に耐えさせるだけです。誤ってファイルを消したり、ランサムウェアに感染したり、間違ったデータを上書きしたりすれば、その変更はすべてのディスクにそのまま反映されます。バックアップは別途、離れた場所に置く必要があります。

接続方式 — DAS / NAS / SAN #

RAID が「ディスクをどう束ねるか」だったなら、次の問いは「ディスクをサーバーにどう付けるか」です。3 つの方式に分かれます。

DAS — 直接接続 #

DAS (Direct Attached Storage) はディスクをサーバーに直接付ける方式です。ノートパソコンの中のディスク、サーバーに挿さったディスクがすべて DAS です。もっとも速く単純ですが、そのサーバーでしか使えず、サーバーが死ぬと一緒にアクセスが切れます。

NAS — ファイル単位、ネットワーク共有 #

NAS (Network Attached Storage) はネットワークに接続された保存装置を複数のサーバーが ファイル単位 で共有する方式です。複数のサーバーが同じフォルダを一緒に読み書きします。ファイル共有が目的のワークロードに合い、ネットワークを経由するので DAS より遅いです。

SAN — ブロック単位、専用ネットワーク #

SAN (Storage Area Network) はストレージ専用の高速ネットワークでディスクを ブロック単位 でサーバーに提供します。サーバーから見ればネットワークの向こうにあるのに自分のディスクのように見えます。ファイルではなく #4 で見たブロックをそのまま扱うので、データベースのように性能が重要なワークロードに使われます。専用ネットワークと機材が必要で高いです。

方式単位共有性格
DASブロック1 サーバー専用速く単純
NASファイル複数のサーバーで共有ファイル共有に適する
SANブロック複数のサーバーにブロックを提供速いが高い

クラウドストレージはこの概念の置き換えです #

ここまでがこの記事の本当の価値です。クラウドストレージは新しく発明されたものではなく、上の概念をサービスとして置き換えたものです。AWS を例にすると対応がきれいに合います。

オンプレミスの概念クラウドの対応性格
DAS (直接付いたディスク)インスタンスストア速いがインスタンスを止めると消える
SAN (ブロック、ネットワーク)EBSインスタンスに付くブロックボリューム、永続
NAS (ファイル、ネットワーク)EFS / FSx複数のインスタンスが共有するファイル
RAID のミラーリング・パリティ多重化で保証する耐久性複数のデバイスに自動複製

#4 で残した疑問、「インスタンスを止めるとインスタンスストアのデータは消えるのに EBS は残る理由」がここで解けます。インスタンスストアはそのインスタンスに直接付いた DAS なので、インスタンスと運命を共にします。EBS はネットワークの向こうのブロックストレージ (SAN に相当) なので、インスタンスと分かれて生き残ります。クラウドが宣伝する高い耐久性は、RAID のミラーリングとパリティの概念をデータセンター規模に拡大し、複数のデバイスに自動複製する方式で作られます。

よく出会う落とし穴 #

「RAID をしたからバックアップは要らない」 #

もっとも危険な誤解です。RAID はディスクの故障だけに耐えます。誤って消したファイルや間違って上書きしたデータ、ランサムウェアはすべてのディスクに同じく反映されます。バックアップは必ず別途置きます。

「RAID 5 なら安心」 #

RAID 5 は 1 枚の故障までしか耐えません。1 枚が故障して復旧している間に残った枚数へ負荷が集中し、2 枚目が一緒に故障する場合があります。ディスクが大きく多ければ RAID 6 や RAID 10 を検討します。

「NAS と SAN は同じもの」 #

単位が違います。NAS はファイルを共有し、SAN はブロックを提供します。データベースのようにブロックレベルの性能が必要なら NAS では足りないことがあります。

「インスタンスストアが速いからそこにデータベースを置こう」 #

速いのは確かですが、インスタンスを止めると消えます。永続データは EBS に、一時キャッシュやスクラッチ用途だけインスタンスストアに置くのが安全です。

まとめ #

今回つかんだ絵です。

  • RAID はディスクを束ねて速度 (0)、安全性 (1)、両者の折衷 (5・6)、両方 (10) を得ます。
  • RAID はバックアップではありません。 ディスクの故障だけに耐え、ミス・削除・ランサムウェアは防げません。
  • 接続方式は DAS (直接・ブロック・専用)、NAS (ネットワーク・ファイル・共有)、SAN (専用ネットワーク・ブロック・高性能) に分かれます。
  • クラウドストレージはこの概念の置き換えです。インスタンスストア = DAS、EBS = SAN、EFS = NAS、高い耐久性は RAID 多重化のデータセンター規模版です。

次回 — ネットワーク #

ここまでのリソースが 1 つのサーバーの中の話だったなら、これからサーバーの外へ出ます。NAS と SAN、EBS がすべてネットワークを経由するという点で、すでに予告された主題です。#6 ネットワーク — 帯域幅とレイテンシ、NIC からデータセンターまで では、運用でもっともよく混同される帯域幅とレイテンシの違い、距離が作るレイテンシの限界、そして同じ AZ とリージョン間とインターネットがなぜ違うのかを整理します。

X