計算機の発達により巨大ストレージが随所で求められるようになりました。この巨大ストレージでは容量の大きさだけでなく品質も重視されます。巨大なストレージを手作業でメンテナンスすることは難しいからです。メンテナンスフリーに近くしかも無停止運用に近い巨大ストレージが廉価に求められています。
ハードディスクが普及し始めた初期の頃、ハードディスクは高価で壊れやすく小容量でした。そこでこの弱点を補う技術としてRAIDは開発され、そのうちのRAID5と呼ばれる実装が最も普及しました。RAID5が支持された理由は、冗長化による容量の減少が最小であったからです。「信頼性の品質や運用の手間」などの議論は「質より量」の圧力に屈していました。
RAID10は非常に優れた贅沢なRAIDポリシーです。これまではその贅沢さ故にRAID5と比較されると、土壇場になって断念されることが多いRAIDでした。RAID10は冗長化により容量が大きく減少しコストパフォーマンスが低下します。またRAID10で大きなボリュームを作成するために必要な、搭載ディスク本数の多いディスクエンクロージャとRAIDコントローラは、安価には提供されていませんでした。過去のRAID10は高品質、高価格、小容量でした。
ところが、大容量のSATAハードディスクの普及、SAS技術の登場、SAS対応RAIDコントローラの開発、SAS Expander搭載のディスクエンクロージャの発売などにより、RAID10を取り巻く状況は大きく開けてきました。「論より証拠」として現在導入が盛んな弊社の製品例を以下にご紹介します。
・ RAID10、2TB 、ホットスペアディスク付き、当日4時間オンサイト修理サービス付き、高速ファイルサーバ: 約100万円
・ RAID10、10TB 、ホットスペアディスク付き、当日4時間オンサイト修理サービス付き、高速ファイルサーバ: 約500万円
・ RAID10、72TB 、ホットスペアディスク付き、当日4時間オンサイト修理サービス付き、高速ファイルサーバ: 約3000万円
このように2TBから72TBまでの幅広い容量レンジにおいて、メンテナンスフリー化を実現するオンサイト修理サポートを含んだRAID10ファイルサーバが、シリーズ化され商品展開されるようになってきています。
無停止に近くしかもメンテナンスフリーの運用を実現するストレージが「RAID10 + ホットスペアディスク + ホットスワップディスク + 当日オンサイト修理サービス」のシステム構成です。ご存知のようにRAID10はふたつの階層から構成されており、信頼性はRAID1により、速度はRAID0により実現するRAID0です。RAID1は2個のハードディスクをミラー化し、片方のハードディスクで障害が起きても、他方のディスクで全く支障なく運用を継続する仕組みです。さらにホットスペアディスクを搭載しRAIDコントローラに自動リビルトが設定されていると、自動的に障害を起こしたディスクを切り離し、同時にホットスペアディスクをRAIDに取り込み、自動的にディスクのコピーを行い迅速に冗長性を復活させます。さらに当日4時間のオンサイト修理サービスにより、故障したハードディスクの交換はシステムを運用したホットスワップにて実施します。交換が終了するとホットスペアディスクとして定義し復旧は完了となります。
信頼性の高いRAID10によるストレージでもバックアップは万一の保険として必要です。ディスクの障害が起こっても、正常なリビルトが実施されている限りバックアップは不必要です。しかし、障害の程度が重く、正常なリビルトが完了されない万一の重度な障害の場合にはバックアップが必要になります。ただしRAID10でのバックアップはRAID0でも大丈夫な場合が一般的です。また、弊社のシステムでは同じ計算サーバ内にRIAD0ボリュームを構築し、コストダウンすることも可能です。
RAID5 / RAID6 の冗長性とRAID10の冗長性の大きな違いを整理します。RAID10の冗長性の特長は先にも書きましたが、RAID1 + ホットスペアディスクの構成で最も高機能となり、無停止運用に近い利用状況を実現できます。これに対してRAID5 / RAID6での運用はその実際は大きく異なります。RAID5 / RAID6での冗長性を用いた運用の基本はシステム停止を安全に行うための時間を稼ぐためのものです。RAID5 / RAID6でディスクが障害を起こすと、真っ先に行わなければならないことはNFSサービスを受けている側の計算機のアプリケーションの停止とNFSサービスのアンマウントです。次にバックアップの確認です。可能であればファイル数やファイル容量などの比較やサンプルファイルの読み出しテストを行ってください。もしバックアップが必要ならこの段階で必ず実施してください。(ここまでがリビルトを開始する前に必ず行ってほしい作業です。) ここまで来ればリビルトでも再構築とバックアップからリストアを行っても大丈夫です。このようにリビルドを開始するまでの作業をダラダラ書いてきましたが、RAID5 / RAID6でディスク障害が起きた場合の堅実な作業手順はこのようなものです。このことを知っていただくと、RAID10での冗長性の価値が明らかになると思います。
大きな物理容量を必要とするRAID10のコストパフォーマンスの課題は大容量ディスクの低価格化で解消されつつあります。しかし、もうひとつの課題が残されています。それがファイルサーバの集約です。1台のファイルサーバの容量制限が大きいと、複数のファイルサーバに容量を分散しなければなりませんが、管理が煩雑になるためファイルサーバの分散は避けることが望まれます。できれば高速大容量ファイルサーバに集約したいのです。
これまでのSATA接続では多くても16台程度のディスク搭載が限度のような印象を持ちます。SCSI接続でも15台程度の印象です。これではSATA 1TBドライブを用い6TB、SCSI 500GBドライブでは3TB程度が限界です。この制限の元でのRAID10の採用はディスク本数を多く要するため厳しく感じます。大きな容量を実現するためにはDASを用いてSCSI接続かFiberChanel接続を用いた大掛かりな構成が主になります。
ところが最新技術を利用しているSAS接続ではこのような問題が解消されています。最新のSAS Expanderデバイスを採用したRAIDコントローラとディスクエンクロージャのセットでは、RAIDコントローラ一枚で最大90基のハードディスクを接続可能です。さらにPCI Expressスロットが多いサーバを用いると、RAIDコントローラの2枚挿が可能となり最大で180基のハードディスクまでが搭載できRAID10の実効容量として72TBを実現しています。
RAID10はRAID1+0とも呼ばれており、RAID1とRAID0を複合させたRAIDです。RAID1では信頼性、可用性、復旧速度を実現し、RAID0では速度と大容量を実現しています。この2種類のRAID技術を組み合わせたものがRAID10です。
従来RAID10は容量が半減することによる制約が大きく、利用には大きな抵抗がありましたが、技術革新の結果制約が解消され、RAID10が持つ本来の優れた特性が開花しています。
・ RAID10 + ホットスペア + ホットスワップ構成により、準無停止運用が可能
・ RAID1によりディスク障害が起こっても運用を継続できる
・ RAID1の障害復旧は短時間
・ RAID1の障害復旧はシステムへの負荷が小さい
・ RAID0によりI/O性能を高速化できる
・ RAID0により大容量化を実現している
・ RAID10の課題はディスクの実効容量が半分以下に減少すること
・ 容量が半減することでのファイルサーバの小容量化による制約 (小さいサーバは使いにくい)
上記のRAID10の課題はディスクの大容量化とSAS Expanderデバイスを利用したSAS接続による接続ディスク数の拡大により解消されています。
・ ディスク価格の低価格化と大容量化によりRAID10での容量半減の課題は解消
・ ファイルサーバの小容量化はSAS接続による接続台数の拡張により解消
RAID10のリビルトは一対のディスク間だけで行われるため、全体のボリュームサイズがどんなに巨大になってもまったく影響を受けません。これもRAId10の大きなメリットです。
RAID5は物理的にはRAID0です。信頼性の獲得はパリティーによる論理的な冗長構造で実現しています。データに障害が1ビット発生してもパリティーにより元のデータが自動復元されるため利用を継続することができます。しかし、この状態では冗長性は失われているため、次にもう1ビットのデータ障害が発生すると全てのデータが消失します。そのため、速やかな冗長性の復活が必要です。具体的には、障害を起こしたディスクを良品に交換し、RAIDボリューム全体から交換したディスクに書き込むデータを生成し復旧します。しかしこの復旧の過程で1ビットのデータ障害が起こると、復旧は完了せず全体データが消失します。
・ ハードディスク1本をパリティデータ用に割り当てるだけなので、冗長化のために失うディスク容量が最小
・ RAID0が基本のため高速
・ 少ないディスク本数で大きなボリュームを実現できる
・ RAIDボリュム全体を用いなければリビルトできないため2次障害に弱い
・
RAIDボリュム全体を用いなければリビルトできないため復旧に時間がかかる
ディスク容量が小さく、ディスクが高価で、接続可能台数が少なかった過去には長所が光ったRAID5は、ディスク容量が巨大化し接続台数が多くなった現在では長所が光らなくなっています。逆にRAID5の仕組みの複雑さが持つ短所が問題になっています。
また、ディスクが大容量化した現在では、RAID5の長所を活かすためには大容量のRAIDボリュームを作成する必要があります。1TBディスクを使うと2TB程度のRAID5ボリュームはあまり意味がないのです。ところが5TBや10TBの巨大ボリュームはバツクアップやリビルト、リストアなどに長い時間を必要とする上リスクも高いため、実際の運用ではあまり巨大なRAID5ボリュームの作成は望ましくありません。
(これに対してRAID10のリビルトは一対のディスク間だけで行われるため、全体のボリュームサイズがどんなに巨大になってもまったく影響を受けません。これもRAId10の大きなメリットです。)
RAID6はRAID5の耐障害性を高めるためパリティーを2重にしたRAIDです。RAID5では同時期に2ビットの障害が発生するとデータは消失しますが、RAID6はこれには耐えられます。そのために2基のディスクを冗長化のために必要とします。
・ 同時期に2ビットの障害が発生してもデータは消失しない
・ 2基のディスクが冗長化のために必要
少し考えるとわかりますが、1TBのディスクで2TBボリュームを作成するならRAID10の方が全てに関して優れています。さらに大容量のボリュームではリビルトの時間などの問題からRAID5 RAID6は広く推奨できません。
現在RAID5 / RAID6が適している領域は極めて限定的です。