システムの信頼性特性と評価

このページでは、RASISとバスタブ曲線、MTBF・MTTRを使った稼働率と故障率の計算、直列・並列システムの稼働率の求め方がわかります。

  • 一言で言うと:
    • システムが「どれくらい止まらないか」を、RASISやバスタブ曲線で考え、稼働率や故障率を計算する話。稼働率はどの試験区分でも頻出の計算問題。

信頼性の物差し(RASIS、バスタブ曲線)→ 稼働率と故障率を計算 → 装置が複数のとき(直列・並列)→ 通信網に当てはめる

覚え方の軸

  • RASISは「止まらない・使える・直しやすい・データが正しい・守られている」:
    • 数字で測るのはR(MTBF)、A(稼働率)、S(MTTR)の3つ
  • 稼働率 = 動いていた時間 ÷ 全体の時間 = MTBF ÷(MTBF + MTTR)
  • 故障率は MTBF の逆数:
    • 直列なら故障率は足し算
  • 直列は「かけ算」、並列は「1 − 両方止まる確率」:
    • 複雑な構成は、並列の部分から1つの装置にまとめていく
  • 困ったら「ある部品が壊れた場合/動いている場合」に分けて足す(通信網のブリッジ構成)

システムの信頼性評価指標:RASISとバスタブ曲線

  • システムの信頼性:
    • システムがどれくらい安定して稼働しているか(稼働するか)を表す指標
  • RASIS:
    • 信頼性を評価する5つの概念の頭文字。システムがフォールトトレラントシステムかどうかを評価する
項目 意味 指標
信頼性(Reliability) 故障せずに連続して動く MTBF(平均故障間隔)。大きいほど信頼性が高い
可用性(Availability) 使える度合い(使用可能度) 稼働率(アベイラビリティ)= MTBF ÷(MTBF + MTTR)。復旧が早いほど高い
保守性(Serviceability) 修理のしやすさ(保守容易性) MTTR(平均修理時間)
保全性(Integrity) 記録されたデータの完全性(不整合の起こりにくさ)。完全性ともいう ―
安全性(Security) データの災害、障害、コンピュータ犯罪などへの耐性。機密性ともいう ―
  • バスタブ曲線(故障率曲線):
    • ハードウェア機器の信頼性管理手法。フォールトアボイダンスを評価する
    • 横軸に経過時間、縦軸に故障率をとる。形がお風呂(バスタブ)の断面に似ている
期間 中身 故障率
初期故障期間 使い始め。製造不良や使用環境との不適合で故障が多い 時間とともに減る
偶発故障期間 初期の不具合が直り、偶発的な故障だけが起きる 一定
摩耗故障期間 寿命の終わりごろ。材料の劣化や接点の摩耗で故障が増える 増える
  • ★ワイブル分布(試験):
    • 時間とともに起きる故障を統計的にモデル化したもの。初期故障、偶発故障、摩耗故障を表す関数(ハザード関数)もモデル化できる。「ワイブル分布ときたらバスタブ曲線」
  • RASISとバスタブ曲線の対応:
    • RASISはフォールトトレランス、バスタブ曲線はフォールトアボイダンスを評価する

システムの信頼性計算:稼働率と故障率

  • 稼働率(アベイラビリティ):
    • RASISの「A:可用性」の指標。システムの信頼性を評価する最も重要な尺度(★頻出。公式を使えるようにする)
  • MTBF(Mean Time Between Failure、平均故障間隔)=
    • 稼働時間の合計 ÷ 回数 =(t1 + t2 + … + tn)÷ n
  • MTTR(Mean Time To Repair、平均修理時間)=
    • 修理時間の合計 ÷ 回数 =(r1 + r2 + … + rn)÷ n
  • ★稼働率 =
    • MTBF ÷(MTBF + MTTR)
  • MTRS(Mean Time to Restore Service、平均サービス回復時間):
    • MTTRが「修復にかかる時間」の平均なのに対し、MTRSは「ユーザが再び使えるようになるまで」の平均時間
  • 例題(ある期間に5回故障した):
    • 稼働時間:
      • 120、80、100、150、50(合計500)
    • 修理時間:
      • 2、3、1、2、2(合計10)
    • MTBF = 500 ÷ 5 = 100時間、MTTR = 10 ÷ 5 = 2時間
    • 稼働率 = 100 ÷ 102 ≒ 0.98
    • 「稼働 → 故障 → 修理」で1周期なので、回数で割って平均する
  • 簡単な例:
    • MTBF 98時間、MTTR 2時間なら、稼働率 = 98 ÷ 100 = 0.98
  • 稼働率を上げる方法
