多くのストレージには、データ消失を防ぐためさまざまな対策が施されている。まず、HDDの障害に対して備えるRAID技術について、一般に実装されているRAIDレベルを中心に各々の特徴について解説する。
よく使われるRAIDレベルには、次のものがある。
RAID0(ストライピング)
構成する複数のHDDへI/Oを分散させることによるパフォーマンス向上を意図したRAIDレベル。ただし、RAIDグループ内のHDDのうち1台でも障害が発生すると、データが消失し継続利用ができなくなるので、業務目的では利用されない。
RAID1(ミラーリング)
同一データを2台のHDDに書き込むRAIDレベル。HDDの障害時には一方の正常なHDDで継続利用が可能。また、RAID再構築(リビルド)は、正常なHDD内の全データを交換したHDDへコピーする(コピーバック)。
ミラーペアを構成するHDDの双方に障害が発生するとデータが消失する。
RAID1+0
HDDをミラーリングした上でストライピングするRAIDレベル。RAID0とRAID1の特徴を併せ持ち、読み取り、書き込みともパフォーマンスに優れる。障害時にはミラーペアを構成する正常なHDDで継続利用が可能。また、リビルドは正常なHDDの全データを交換したHDDへコピーバックする。
ミラーペアを構成するHDDの双方に障害が発生するとデータが消失する。
RAID5
データブロックと同時に「パリティ※」と呼ばれる冗長コードを計算・分散書き込みし、一部のブロックが消失してもデータを再生成できるようにしたRAIDレベル。RAID5ではHDDのデータブロックを水平方向に計算するパリティを利用する。
RAID0同様、構成する複数のHDDにI/Oを分散させるため、データ読み取りのパフォーマンスは高速である。しかし、データ書き込みはパリティ計算のオーバーヘッドによりパフォーマンスは高くない。
HDD障害時は、正常なHDDのデータブロックとパリティを利用し、欠落したデータを再生成することで継続利用が可能だが、計算のオーバーヘッドによりパフォーマンスが劣化することがある(一般にこの状態を縮退モードと呼ぶ)。リビルド動作は縮退モードと同様にデータを再生成しながら、交換したHDDに書き込む。
同時に2台以上のHDDに障害が発生するとデータが消失する。
RAID6
通常のパリティと計算ロジックを変えたパリティの2種類を分散して書き込むことで、2台までのHDD障害に耐えるRAIDレベル。
RAID5との比較では、実データブロックの分散I/O数の減少(RAIDグループを構成するHDDが同一の場合)やパリティ計算の複雑化によりパフォーマンスは若干劣ることがある。
同時に3台以上のHDDに障害が発生するとデータが消失する。
RAIDレベル | RAID 0 | RAID 1 | RAID 1+0 | RAID 5 | RAID 6 |
---|---|---|---|---|---|
特徴 | 優れたパフォーマンス 保護なし |
高い保護レベル 迅速なリストア |
優れたパフォーマンス 高い保護レベル 迅速なリストア |
高い保護レベル | 高い保護レベル 2台のHDD同時障害に対応 |
HDDの利用効率(N台のRAIDグループ) | N | N/2 | N/2 | N-1 | N-2 |
耐障害性(故障してもデータロスしないHDD台数) | 0 | 1 | 1〜N/2 | 1 | 2 |
用途 | テスト環境など業務以外の用途 | OSシステム、小規模ファイルサーバなど | データベースのトランザクションログ、メールサーバなど | ファイルサーバ、データベースのテーブル情報など | SATAや大容量HDD使用時、バックアップ、アーカイブなど |
表1 RAIDレベル別の特徴 |
近年、SATAなど安価で大容量なディスクを利用してRAID6を構成するケースが増えている。これはSATAディスク単体の信頼性の低さに起因するもので、FCやSASディスクに対してHDDの二重障害の確率が高いためRAID6でカバーしている。このほか、長時間におよぶリビルド動作中のHDD障害によるデータ消失を防ぐため、HDD数が多いRAIDグループ構成や大容量HDD使用時にRAID6を採用するケースが多い。
また、予備HDD(ホットスペア)を利用し自動的にリビルドを行うことで、可用性の低い状態(ミラーペア障害や縮退モードなど)での運用時間を短縮する工夫も、多くのストレージが採用している。
ここでは、ストレージコントローラのキャッシュメモリのデータ保護について解説する。サーバはストレージにデータを送りACKを受信すると、問題なく書き込みが完了したと判断する。ACKの受信でサーバ上のデータはクリアされるため、ストレージのコントローラのキャッシュ上には存在していても、まだHDDへ送られていないデータを損失すると復旧が困難となる。従って、キャッシュメモリ上のデータを保護するため、下記のいずれかの対策を多くのストレージが採用している。
キャッシュメモリのバッテリ保護
長所:シンプルな設計、低コストで実装可能
短所:バッテリ切れでデータが消失
採用製品:ローエンド/ミッドレンジ
バッテリ駆動によるHDDへのディステージ
長所:確実な保護
短所:コントローラ、HDDを駆動させるため大容量バッテリが必要
採用製品:ミッドレンジ/ハイエンド
不揮発性メモリ(NVRAM:Non-Volatile RAM)
長所:バッテリ不要
短所:通常のメモリと比較しアクセススピードが遅い、コストの観点から大容量化しにくい
採用製品:ローエンド/ミッドレンジ
一般的なストレージ製品は、コントローラ上にキャッシュメモリを実装しているため、キャッシュメモリ自体の障害時はコントローラの停止を伴う交換作業が必要となる。これに対し一部の高機能なストレージでは、稼働中のキャッシュメモリモジュール(ボード)の増設や交換も前提にしているため、より高度な保護方式が採用されている。特に金融や会計、流通システムなどミッションクリティカルな重要業務では、稼働中のキャッシュメモリ交換や増設を理由に、高機能なストレージを利用することが多い。
Copyright © ITmedia, Inc. All Rights Reserved.