システムの構成と信頼性設計

このページでは、デュアルシステムとデュプレックスシステム、ホット・ウォーム・コールドスタンバイ、フェールセーフなど信頼性設計の考え方がわかります。

  • 一言で言うと:
    • 壊れても止まらないシステムをどう作るか、という話。2台並べる方法、待機のさせ方、災害への備え、そして「壊れる前提」か「壊さない前提」かの考え方が出てくる。

2台で同じ処理(デュアル)→ 1台は待機(デュプレックス)→ 遠くに予備を置く(災害対策)→ 信頼性の考え方(フォールトトレランスなど)

覚え方の軸

  • 2台構成は「2台とも働く(デュアル)」か「1台は待つ(デュプレックス)」か:
    • デュアルは照合するので確実だが遅くて高い。デュプレックスは切替えに時間がかかる
  • 待機のさせ方は「ホット → ウォーム → コールド」の順に、準備度も切替え速度も下がる:
    • 同じ並びが、デュプレックスの待機系にもバックアップサイトにも出てくる
  • 高信頼化は「壊れても動かす(フォールトトレランス)」か「そもそも壊さない(フォールトアボイダンス)」か
  • フェール○○は「障害が起きたときにどうするか」で分ける:
    • 機能を落として続ける(ソフト)、安全側に止める(セーフ)、別の機械が引き継ぐ(オーバ)、外に見せない(マスキング)、人の誤操作に備える(フールプルーフ)

デュアルシステム:2台で同じ処理をして答え合わせ

  • デュアルシステム:
    • 同じ処理を行うシステムを二重に用意し、処理結果を照合(クロスチェック)して正しさを確かめる。不一致なら処理をやり直す
    • 一方が故障したら、それを切り離して処理を続けられるので信頼性が高い
    • 並列冗長型システムともいう
  • 特徴(デュプレックスとの比較。★特徴を問う問題が出る)
    • MTTR(平均修理時間)が短い:
      • 故障した系を切り離す時間だけで済むから
    • スループットが落ちる:
      • 同じハードウェア構成なら、2つの系で同じ処理をして照合する分、デュプレックスより処理量が減る
    • 高価:
      • 2組のコンピュータが必要

デュプレックスシステム:1台が働き、1台は待機

  • デュプレックスシステム:
    • 主系(現用系、運用系)と待機系の2つの処理系を持つ。主系で業務処理を行い、主系が故障したら待機系に切り替えて続ける
    • 待機冗長型システムともいう
  • 障害の検知:
    • 一般に、主系から待機系へ定期的にメッセージを送り、それが途切れたら主系の障害と判断して切り替える
  • 待機系の状態による3分類(切替えが速い順に ホット → ウォーム → コールド)
方式 待機系の状態 切替え
ホットスタンバイ 主系と同じ業務システムを最初から起動しておく 障害を判断するシステム監視機構があり、直ちに(自動的に)切り替える
ウォームスタンバイ OSは起動しているが、業務システムは起動しない。主系DBとほぼ同じ状態のDBを用意し、更新内容をログなどで反映しておく(データだけをバックアップする) 障害時に待機系DBに切り替えて業務を続ける
コールドスタンバイ 電源を落としておく場合もあるが、通常はバッチ処理やシステム開発などをしながら待つ 障害時に、やっていた処理を中断 → 再起動 → 業務システムを起動
  • ウォームスタンバイサーバ、スタンバイデータベース:
    • ウォームスタンバイ方式で待機させるDBシステムの呼び方

災害を考慮したシステム構成:遠くに予備を置く

  • バックアップサイト:
    • 地震、火災、台風などの非常事態に備え、システムの機能を早く回復させるための予備の拠点
    • 本システムからできるだけ遠くに置き、一地域の災害が及ばないようにする
  • 地域分散構成:
    • 別の地域にバックアップサイトを置く構成
  • 設置方式(ここでも ホット → ウォーム → コールド の順に準備度が下がる)