MTBFを長くする(壊れにくくする) MTTRを短くする(早く直す)
冗長度の高いシステム構成 エラーログ情報の採取
予防保守の実行 遠隔地保守
自動誤り訂正機能などの導入 保守センタの分散配置
  • デュアルシステムや、デュプレックスシステムのホットスタンバイは、MTTRを短くする構成
  • 故障率:
    • 単位時間あたりに故障する確率(回数)
    • 故障率 =
      • 1 ÷ MTBF
    • JIS Z 8115では「故障回数 ÷ 総稼働時間」(=1/MTBF)を平均故障率と呼ぶが、情報処理試験では故障発生数(故障発生率)と表現している
  • 直列システムの故障率 =
    • λ1 + λ2 + … + λn(どれか1つが壊れたら全体が止まるので、足し算)
  • 例題(故障率からMTBFを求める):
    • 周辺装置のMTBFは1,000時間。処理装置は、1時間に故障する確率が10⁻⁷の部品3万個でできている
    • 周辺装置の故障率 = 1/1,000
    • 処理装置の故障率 = 10⁻⁷ × 3×10⁴ = 3×10⁻³ = 3/1,000
    • 全体の故障率 = 1/1,000 + 3/1,000 = 4/1,000 = 1/250 → MTBF = 250時間
    • コツ:
      • 分母をそろえると足しやすい
  • 故障していない機器の台数を求める
    • 故障していない確率 F(t) =
      • e^(−λt)(λ:故障率、t:経過時間。λt=0のときF(t)=1)
    • 例題:
      • 故障率 λ = 2.0×10⁻⁶回/秒の機器が2,000台。50時間後に故障していない台数は?
      • t = 50時間 = 50 × 60 × 60 = 18×10⁴秒、λt = 2×10⁻⁶ × 18×10⁴ = 0.36
      • e^(−0.36) ≒ 0.70(試験ではグラフから読む)
      • 2,000台 × 0.7 = 約1,400台
    • 式の出どころ:
      • 故障密度関数 g(x) = λe^(−λx) を0からtまで積分すると、t時間までに故障する確率 1 − e^(−λt) になる。故障していない確率はその残りで e^(−λt)

複数システムの稼働率:直列と並列

  • ★直列接続:
    • 両方とも正常のときだけ動く
    • 稼働率 = R1 × R2
  • ★並列接続:
    • どちらかが動いていれば動く(両方止まったとき以外は動く)
    • 稼働率 = 1 −(1 − R1)×(1 − R2)(1 − システムが稼働しない確率)
  • 例(R=0.9 の装置2台):
    • 直列 = 0.9 × 0.9 = 0.81(1台より下がる)
    • 並列 = 1 − 0.1 × 0.1 = 0.99(1台より上がる)
  • 直列と並列の組合せ(AとBの並列に、Cが直列につながる構成):
    • 手順:
      • 基本公式が使える部分から計算し、1つの装置とみなして全体へ広げる
    • ①AとBの並列部分 = 1 −(1 − R)²
    • ②それとCの直列 = {1 −(1 − R)²} × R = 2R² − R³
    • 検算(R=0.9):
      • 0.99 × 0.9 = 0.891、2×0.81 − 0.729 = 0.891(一致)
  • ★2 out of 3 システム(頻出公式):
    • 3個のうち2個以上が正常でなければいけないシステム
    • 3個とも正常 = R³
    • 2個正常・1個故障 = 3 × R² ×(1 − R)(どれが壊れるかで3通り)
    • 信頼性 = R³ + 3R²(1 − R) = 3R² − 2R³
    • 検算(R=0.9):
      • 0.729 + 0.243 = 0.972、2.43 − 1.458 = 0.972(一致。RAID5の稼働率と同じ式)

