著:クロスファンクショングループ プロダクトマーケティング室
インフラソリューション推進部 菅 博
データ保護は見過ごされがちな技術ですが、現代では最も注力されなければならない分野です。サーバやネットワーク機器が壊れたとしても、サーバやネットワークは単に演算処理やデータの出し入れをするための中間装置であり、別なものですぐに代替することで事が済みます。しかし、データが無くなった場合には、システムそのものが意味のないものとなり、元通りに戻すことはもはや不可能です。
サービスを24H/365D継続するためには、基盤装置を二重化してクラスタリングするだけでなく、データ消失が発生しない仕組みが必須です。また、万が一データが無くなったとしても、迅速にデータをリストア・リカバリするための仕組みが必要となってきます。ここでは、データ保護の仕組みである「RAID技術」、「バックアップ」、「災害対策」の三つの分野について解説します。
1. RAID 技術
以前「HDDの構造」で説明したように、HDD自体の耐久性は決して高いわけではありません。このためRAID(Redundant Arrays of Inexpensive Disks)の技術が開発され、今ではかなり安価なストレージでも当たり前のように実装されています。
RAIDは複数のディスクを束ねてひとつの論理的なディスクを作り出す技術ですが、次のようなメリットがあります。
- 信頼性の向上
- アクセス速度の向上
- ディスクの大容量化
RAIDは複数のディスクを論理的にひとつに見せることによって、あるディスクが故障しても論理的なディスクとしてはデータを消失することなく可動する構造を持っています。また、一台のディスクでは速度と容量に限界がありますが、複数のディスクを束ねて同時に可動させることで、論理的に高速で大容量なディスクを作り出すことができます。
RAIDはどこで実装するかにより「ハードウェアRAID」と「ソフトウェアRAID」に分類されます。ハードウェアRAIDはストレージ筐体が物理ディスクを束ねてサーバOSにひとつのSCSIディスクとして提供するもので、ソフトウェアRAIDはサーバOSが認識している複数のSCSIディスクをサーバ自身が束ねてひとつのディスクとして扱います。RAIDの処理は負荷が高いために、ソフトウェアRAIDの場合にはサーバ本体に負荷がかかりアプリケーションへの影響が懸念されるので、ハードウェアRAIDを採用するケースが多いようです。
RAIDは実装方法によりいくつかのレベルに別れていますが、代表的なものの仕組みを説明しておきます。図はハードウェアRAIDを念頭においていますが、ソフトウェアRAIDの場合はサーバOS上のミドルウェアがRAID Ctrlの役割を果たすだけで動作原理は同じです。
3. RAID-1(ミラーリング)
サーバから見た場合に、D1とD2のディスクが1つのSCSIディスクとして認識され、そのときの容量は物理ディスク一台分になります。サーバの書き込みはブロック分割されて、全く同じブロックがD1とD2の双方に書き込まれます。読み出しの方法はストレージによって異なっており、常に一方のディスクのみから読み出す場合と、ラウンドロビンで呼び出す場合があります。RAID-1の場合には、同じデータが双方のディスクに書かれているため、どちらかのディスクが壊れた場合でも、アクセス可能なディスクだけでI/Oを継続することが可能です。RAID-1にした場合には耐障害性のメリットはありますが、性能はディスク単体の時の60%程度に落ち込みます。
4. RAID-10(ミラード・ストライプ)
RAID-1とRAID-0を合わせたものです。下の図の場合に、D1からD'4までの8台のディスクで1つの論理的なSCSIディスクを構成します。ミラーされたものをストライプするため、左の図では8台の物理ディスクを使用していますが、容量は物理ディスク4台分となります。書き込みと読み出しはRAID-1,RAID-0のそれに準じるため、RAID-1の耐障害性とRAID-0の性能を兼ね備えた論理ディスクを構成します。特に耐障害性については、互いにミラーの関係にある双方のディスクが同時に壊れない限りデータの消失もI/Oの停止も発生しないため、現状のRAIDレベルの中では最も高速で耐障害性の高いものです。
5. RAID-4
RAID-0にパリティ専用ディスクを追加することにより、耐障害性を持たせたものです。データはRAID-0と同様にブロック分割されてデータ用ディスクに並列に書き込まれますが、これに加えて書き込みデータに対応するパリティが計算されてパリティ専用ディスクに書き込まれます。このため、ディスク障害が発生してもパリティから障害ディスクのデータは再作成可能なため、データ消失もなくアクセスを継続することが可能です。ただし、最初の書き込みでパリティ演算とパリティの書き込みが発生するだけでなく、データの更新時には更新前のデータとパリティを読み出してから更新後のパリティを再作成して書き込む必要があります。この動作は「ライト・ペナルティ」と呼ばれており、パリティによる耐障害性を実装する場合には避けられない現象です。RAID-4ではパリティディスクが固定されているために、複数の書き込みを同時処理することが出来ないという欠点があります。読み込み時の動作はRAID-0と同様です。
8. ホット・スペア
RAIDで構成された仮想ディスクは、RAID-0を除けば耐障害性が考慮されていますが、一台(もしくは二台)のディスクが壊れたままの運用はパフォーマンスが悪いだけでなく、次のディスク障害でデータが消失する危険があります。このため、ほとんどのストレージは障害ディスクに替わってスペアのディスクがすぐに機能してRAIDを再構築する機能を持っています。この用途で使用されるディスクはホット・スペアと呼ばれ、ホット・スペアを組み込んで冗長性を持たせた仮想ディスクを再構築することをリビルドと呼びます。RAID-5の仮想ディスクに障害が発生して、リビルドが終了する前に他のディスクに障害が起きるとデータは消失してしまいますが、HDDの容量がどんどん増大するにつれてリビルドの時間も長くなるため、近年ではディスクの二重障害に対応できるRAID-6の必要性は高まっています。
9. RAIDのまとめ
RAIDレベルで一般的に使用されるのはRAID-10、RAID-5、RAID-6の三種類です。それぞれがメリットとデメリットがあるので、ディスクの種別と合わせて使い分けることでコストと性能のバランスを図ることができます。例えば、トランザクション系の重要なオンラインデータにはFC/SASディスクを使ったRAID-10を適用することで、最高度の性能と信頼性を確保できます(その分、費用はかかります)。バックアップ用途で使われるディスクであれば、SATAでRAID-5を適用すると、安価で大容量のバックアップ領域を持つことができます(この場合、性能は二の次となります)。左の表は、RAIDレベルに応じた特長を相対的に表したもので、実行容量はディスクN台を使用した場合に実際のデータ領域として使用できる本数を表します。
コラム一覧のページに戻り、続きをお読み下さい