高信頼性システムの考え方
ここでは、コンピュータシステムの信頼性を高めるための考え方や構成技術について学ぶ。
信頼性を高めるための考え方には、次のようなものがある。
- フォールトトレランス
- フェールソフト
- フェールセーフ
- フールプルーフ
- フォールトアボイダンス
用語の意味は全商情報処理で学んだはずなので割愛する。
マルチプロセッサシステムやクラスタリングは、信頼性の観点からはフォールトトレランスといえる。一つの処理ユニットに障害が発生しても、性能は低下するものの残る処理を実行できる。高信頼性を目的としたクラスタリングシステムのことを、HAクラスタという。
信頼性を高める構成
フォールトトレランスの概念に基づいて信頼性を高めるシステム構成の代表として冗長性がある。
冗長性とは、機器の故障や突発的なアクセス集中による負荷に備え、予備を用意する(2重化する)ことである。
冗長性には、次のようなものがある。
デュプレックスシステム
処理系と待機系で2重化する高信頼性システム。
主要な機器を2重化することで、障害時には待機系に切り替えを行い、実行を続ける。
待機系の待ち方によって3分できる。
- コールドスタンバイ
- ウォームスタンバイ
- ホットスタンバイ

デュアルシステム
2台のコンピュータで同じ処理を行い、結果を照合する高信頼性システム。

※現用系に障害が発生したときに、その時点までで行っていた処理を待機系に引き継ぐことをフェールオーバと呼ぶ。
また、現用系が復旧したときに、待機系にフェールオーバしていた処理を現用系に戻すことをフェールバックという。
RAID
全商1級で学んだようにRAIDとは、複数台のハードディスク装置を併用する仕組みのこと。
RAIDの目的は2つある。
- ストライピングをして、それを並列にアクセスし、全体としての速度の高速化を図る。
- ミラーリングをして、信頼性の向上を図る。
RAIDにも種類があり覚えておくこと。
RAIDの方式一覧
・RAID 0 (ストライピング)
データをブロック単位に分割し、複数のディスクに分散して配置する。
必要HDD数:2台~
特徴:耐障害性は全く無いが、読み書き速度が上がる。

・RAID 1 (ミラーリング)
まったく同じデータをディスクに書き込む。
必要HDD数:2台~
特徴:耐障害性に優れているが、ディスク容量がMAX50%以下になる。

・RAID 2
データにエラー訂正用のハミング符号1を付加したものをストライピングで書き込む。
必要HDD数:5台~2
特徴:全RAIDレベルの中で最高の耐障害性だが、読み書き効率が悪い。

・RAID3
データをバイト(ビット)単位で分割して並列に書き込みをする。
RAID2より演算コストを低く、エラー訂正コードを専用(一つの)のドライブに記録する方式。
エラー訂正コード(パリティコード)を付加することでエラー訂正/データ復旧を可能にしている。
データの分割はRAID2と同様に容量単位で行われるため、読み書き効率がRAID5より低い。
必要HDD数:3台~
特徴:パリティを利用することでRAID2の様な速度面での性能低下がない。

・RAID4
RAID 3のデータ処理単位をブロック単位にしたもの。
データをブロック単位で分割して並列にディスクに書き込み、パリティコードを固定したパリティディスクに書き込みを行う。読み出しは高速だが、書き込みはパリティディスクにアクセスが集中するため遅くなる。
必要HDD数:3台~
特徴:RAID3のデータ分割をブロック単位で行うことにより高速化。

・RAID5
RAID1(ストライピング)と同じ原理で複数のディスクにデータを分散して書き込むと同時に、パリティも計算・生成してディスクに書き込みを行う。
RAID4と違い、パリティコードを全ディスクに分散して書き込まれること3により性能が低下することを防ぐ。
また、どれか1台のディスクが故障しても、それ以外のディスクのデータとパリティ情報から元の完全なデータを生成して回復できる。
ただし、同時に2台以上が壊れると回復は不可能にとなってしまう。
必要HDD数:3台~
特徴:耐障害性の向上と高速化、大容量化の全てを実現できるRAIDレベル。

RAIDの種類 | 特徴 | ストライピングの単位 | ディスク構成 | 台数 |
RAID0 | ストライピング | ✕ | ✕ | 2台〜 |
RAID1 | ミラーリング | ブロック | ✕ | 2台〜 |
RAID2 | ミラーリング+ハミング符号付与 | ビット | 固定 | 5台〜 |
RAID3 | ミラーリング+パリティ | ビット | 固定 | 3台〜 |
RAID4 | ミラーリング+パリティ | ブロック | 固定 | 3台〜 |
RAID5 | ミラーリング+パリティ | ブロック | 分散 | 3台〜 |
RAID6
RAID5の発展型。一組のデータについてパリティを2種類算出し、同時に2台故障しても稼働が可能。
デュプレキシング
ハードディスクだけでなく、「コントローラ+ハードディスク」が協調するようにRAID1を構成すること。ミラーリングと区別されてそう呼ばれる。
バックアップサイト
地震などの災害対策として、本番システムと別の場所にバックアップ用のシステム環境を用意し、データをネットワークで転送する、バックアップサイトという手法がよく使われる。準備体制によって、次のように分類できる。
- ホットサイト・・・本番と同じ環境を事前に用意し、障害時に即座に切り替える。
- コールドサイト・・・場所や設備だけ用意し、障害時に機器を設置する。
- ウォームサイト・・・ホットとコールドの中間。場所や設備を用意し、機器も用意する。障害時にデータを搬入する。