通信網の構成と信頼性:通信路に当てはめる

  • 不稼働率:
    • 稼働しない確率 = 1 − 稼働率
    • 本来は故障率ではないが、情報処理試験では「故障率」として扱うことがある
  • 不稼働率から稼働率を求める(P1、P2は不稼働率)
    • 直列の稼働率 =
      • (1 − P1)×(1 − P2)
      • このときの不稼働率 = 1 −(1 − P1)×(1 − P2)
    • 並列の稼働率 =
      • 1 − P1 × P2
      • このときの不稼働率 = P1 × P2(両方とも止まる確率)
  • 具体例(ブリッジ構成):
    • 拠点X、Y、中継点M、Nがあり、X〜M、X〜N、M〜Y、N〜Y、M〜N の5つの通信路がある。各通信路の故障率をp、中継点などの故障は無視する。X〜Yが通信できる確率は?
    • 考え方:
      • 真ん中のM〜Nが「故障の場合」と「正常の場合」に分けて考える
    • M〜Nが故障の場合:
      • 「X〜M〜Y」の直列 =(1 − p)²、「X〜N〜Y」の直列 =(1 − p)²
      • その2本の並列 = 1 − {1 −(1 − p)²}²
    • M〜Nが正常の場合:
      • MとNが1点とみなせるので、「X〜M」と「X〜N」の並列 = 1 − p²、「M〜Y」と「N〜Y」の並列 = 1 − p²
      • その2つの直列 = (1 − p²)²
    • ★全体(M〜Nが故障する確率はp、正常な確率は1 − p):
      • [1 − {1 −(1 − p)²}²] × p +(1 − p²)² ×(1 − p)
    • 検算(p=0.1):
      • 故障の場合 = 1 −(1 − 0.81)² = 1 − 0.0361 = 0.9639
      • 正常の場合 =(1 − 0.01)² = 0.9801
      • 全体 = 0.9639 × 0.1 + 0.9801 × 0.9 = 0.09639 + 0.88209 ≒ 0.978
    • ★試験:
      • このような書き換え(真ん中の通信路が正常なら2点を1点にまとめる)ができることと、全体の式を導けることが大事

構成のしかたで稼働率が変わる

  • 4本の回線(故障確率はすべて同じ)で2点間をつなぐとき、つなぎ方で稼働率が変わる
    • 構成1(直列を並列に):
      • 「回線1 → 回線2」の直列と、「回線3 → 回線4」の直列を並列にする
    • 構成2(並列を直列に):
      • 「回線1と回線3の並列」と、「回線2と回線4の並列」を直列にする
    • 構成3(ブリッジ):
      • 構成1の真ん中どうしを5本目の回線でつなぐ。5本目が故障なら構成1と同じ、正常なら構成2と同じ
  • 稼働率の高い順は 構成2 > 構成3 > 構成1
  • 検算(故障確率0.1):
    • 構成1 = 1 −(1 − 0.81)² = 0.9639、構成2 =(1 − 0.01)² = 0.9801、構成3 ≒ 0.978(上の具体例と同じ構造)
  • ポイント:
    • 同じ部品数なら、細かく並列にしてから直列にするほうが、直列にしてから並列にするより稼働率が高い

故障率を表す単位 FIT

  • FIT:
    • 1FIT = 10⁹時間に1回故障が起きる確率
  • 例:
    • 5,000FITの故障率 = 5,000 ÷ 10⁹ = 5×10⁻⁶ → MTBF = 1 ÷ 故障率 = 2×10⁵時間
    • 年に直すと 200,000 ÷(24 × 365)= 200,000 ÷ 8,760 ≒ 22.8年

混同しやすいペア

  • 信頼性R(MTBF、壊れにくさ)/可用性A(稼働率、使える割合)/保守性S(MTTR、直しやすさ)
  • 保全性I(データの完全性)/安全性S(データの耐性、機密性)
  • MTBF(平均故障間隔、長いほど良い)/MTTR(平均修理時間、短いほど良い)/MTRS(使えるようになるまで)
  • RASIS(フォールトトレランスを評価)/バスタブ曲線(フォールトアボイダンスを評価)
  • 初期故障(減っていく)/偶発故障(一定)/摩耗故障(増えていく)
  • 故障率(1 ÷ MTBF)/不稼働率(1 − 稼働率)
  • 直列の稼働率(かけ算)/直列の故障率(足し算)
  • 直列の稼働率(R1 × R2)/並列の稼働率(1 −(1 − R1)(1 − R2))
  • 直列を並列に(低い)/並列を直列に(高い)

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

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