方式 普段の状態 非常時
ホットサイト 常にデータの同期がとれた予備システムを待機させる(例:待機系サイトとして稼働させ、ネットワーク経由で常にデータやプログラムを更新) 直ちに機能を代行し、速やかに業務を再開
ウォームサイト 予備サイトにハードウェアを用意し、定期的にバックアップしたデータやプログラムの媒体を運び込んで保管 予備システムを起動し、保管物でデータを最新にしてから引き継ぐ
コールドサイト システムを置ける施設だけを用意。普段は別の目的で使う 必要なハードウェア、データやプログラムの媒体を運び込んで業務を再開
  • ディザスタリカバリ:
    • 災害で被害を受けたシステムを復旧・修復すること、または被害を最小限にする予防措置。事業継続管理の概念の一つ

高信頼化システムの考え方:壊れる前提か、壊さない前提か

  • フォールトトレランス(耐故障):
    • 故障は起きる前提で、構成要素に冗長性を入れるなどして、故障しても全体として必要な機能を保つ考え方
    • フォールトトレラントシステム:
      • フォールトトレラントな(故障に耐える)システム
  • フォールトアボイダンス(故障排除):
    • 故障しにくい部品を選ぶなど、個々の品質を高めて故障そのものを防ぐことで、全体の信頼性を上げる考え方
  • フォールトトレランスの実現方法
考え方 一言で言うと ポイント
フェールソフト 性能が落ちても止めない 必要な機能を維持する。「部分回復」の意味
フェールセーフ 常に安全側に制御する 影響範囲を最小限にする。「危険回避」の意味。例:信号機が故障したら全部赤にする
フェールオーバ 他のシステムが自動的に引き継ぐ 切替えを利用者に意識させない
フォールトマスキング 障害の影響を外に出さない 障害の発生を他から隠す、または自律回復できるようにする
フールプルーフ 誤操作しても異常にならない 意図しない使われ方にも備える
  • フォールバック(縮退運転):
    • フェールソフトで、故障した装置を切り離し、機能が落ちた状態で処理を続けること
  • フェールバック:
    • 障害が回復した後、代替システムから元のシステムに処理を戻すこと(フェールオーバの逆)
  • アクティブ/スタンバイ構成:
    • サーバAが稼働系、サーバBが待機系、のように役割を分けた構成
  • フールプルーフな設計の例
    • 誤入力があってもプログラムを異常終了させず、エラーメッセージを出して次の操作を促す
    • 不特定多数が使うプログラムには、より多くのデータチェック機能を入れる
    • ベリファイ入力(別の人が同じデータを入力し、結果を照合する)で誤入力をチェックする
    • 使用権限のない機能は実行できないようにする
    • オペレータがうっかりミスをしないよう、操作の確認などに配慮する
  • インタロック:
    • フールプルーフを実現する安全機構の考え方の一つ。「一定の条件を満たさないと動作しない」ようにする(例:電子レンジはドアが閉まっていないと動かない)
  • 信頼性のための解析手法
    • FMEA(Failure Mode and Effects Analysis):
      • 故障予防が目的。各構成要素に起こりうる故障モードを洗い出し、その影響をボトムアップで解析して、システムへの影響度を評価し、対策を考える
    • FTA(Fault Tree Analysis):
      • 障害の原因を分析する手法。好ましくない事象(故障)の引き金となる原因をトップダウンで洗い出し、樹形図で表す

混同しやすいペア

  • デュアル(2台で同じ処理・照合、MTTR短い、スループット低い)/デュプレックス(主系と待機系、切替えが必要)
  • ホットスタンバイ(業務システムまで起動済み、自動切替え)/ウォームスタンバイ(OSだけ起動、データだけ反映)/コールドスタンバイ(障害が起きてから起動)
  • ホットサイト(常に同期)/ウォームサイト(ハードあり、媒体を保管)/コールドサイト(施設だけ)
  • フォールトトレランス(壊れても動かす)/フォールトアボイダンス(そもそも壊さない)
  • フェールソフト(機能を落として続ける)/フェールセーフ(安全側に止める)
  • フェールオーバ(別の機械に引き継ぐ)/フェールバック(元に戻す)/フォールバック(縮退運転)
  • フールプルーフ(人の誤操作に備える)/フェールセーフ(機械の故障時に安全側へ)
  • FMEA(故障モードからボトムアップ)/FTA(好ましくない事象からトップダウン、樹形図)

← 04 システム構成要素の目次に戻る

タイトルとURLをコピーしました