MTBF・MTTRやHAといったシステム信頼性の基本を、初心者にもわかりやすく解説した記事です。
MTBF(平均故障間隔)・MTTR(平均修理時間)
MTBF(平均故障間隔)の求め方
MTBFの正式名称は、Mean Time Between Failures(平均故障間隔)で、「故障と故障の間」の「稼働時間の平均」です。
MTBFは次の式で求められます。
MTBF = 稼働時間の合計 ÷ 故障の回数

MTTR(平均修理時間)の求め方
MTTRの正式名称は、Mean Time To Repair(平均修復時間 または 平均復旧時間)です。
MTTRは次の式で求めることができます。
MTTR = 修復にかかった合計時間 ÷ 修復回数

■MTTR を短くするのに役立つこと
・自動アラート設定 ・・・障害発生時に即座に担当者へ通知し、初期対応の遅れを防ぐ。
・エラーログ取得機能 ・・・故障原因の特定や切り分けが早くなるので、修復時間の短縮が期待できる。
・手順書の整備 ・・・障害時の対応能力を向上させる。
・スタッフのトレーニング ・・・(同上)
・スペアパーツの常備 ・・・故障時に必要な部品をすぐに交換できるようにしておく
稼働率の求め方
稼働率はMTBFとMTTRから求めることができます。
稼働率 = MTBF / (MTBF + MTTR)

なお、MTBF,MTTR がともに従来のx倍になったとしても、稼働率は同じである。
フォールトトレランス
フォールトトレランス(Fault Tolerance)とは、システムに障害(フォールト)が発生しても、機能を完全または部分的に継続できる能力のことです。
フォールトレランスを実現するための考え方はいくつかありますので説明をします。
フェールソフト
システムやデバイスが故障した際、多少の性能低下や、一部の機能をを失ってでも継続できる状態を指します。
クラスタ構成のシステムで、サーバが稼働しなくなった場合でもほかのサーバで稼働できるようにしておくなどがフェールソフトです。

フォールトトレランスの具体例
HAクラスタ
HAクラスタ(High Availability Cluster、ハイアベイラビリティ・クラスタ)は、複数のサーバ(ノード)をグループ化して構成されたクラスタのことを指します。

障害が発生した場合、クラスタ内の別のサーバに自動的に処理を引き継ぐ仕組み(フェイルオーバー)が備わっています。

HAクラスタの動きについて、詳細に説明をします。
普段はスイッチのハートビートを確認して、ネットワーク、サーバの障害を確認します。
また、待機系は本番系に対し、ハートビートログを確認します。

本番系で障害が発生した場合、待機系はディスクの占有権を奪ってロックをします。
その後、本番系は自らシャットダウンします。

RAID
RAIDは複数のハードディスクに同じデータを分散・冗長化して保存することで、1台のディスクが故障しても継続して利用が可能です。
なお、故障したディスクを交換した後は、他のディスクからデータを復元でき、システム停止も発生しません。
フェールセーフ
フェールセーフは、システムや機器が故障したときに、安全な状態に自動的に移行する仕組みです。
システムや機器が障害を起こした場合に安全な状態に保つことを重視したアプローチです。
例:鉄道車両に異常が発生した場合、赤信号にして安全を確保する。

一部の機器が故障した場合、システムを安全停止して被害を最小限に抑えます。
フールプルーフ
誤操作やユーザーの不注意によって重大な問題が起きることを防ぐために、システムの設計に工夫が施されていることです。
【フールプルーフの例】
- ユーザが画面から不正な文字を入力した場合はエラーメッセージを表示して再入力を促す
- 車のシフトロック:ブレーキを踏まないとギアを動かせない
まとめ
- MTBF(平均故障間隔)は「稼働時間 ÷ 故障回数」、MTTR(平均修復時間)は「修復時間 ÷ 回数」で求め、稼働率は「MTBF ÷(MTBF+MTTR)」で算出
- フォールトトレランスは、障害が発生しても機能を継続できる仕組(HAクラスタやRAIDがある)
- フェールソフトは一部機能を制限しつつシステムを継続動作させる方式
- フェールセーフは、障害発生時に人や環境への危険を避けるため、安全な状態に自動で移行させる仕組(例:赤信号で列車を止める)
- フールプルーフは誤操作による重大な事故を防ぐため、操作ミスが起きにくく、起きても問題にならないように設計する手法


コメント