はじめに
システムを構築するとき、処理速度や性能は重要です。
しかし、どれだけ高速なシステムでも、頻繁に故障して利用できなくなってしまっては困ります。
例えば、次のようなシステムを考えてみましょう。
- 銀行のATMシステム
- 自治体の住民情報システム
- 病院の電子カルテシステム
- ネットショップの決済システム
- 企業の基幹業務システム
これらのシステムでは、処理速度だけでなく、安定して利用し続けられることが重要です。
そこで必要になるのが、システムの信頼性評価です。
信頼性評価では、次のような疑問を数値で考えます。
- システムはどれくらい故障しにくいのか
- 故障してから復旧するまで何時間かかるのか
- システムは何%の時間、利用できるのか
- サーバを2台に増やすと信頼性は向上するのか
- ネットワークを冗長化すると障害に強くなるのか
今回は、これらの疑問を解決するための考え方を学びましょう。
1. システムの信頼性とは
1-1. 信頼性の基本
**信頼性(Reliability)**とは、システムや機器が、定められた条件のもとで、一定期間にわたって要求された機能を故障せずに実行できる性質です。
例えば、2台のサーバがあるとします。
| サーバ | 平均故障間隔 |
|---|---|
| サーバA | 1,000時間 |
| サーバB | 10,000時間 |
ほかの条件が同じであれば、サーバBのほうが故障しにくいと考えられます。
ただし、システムの評価では、故障しにくさだけでなく、故障した後の復旧の速さも重要です。
そこで、信頼性と可用性を区別して考えます。
信頼性(Reliability)
故障せずに動作し続ける性質です。
可用性(Availability)
必要なときにシステムを利用できる性質です。
例えば、故障が比較的多くても、短時間で復旧できるシステムは、高い可用性を実現できる場合があります。
逆に、故障が少なくても、1回の故障から復旧するまでに長時間かかる場合は、可用性が低くなることがあります。
**信頼性は「故障しにくさ」、可用性は「利用できる状態にあること」**と覚えましょう。
2. RASISとは
2-1. RASISの基本
**RASIS(Reliability, Availability, Serviceability, Integrity, Security)**とは、コンピュータシステムを評価するための5つの観点を表したものです。
それぞれの頭文字を組み合わせて、RASISと呼びます。
| 記号 | 正式名称 | 日本語 | 意味 |
|---|---|---|---|
| R | Reliability | 信頼性 | 故障しにくいこと |
| A | Availability | 可用性 | 必要なときに利用できること |
| S | Serviceability | 保守性 | 点検・修理・復旧しやすいこと |
| I | Integrity | 完全性 | データや処理結果の正しさが保たれること |
| S | Security | 安全性・機密保護 | 不正アクセスなどから保護されること |
RASISは、システムの品質を考えるうえで重要な考え方です。
2-2. Reliability:信頼性
**Reliability(信頼性)**は、システムが故障せずに動作し続ける性質です。
例えば、
- 故障しにくい部品を採用する
- 機器の品質を高める
- 故障の原因となる設計上の問題を減らす
といった対策が関係します。
信頼性を評価する代表的な指標が、後ほど解説するMTBFです。
2-3. Availability:可用性
**Availability(可用性)**は、必要なときにシステムを利用できる性質です。
例えば、サーバが故障しても、予備サーバへ自動的に切り替われば、サービスの停止時間を短縮できます。
通常時
利用者
│
▼
サーバA(稼働)
サーバB(待機)
障害発生時
利用者
│
▼
サーバB(稼働)
サーバA(故障)
このような構成は、可用性を高めるための方法です。
可用性を評価する代表的な指標が、稼働率です。
2-4. Serviceability:保守性
**Serviceability(保守性)**は、システムの点検・修理・復旧を容易に行える性質です。
例えば、
- 故障箇所を特定しやすい
- 部品を交換しやすい
- 障害発生時の手順が整備されている
- 監視によって異常を発見しやすい
といった特徴があります。
保守性を評価する代表的な指標が、MTTRです。
MTTRが短いほど、平均的な修理・復旧時間が短いことを表します。
2-5. Integrity:完全性
**Integrity(完全性)**は、データや処理結果の正しさが保たれる性質です。
例えば、銀行口座の残高を考えてみましょう。
残高が10万円だったにもかかわらず、システムの不具合によって100万円に変更されてしまったら、大きな問題です。
完全性を確保するためには、
- データの整合性チェック
- 入力値の検証
- トランザクション管理
- 不正なデータ変更の防止
などが重要です。
2-6. Security:安全性
**Security(安全性・機密保護)**は、不正アクセスや情報漏えいなどからシステムを保護する性質です。
例えば、
- 利用者認証
- アクセス制御
- 通信の暗号化
- 不正アクセスの検知
などが関係します。
なお、RASISにおけるIntegrityはシステムの正確性を含む概念であり、情報セキュリティのCIAでいう完全性と関連しますが、評価の文脈は必ずしも同一ではありません。
2-7. RASISの覚え方
R:Reliability
→ 故障しにくい
A:Availability
→ 利用できる
S:Serviceability
→ 修理しやすい
I:Integrity
→ 正しさを保つ
S:Security
→ 不正から守る
応用情報技術者試験では、英語と日本語の対応を覚えておきましょう。
3. バスタブ曲線
3-1. バスタブ曲線とは
**バスタブ曲線(Bathtub Curve)**とは、機器の使用開始から寿命に至るまでの故障率の変化を表した曲線です。
曲線の形が浴槽(バスタブ)の断面に似ていることから、この名前が付けられています。
一般的に、機器の故障率は次の3つの期間に分けて考えられます。
- 初期故障期
- 偶発故障期
- 摩耗故障期
3-2. バスタブ曲線のイメージ
故障率
↑
高│\
│ \
│ \________
│ \
│ \__
│ \
│ /
│ /
低│_____________________/
└────────────────────────→ 時間
初期故障期 偶発故障期 摩耗故障期
※概念図です。実際には、初期に故障率が低下し、中間でほぼ一定となり、末期に上昇する形を表します。
3-3. 初期故障期
**初期故障期(Infant Mortality Period)**とは、機器の使用開始直後に故障率が高く、時間の経過とともに故障率が低下する期間です。
主な原因には、
- 製造時の不良
- 部品の初期不良
- 組立不良
- 設計上の問題
などがあります。
この期間の故障を減らすために、**バーンイン試験(Burn-in Test)**が行われることがあります。
バーンイン試験とは、製品を一定時間動作させ、初期不良を発見するための試験です。
3-4. 偶発故障期
**偶発故障期(Useful Life Period)**とは、故障率が比較的低く、ほぼ一定となる期間です。
この期間では、偶発的な原因によって故障が発生します。
待ち行列理論とは異なる分野ですが、信頼性の計算では、この期間に故障率が一定であると仮定することがあります。
故障率が一定の場合、故障までの時間を指数分布でモデル化できます。
3-5. 摩耗故障期
**摩耗故障期(Wear-out Period)**とは、部品の劣化や摩耗によって故障率が上昇する期間です。
例えば、
- ファンの軸受けの摩耗
- 電子部品の経年劣化
- 機械部品の疲労
などが原因になります。
この期間では、部品交換や機器更新などの対策が重要です。
3-6. バスタブ曲線のまとめ
| 期間 | 故障率の変化 | 主な原因 | 主な対策 |
|---|---|---|---|
| 初期故障期 | 徐々に低下 | 初期不良・製造不良 | バーンイン試験 |
| 偶発故障期 | ほぼ一定 | 偶発的な故障 | 監視・予防保全 |
| 摩耗故障期 | 徐々に上昇 | 劣化・摩耗 | 部品交換・機器更新 |
4. MTBFとは
4-1. MTBFの基本
**MTBF(Mean Time Between Failures)**とは、平均故障間隔のことです。
修理可能な機器について、故障から復旧した後、次の故障が発生するまでの平均稼働時間を表します。
例えば、あるサーバが次のように動作したとします。
稼働:100時間
↓
故障・修理
↓
稼働:200時間
↓
故障・修理
↓
稼働:300時間
↓
故障・修理
この場合、平均故障間隔は、
MTBF
= (100 + 200 + 300) ÷ 3
= 200時間
となります。
4-2. MTBFの計算式
MTBF = 総稼働時間 ÷ 故障回数
例えば、ある機器の総稼働時間が10,000時間で、その間に5回故障した場合、
MTBF
= 10,000 ÷ 5
= 2,000時間
となります。
MTBFは2,000時間です。
4-3. MTBFが大きいほど信頼性が高い
MTBFが大きいほど、平均的に故障せずに動作する時間が長いことを表します。
| 機器 | MTBF |
|---|---|
| 機器A | 1,000時間 |
| 機器B | 5,000時間 |
| 機器C | 10,000時間 |
ほかの条件が同じであれば、機器Cのほうが故障しにくいと考えられます。
ただし、MTBFは平均値です。
MTBFが10,000時間だからといって、必ず10,000時間故障しないわけではありません。
5. MTTRとは
5-1. MTTRの基本
**MTTR(Mean Time To Repair)**とは、平均修理時間のことです。
故障した機器を修理・復旧するまでに必要な平均時間を表します。
例えば、あるサーバで次のような修理が行われたとします。
1回目:2時間
2回目:4時間
3回目:3時間
この場合、
MTTR
= (2 + 4 + 3) ÷ 3
= 3時間
となります。
5-2. MTTRの計算式
MTTR = 総修理時間 ÷ 故障回数
例えば、あるシステムが年間4回故障し、修理に合計12時間かかった場合、
MTTR
= 12 ÷ 4
= 3時間
となります。
5-3. MTBFとMTTRの違い
| 比較項目 | MTBF | MTTR |
|---|---|---|
| 正式名称 | Mean Time Between Failures | Mean Time To Repair |
| 日本語 | 平均故障間隔 | 平均修理時間 |
| 表すもの | 故障せずに稼働する平均時間 | 修理に必要な平均時間 |
| 望ましい方向 | 大きいほどよい | 小さいほどよい |
| 主な評価対象 | 信頼性 | 保守性 |
🍯 覚え方
MTBFは「故障するまでの時間」。
MTTRは「修理する時間」。
6. 稼働率とは
6-1. 稼働率の基本
**稼働率(Availability)**とは、システムが利用可能な状態にある時間の割合です。
一般的に、次の式で求められます。
稼働率 = 稼働時間 ÷(稼働時間 + 停止時間)
例えば、あるシステムが100時間のうち99時間稼働し、1時間停止した場合、
稼働率
= 99 ÷ 100
= 0.99
となります。
百分率では、**99%**です。
6-2. MTBFとMTTRから稼働率を求める
修理可能なシステムが、稼働と修理を繰り返す単純なモデルでは、次の式を利用できます。
稼働率 = MTBF ÷(MTBF + MTTR)
例えば、
MTBF:1,000時間
MTTR:10時間
の場合、
稼働率
= 1,000 ÷(1,000 + 10)
= 1,000 ÷ 1,010
≒ 0.9901
となります。
**稼働率は約99.01%**です。
6-3. 稼働率を高める方法
稼働率の式を確認してみましょう。
稼働率 = MTBF ÷(MTBF + MTTR)
この式から、稼働率を高める方法は大きく2つあります。
① MTBFを大きくする
故障しにくい機器を利用するなどして、平均故障間隔を長くします。
② MTTRを小さくする
故障した機器を短時間で修理・復旧できるようにします。
例えば、
- 予備部品を準備する
- 障害対応手順を整備する
- 監視によって障害を早期発見する
- 自動復旧の仕組みを導入する
といった対策が考えられます。
7. 稼働率と年間停止時間
稼働率が高いシステムでも、年間で考えると一定の停止時間が発生します。
1年間を365日として計算すると、
365日 × 24時間
= 8,760時間
です。
年間停止時間は、次の式で求められます。
年間停止時間 = 8,760時間 ×(1 − 稼働率)
| 稼働率 | 年間停止時間の目安 |
|---|---|
| 90% | 876時間 |
| 99% | 87.6時間 |
| 99.9% | 8.76時間 |
| 99.99% | 約52.6分 |
| 99.999% | 約5.26分 |
例えば、稼働率99.9%の場合、
年間停止時間
= 8,760 ×(1 − 0.999)
= 8.76時間
となります。
99.9%という高い稼働率でも、年間では約8時間46分の停止時間に相当します。
※この表は年間8,760時間を評価対象とした単純計算です。実際のSLAでは、計画停止時間を含めるかどうかなど、稼働率の定義が異なる場合があります。
8. 故障率とは
8-1. 故障率の基本
**故障率(Failure Rate)**とは、機器が故障する頻度を表す指標です。
記号λを使うことがあります。
ただし、前の記事の待ち行列理論で利用した到着率λとは別の意味です。
信頼性の計算では、一定の故障率を仮定する場合があります。
8-2. 故障率とMTBFの関係
故障率が一定で、故障までの時間が指数分布に従うモデルでは、次の関係が成り立ちます。
故障率 λ = 1 / MTBF
したがって、
MTBF = 1 / λ
です。
8-3. 故障率からMTBFを求める
例えば、ある機器の故障率が、
λ = 0.0002回/時間
だったとします。
MTBFは、
MTBF
= 1 / λ
= 1 / 0.0002
= 5,000時間
となります。
MTBFは5,000時間です。
8-4. MTBFから故障率を求める
逆に、MTBFが20,000時間の場合、
λ
= 1 / MTBF
= 1 / 20,000
= 0.00005回/時間
となります。
故障率は0.00005回/時間です。
9. 信頼度とは
9-1. 信頼度の基本
**信頼度(Reliability Function)**とは、機器がある時点まで故障せずに動作する確率です。
一般的に、記号**R(t)**で表します。
故障率が一定のモデルでは、次の式で求められます。
R(t) = e^(-λt)
- R(t):時刻tまで故障しない確率
- e:自然対数の底
- λ:故障率
- t:経過時間
9-2. 信頼度の計算例
例えば、
故障率:λ = 0.0001/時間
経過時間:t = 1,000時間
の場合、
R(t)
= e^(-0.0001 × 1,000)
= e^(-0.1)
≒ 0.9048
となります。
つまり、**1,000時間故障せずに動作する確率は約90.48%**です。
9-3. 信頼度と稼働率の違い
ここは混同しやすいポイントです。
信頼度
一定時間、故障せずに動作する確率です。
稼働率
必要な時点で、システムを利用できる状態にある割合です。
例えば、故障しても短時間で修理できる機器では、信頼度がそれほど高くなくても、稼働率は高くなる場合があります。
10. 故障していない機器の平均台数
10-1. 平均台数を求める考え方
複数の機器がある場合、一定時間後に故障せずに動作している機器の平均台数を求めることがあります。
例えば、同じ種類の機器が100台あり、それぞれが一定時間後まで故障しない確率が90%だったとします。
この場合、故障していない機器の平均台数は、
100台 × 0.9 = 90台
です。
10-2. 計算式
故障していない機器の平均台数 = 機器台数 × 信頼度
記号で表すと、
E[N] = N₀ × R(t)
です。
- E[N]:故障していない機器の平均台数
- N₀:初期の機器台数
- R(t):時刻tまで故障しない確率
この平均台数の式は、各機器の生存確率が同じであれば、機器同士の故障が独立でなくても成立します。
10-3. 故障率から平均台数を求める
故障率が一定の場合、
R(t) = e^(-λt)
なので、
E[N] = N₀ × e^(-λt)
となります。
10-4. 計算例
ある企業では、同じ種類のサーバを200台使用しています。
それぞれのサーバの故障率は、
λ = 0.0001/時間
です。
1,000時間後に故障していないサーバの平均台数を求めましょう。
まず、信頼度を求めます。
R(1,000)
= e^(-0.0001 × 1,000)
= e^(-0.1)
≒ 0.9048
次に、平均台数を求めます。
E[N]
= 200 × 0.9048
≒ 180.96台
したがって、
故障していないサーバの平均台数は約181台です。
※故障した機器を修理・交換せず、故障していない機器を数えるモデルです。
11. 複数システムの稼働率
ここからは、複数の機器を組み合わせた場合の稼働率を考えます。
システムの構成によって、全体の稼働率は大きく変わります。
代表的な構成は次の2つです。
- 直列システム
- 並列システム
12. 直列システムの稼働率
12-1. 直列システムとは
**直列システム(Series System)**とは、構成するすべての機器が正常に動作している場合に、システム全体が稼働できる構成です。
例えば、
利用者
│
▼
Webサーバ
│
▼
APサーバ
│
▼
DBサーバ
という構成を考えてみましょう。
このシステムでは、Webサーバ・APサーバ・DBサーバのどれか1台が停止すると、サービス全体が利用できなくなると仮定します。
このような構成が直列システムです。
12-2. 直列システムの稼働率
各機器の稼働状態が互いに独立している場合、直列システムの稼働率は次の式で求められます。
全体の稼働率 = A₁ × A₂ × … × Aₙ
- A₁:機器1の稼働率
- A₂:機器2の稼働率
- Aₙ:機器nの稼働率
12-3. 直列システムの計算例
次のような3台のサーバがあります。
| サーバ | 稼働率 |
|---|---|
| Webサーバ | 99% |
| APサーバ | 98% |
| DBサーバ | 99% |
すべてのサーバが正常に動作する必要がある場合、
全体の稼働率
= 0.99 × 0.98 × 0.99
= 0.960498
となります。
したがって、
**全体の稼働率は約96.05%**です。
12-4. 直列システムの特徴
直列システムでは、構成する機器が増えるほど、全体の稼働率は低下する傾向があります。
例えば、稼働率99%の機器を組み合わせると、
| 機器台数 | 全体の稼働率 |
|---|---|
| 1台 | 99% |
| 2台 | 98.01% |
| 3台 | 約97.03% |
| 4台 | 約96.06% |
| 5台 | 約95.10% |
となります。
直列システムでは、1台でも故障すると全体が停止することが重要です。
13. 並列システムの稼働率
13-1. 並列システムとは
**並列システム(Parallel System)**とは、複数の機器のうち、少なくとも1台が正常に動作していれば、システム全体が稼働できる構成です。
例えば、2台のサーバを冗長化した場合です。
利用者
│
┌────┴────┐
│ │
▼ ▼
サーバA サーバB
│ │
└────┬────┘
│
▼
サービス提供
この構成では、サーバAが故障しても、サーバBが正常に動作していればサービスを継続できると仮定します。
13-2. 並列システムの基本公式
2台の機器の稼働率をA₁、A₂とします。
システム全体が停止するのは、両方の機器が停止した場合です。
機器の故障が互いに独立している場合、
両方が停止する確率
= (1 − A₁) × (1 − A₂)
となります。
したがって、並列システムの稼働率は、
全体の稼働率 = 1 −(1 − A₁)(1 − A₂)
です。
13-3. 並列システムの計算例
稼働率90%のサーバが2台あるとします。
A₁ = 0.9
A₂ = 0.9
この場合、
全体の稼働率
= 1 −(1 − 0.9)(1 − 0.9)
= 1 −(0.1 × 0.1)
= 1 − 0.01
= 0.99
となります。
**全体の稼働率は99%**です。
1台では90%だった稼働率が、2台の並列構成では99%になります。
13-4. 3台以上の並列システム
3台以上の場合も考え方は同じです。
全体の稼働率 = 1 − ∏(1 − Aᵢ)
ここで、∏は複数の値を掛け合わせる記号です。
稼働率が同じAの機器をn台並列に接続した場合、
全体の稼働率 = 1 −(1 − A)ⁿ
となります。
13-5. 3台の並列システムの計算例
稼働率90%のサーバが3台あるとします。
A = 0.9
n = 3
この場合、
全体の稼働率
= 1 −(1 − 0.9)³
= 1 − 0.1³
= 1 − 0.001
= 0.999
となります。
**全体の稼働率は99.9%**です。
14. 直列システムと並列システムの違い
| 比較項目 | 直列システム | 並列システム |
|---|---|---|
| 稼働条件 | すべての機器が正常 | 少なくとも1台が正常 |
| 1台故障した場合 | 全体が停止する | 継続できる場合がある |
| 稼働率の計算 | 各機器の稼働率を掛ける | すべて停止する確率を1から引く |
| 機器追加の影響 | 稼働率が低下する傾向 | 稼働率が向上する傾向 |
| 主な用途 | 複数機能を順番に利用する構成 | 冗長化された構成 |
ただし、並列システムの計算では、次の条件に注意が必要です。
- 機器の故障が独立していること
- 少なくとも1台で必要なサービスを提供できること
- 切替処理による停止などを無視できること
- 共通の電源やネットワークなどが単一障害点になっていないこと
実際のシステムでは、これらの条件が成立しない場合があります。
15. 直列と並列を組み合わせたシステム
実際のシステムでは、直列構成と並列構成を組み合わせることがあります。
例えば、Webサーバを2台並列にし、その後ろにDBサーバを配置した構成です。
利用者
│
┌────┴────┐
│ │
▼ ▼
Web-A Web-B
│ │
└────┬────┘
│
▼
DBサーバ
この場合、
- Webサーバ部分:並列システム
- Webサーバ群とDBサーバ:直列システム
として考えます。
15-1. 計算例
次の稼働率を仮定します。
Web-A:90%
Web-B:90%
DBサーバ:99%
まず、Webサーバ部分の稼働率を求めます。
Web部分
= 1 −(1 − 0.9)²
= 0.99
次に、DBサーバと直列に接続されているため、
全体の稼働率
= 0.99 × 0.99
= 0.9801
となります。
**全体の稼働率は98.01%**です。
16. 通信網の構成と信頼性
16-1. 通信網の信頼性とは
ネットワークでも、システムと同じように信頼性が重要です。
例えば、自治体の庁舎とデータセンターを接続するネットワークを考えてみましょう。
自治体庁舎
│
│ 通信回線
│
▼
データセンター
この構成では、通信回線が故障すると、庁舎からデータセンターへ接続できなくなる可能性があります。
そのため、通信網の構成を工夫して、障害に強いネットワークを設計します。
17. スター型ネットワーク
17-1. スター型とは
**スター型(Star Topology)**とは、中心となるネットワーク機器に複数の端末を接続する構成です。
PC-A
│
│
PC-B ─ スイッチ ─ PC-C
│
│
PC-D
企業のLANなどで広く利用される構成です。
17-2. スター型の信頼性
メリット
- 端末ごとの配線を管理しやすい
- 1台の端末やその接続ケーブルの故障が、ほかの端末へ直接影響しにくい
- 障害箇所を特定しやすい
デメリット
- 中心のスイッチが故障すると、接続された端末間の通信が停止する可能性がある
つまり、中心となる機器が**単一障害点(SPOF:Single Point of Failure)**になりやすい構成です。
18. リング型ネットワーク
18-1. リング型とは
**リング型(Ring Topology)**とは、ネットワーク機器を環状に接続する構成です。
A ───── B
│ │
│ │
D ───── C
リング型では、通信経路が環状になっています。
18-2. リング型の信頼性
単純な単一リングでは、回線や機器の故障によって通信に影響が出る場合があります。
一方、リング保護機能や二重リングなどを利用すると、障害時に反対方向へ通信を迂回させられる構成があります。
通常時
A → B → C → D
一部回線故障時
A → D → C → B
ただし、迂回できるかどうかは、利用している通信方式や保護機能によって異なります。
19. メッシュ型ネットワーク
19-1. メッシュ型とは
**メッシュ型(Mesh Topology)**とは、ネットワーク機器同士を複数の経路で接続する構成です。
A ───── B
│\ /│
│ X │
│/ \│
C ───── D
このように、複数の通信経路を確保します。
19-2. メッシュ型の信頼性
メリット
- 通信経路を冗長化できる
- 一部の回線が故障しても迂回できる場合がある
- 単一障害点を減らしやすい
デメリット
- 回線数が増える
- 構築コストが高くなる
- 経路制御が複雑になる
19-3. フルメッシュとパーシャルメッシュ
メッシュ型には、大きく2種類あります。
フルメッシュ
すべての拠点を互いに直接接続する構成です。
拠点数をnとすると、必要な回線数は、
回線数 = n(n − 1)/ 2
です。
例えば、拠点が5か所の場合、
回線数
= 5 × 4 ÷ 2
= 10本
となります。
パーシャルメッシュ
一部の拠点間だけを複数経路で接続する構成です。
フルメッシュより回線数を抑えながら、重要な経路を冗長化できます。
20. 通信網の信頼性計算
20-1. 直列の通信経路
次のようなネットワークを考えます。
拠点A
│
回線1
│
ルータ
│
回線2
│
拠点B
この構成では、回線1・ルータ・回線2のすべてが正常に動作する必要があるとします。
各機器・回線の稼働状態が独立していれば、
全体の稼働率 = A₁ × A₂ × A₃
となります。
例えば、
回線1:99%
ルータ:99%
回線2:99%
の場合、
全体の稼働率
= 0.99³
= 0.970299
となります。
**全体の稼働率は約97.03%**です。
20-2. 並列の通信経路
次に、2本の通信回線を用意した場合を考えます。
┌── 回線A ──┐
拠点1 ─┤ ├─ 拠点2
└── 回線B ──┘
どちらか1本が正常であれば通信できるとします。
各回線の稼働率が90%で、故障が独立している場合、
全体の稼働率
= 1 −(1 − 0.9)²
= 1 − 0.01
= 0.99
となります。
**全体の稼働率は99%**です。
21. 通信網の冗長化で注意すること
通信経路を2本用意しても、必ず高い可用性を実現できるとは限りません。
例えば、次のような構成です。
┌── 回線A ──┐
拠点1 ─┤ ├─ 拠点2
└── 回線B ──┘
│
同じ管路を使用
回線Aと回線Bが同じ管路を通っている場合、工事などで管路が損傷すると、両方の回線が同時に停止する可能性があります。
このような障害を、**共通原因故障(Common Cause Failure)**と呼びます。
そのため、実際のネットワーク設計では、
- 通信回線の経路分離
- 異なる通信事業者の利用
- ネットワーク機器の冗長化
- 電源系統の分離
- 異なる拠点への接続
などを検討します。
回線数を増やすだけでなく、同じ原因で同時に停止しない構成にすることが重要です。
22. FITとは
22-1. FITの基本
**FIT(Failures In Time)**とは、機器や電子部品の故障率を表すための単位です。
1 FITは、10億時間当たり1回の故障率を意味します。
つまり、
1 FIT = 1 / 10⁹ 時間⁻¹
です。
電子部品など、故障率が非常に小さいものを評価するときに利用されます。
22-2. FITと故障率の関係
故障率をλとすると、
FIT = λ × 10⁹
です。
逆に、
λ = FIT / 10⁹
となります。
22-3. FITからMTBFを求める
故障率が一定の場合、
MTBF = 1 / λ
でした。
FITを利用すると、
MTBF = 10⁹ / FIT
となります。
22-4. FITの計算例
ある電子部品の故障率が100 FITだったとします。
FIT = 100
この場合、
MTBF
= 10⁹ / 100
= 10,000,000時間
となります。
MTBFは1,000万時間です。
ただし、これは一定故障率を仮定した統計的な平均値であり、個々の部品が1,000万時間動作することを保証するものではありません。
23. MTBFからFITを求める
逆に、MTBFが500万時間の電子部品があるとします。
MTBF = 5,000,000時間
この場合、
FIT
= 10⁹ / MTBF
= 1,000,000,000 / 5,000,000
= 200
となります。
故障率は200 FITです。
24. 複数部品のFIT
24-1. 直列システムの故障率
独立した部品の故障率がそれぞれ一定で、どれか1つが故障すると全体が故障する直列システムでは、全体の故障率は各部品の故障率の合計になります。
λ全体 = λ₁ + λ₂ + … + λₙ
FITでも同様です。
FIT全体 = FIT₁ + FIT₂ + … + FITₙ
24-2. 計算例
次の3つの電子部品で構成される機器を考えます。
| 部品 | 故障率 |
|---|---|
| 部品A | 100 FIT |
| 部品B | 200 FIT |
| 部品C | 300 FIT |
この場合、
全体のFIT
= 100 + 200 + 300
= 600 FIT
となります。
MTBFは、
MTBF
= 10⁹ / 600
≒ 1,666,667時間
です。
したがって、
全体の故障率は600 FIT、MTBFは約166.7万時間となります。
25. FITと稼働率の違い
FITと稼働率は、どちらも信頼性に関係する指標ですが、意味が異なります。
| 比較項目 | FIT | 稼働率 |
|---|---|---|
| 表すもの | 故障の発生頻度 | 利用できる時間の割合 |
| 単位 | 10億時間当たりの故障率 | %など |
| 望ましい方向 | 小さいほどよい | 大きいほどよい |
| 主な用途 | 電子部品・機器の故障評価 | システムの可用性評価 |
FITが小さい機器は故障しにくいと考えられます。
しかし、システムの稼働率は故障率だけで決まるわけではありません。
故障後の復旧時間も重要です。
26. 応用情報技術者試験で押さえたい公式
今回の内容で重要な公式を整理しましょう。
① MTBF
MTBF = 総稼働時間 ÷ 故障回数
② MTTR
MTTR = 総修理時間 ÷ 故障回数
③ 稼働率
稼働率 = MTBF ÷(MTBF + MTTR)
④ 故障率
一定故障率モデルでは、
λ = 1 / MTBF
⑤ 信頼度
一定故障率モデルでは、
R(t) = e^(-λt)
⑥ 故障していない機器の平均台数
E[N] = N₀ × R(t)
⑦ 直列システムの稼働率
独立した機器の場合、
A = A₁ × A₂ × … × Aₙ
⑧ 並列システムの稼働率
独立した機器の場合、
A = 1 −(1 − A₁)(1 − A₂)…(1 − Aₙ)
⑨ FIT
FIT = λ × 10⁹
MTBF = 10⁹ / FIT
⑩ フルメッシュの回線数
回線数 = n(n − 1)/ 2
27. 練習問題
最後に、応用情報技術者試験を意識した計算問題を解いてみましょう。
問題1:MTBF
あるサーバは、総稼働時間12,000時間の間に4回故障しました。
MTBFを求めましょう。
解答
MTBF
= 12,000 ÷ 4
= 3,000時間
答え:3,000時間
問題2:稼働率
あるシステムのMTBFは2,000時間、MTTRは5時間です。
稼働率を求めましょう。
解答
稼働率
= 2,000 ÷(2,000 + 5)
= 2,000 ÷ 2,005
≒ 0.997506
答え:約99.75%
問題3:故障率からMTBF
ある機器の故障率は0.00004/時間です。
MTBFを求めましょう。
解答
MTBF
= 1 / 0.00004
= 25,000時間
答え:25,000時間
問題4:故障していない機器の平均台数
同じ種類の機器が500台あります。
それぞれの機器が一定期間故障せずに動作する確率は98%です。
故障していない機器の平均台数を求めましょう。
解答
平均台数
= 500 × 0.98
= 490台
答え:490台
問題5:直列システム
稼働率95%の機器が3台、直列に接続されています。
全体の稼働率を求めましょう。
※各機器の稼働状態は独立とします。
解答
全体の稼働率
= 0.95³
= 0.857375
答え:約85.74%
問題6:並列システム
稼働率95%の機器が2台、並列に接続されています。
少なくとも1台が動作していればサービスを継続できるとします。
※各機器の稼働状態は独立とします。
解答
全体の稼働率
= 1 −(1 − 0.95)²
= 1 − 0.05²
= 1 − 0.0025
= 0.9975
答え:99.75%
問題7:FIT
ある電子部品の故障率は250 FITです。
一定故障率モデルにおけるMTBFを求めましょう。
解答
MTBF
= 10⁹ / FIT
= 1,000,000,000 / 250
= 4,000,000時間
答え:400万時間
問題8:通信網の回線数
6拠点をフルメッシュ構成で接続する場合、必要な回線数を求めましょう。
解答
回線数
= n(n − 1)/ 2
= 6 × 5 / 2
= 15本
答え:15本
まとめ
この記事で覚えること
- 信頼性は、一定期間にわたって故障せずに機能を実行できる性質
- 可用性は、必要なときにシステムを利用できる性質
- RASISは、信頼性・可用性・保守性・完全性・安全性の5つの評価観点
- バスタブ曲線は、機器の故障率の時間的な変化を表す曲線
- 初期故障期は、故障率が徐々に低下する期間
- 偶発故障期は、故障率がほぼ一定の期間
- 摩耗故障期は、故障率が上昇する期間
- MTBFは、平均故障間隔
- MTTRは、平均修理時間
- 稼働率は、システムが利用可能な状態にある時間の割合
- 故障率は、機器が故障する頻度を表す指標
- 信頼度は、一定時間故障せずに動作する確率
- 故障していない機器の平均台数は、機器台数と信頼度から求められる
- 直列システムは、すべての機器が正常でなければ稼働できない構成
- 並列システムは、少なくとも1台が正常なら稼働できる構成
- 通信網の冗長化は、障害時にも通信を継続できる経路を確保すること
- スター型は、中心機器に端末を接続する構成
- リング型は、機器を環状に接続する構成
- メッシュ型は、複数の通信経路を確保する構成
- FITは、10億時間当たりの故障率を表す単位
🍯 はちみつメモ
システムの信頼性評価は「故障しにくさ」と「利用し続けられるか」を数字で考えること!
MTBFは故障するまでの平均時間、MTTRは修理にかかる平均時間だよ。
MTBFを長くして、MTTRを短くすると、システムの稼働率を高められるんだ。
そして、複数の機器を組み合わせる場合は、直列なら稼働率を掛け算、並列ならすべて停止する確率を1から引くと覚えよう!
電子部品の故障率を表すFITは、10億時間当たりの故障率という意味だよ。
実際のシステムでは、単純に機器を増やすだけでなく、電源や通信経路などの単一障害点をなくすことも重要なんだ!