MTBFとMTTR、稼働率の計算方法について

サーバーパソコン&スマホ

サーバーやシステムの運用では、「MTBF」と「MTTR」という言葉が出てくることがあります。

このMTBFとMTTRはシステムや機器の信頼性を示す指標で、「システムや機器がどのくらい連続稼働できるか?」「障害時にどのくらいで復旧できるか?」などを表しています。

この記事ではそうしたMTBFとMTTRの計算方法や、稼働率の計算について解説を行っていきます。

 

MTBFとMTTRって何なの?

MTBF(Mean Time Between Failure)とMTTR(Mean Time To Repair)は、システムや機器を使用する際の信頼性について評価を行うための指標です。

例えば日常生活でも「銀行でシステム障害が発生して預金が引き出せなくなった」や「通信キャリアで障害が発生してスマートフォンが通じなくなった」など、機器やシステムが問題で特定のサービスが使用できなくなる事態が起こることがあります。

 

そのため障害の発生が起こりうる機器やシステムの運用を行う人は、運用している対象である機器やシステムの「障害が起こる頻度はどれくらいなのか?」や「障害が起こった後にどのくらいの時間で復旧が可能なのか?」などを調べて、いざ障害が起こったときに素早く対処ができるように備えておかなければなりません。

そうした障害の発生頻度や復旧時間について算出したものが、上記のMTBFとMTTRという指標になります。

詳しくは後述しますが、MTBFはシステムや機器が正常に稼働している時間を指し、MTTRは障害発生後に復旧にかかる時間のことを指します。MTBFの値は大きければ大きいほど良いとされ、反対にMTTRの値は小さければ小さいほど良いとされています。

 

MTBFとは?

MTBFは「機器やシステムが正常に動いている時間」のこと

MTBF(Mean Time Between Failure)は日本語で「平均故障間隔」と呼ばれ、機器やシステムの安定性がどれほど高いのかを表す指標となります。

 

MTBFは「次に機器やシステムが故障するまでにどれだけの間隔があるか?」を指すため、言い方を変えるとMTBFは「機器やシステムが連続稼働できる時間の長さ」を表すことになります。

基本的にはMTBFは長ければ長いほど故障時間が短く安定的な運用がなされていることになるため、システムや機器の運用においては、できる限りMTBFの値は高いことが望ましいと言えます。

 

例えばサーバーの中にMTBFが3年の部品があるとすれば、それは「3年程度で故障する部品」ということになります。

あらかじめ故障する間隔がある程度わかっていれば、事前に部品を調達することや故障前に部品の交換を行うことが可能になるため、MTBFを管理することは結果として機器やシステムの信頼性の向上につながります。

 

MTBFの計算方法

それでは実際に「MTBFの計算方法」について見ていきましょう。

先述した通りMTBFは「平均故障間隔(機器やシステムが故障するまでにかかる時間の平均)」なので、正常稼働している時間の平均を求めるだけでOKです。

詳しくは下記の図を参考にしてください。下記のように稼働時間が3つに分かれている場合は、それぞれの稼働時間を足して3で除して求められる数値がMTBFになります。

 

上記の例だとMTBFは100時間となり、これは「機器やシステムが故障するまで100時間程度は連続稼働する」ということを表しています。

当然ですが、システムやサーバーの運用等で考えるのであれば、連続稼働できる時間は長ければ長いほど良いです。

例えば上記みたいに「100時間ごとに障害が起きる」システムや機器では、利用者がサービスを利用したいときに利用できない可能性が高く、何より短期間に障害が多発することで保守や運用にかかる労力も大変なものになってしまいます。

 

MTTRとは?

MTTRは「機器やシステムの修復が終わるまでの時間」のこと

MTTR(Mean Time To Repair)は日本語で「平均修復時間」とよばれ、機器やシステムが故障した際に復旧にかかる時間の平均を表します。先ほど開設したMTBFは「機器やシステムが稼働している時間」のことだったので、MTTRはMTBFと正反対の意味を持つ指標ということになります。

 

長ければ長いほど良いと言われているMTBFに対して、MTTRは一般的に短ければ短いほどシステムや機器の運用に成功している証跡となります。先述したようにMTTRは「故障した機器やシステムが復旧するまでの時間」なので、もしMTTRが長ければ復旧までにかかる時間が長いということになってしまいます。

サービスを使用できなくなると社会や経済にクリティカルな影響が及んでしまう「銀行業」や「通信サービス業」などは、MTTRが0に近くなる(障害が発生してもすぐに復旧できる)ような運用を行うことが求められます。

 

MTTRを短くする運用方法については様々なものがありますが、代表的なものとしては「エラーログを収集する」「故障部品の交換品を確保しておく」「保守要員を機器と同じ場所に待機させておく」などが挙げられます。

 

MTTRの計算方法

MTTRは故障時間の平均を表す値のため、MTBF同様に全故障期間の平均を数値を求めます。

例えば下記のように「稼働→2時間故障→稼働→1時間故障→稼働→3時間故障」という稼働と故障の流れを繰り返している場合、「MTTR= (2h+1h+3h) /3= 2h」という計算になります。

 

 

このMTTRについては、MTBFとは反対に短ければ短いほど運用方法が優れていることになります。

例えばMTTRが0のシステムだと「故障したと同時に復旧することが出来る」ということになり、たとえシステムがダウンしても利用者がサービスを使えない時間を最小限に抑えることが可能です。

実際の運用においてMTTRを0にすることは非常に困難ですが、予備システムや予備サーバーなどの活用を行うことでMTTRを0に近づけることは可能です。

電気や水道、公共機関などのミッションクリティカル(何があっても停止してはならないもの)なシステムでは、上記のようにあらゆる手段でMTTRの改善が行われています。

 

MTBFとMTTRを使用して稼働率を求める

稼働率とは、機器やシステムが正常稼働している割合のこと

それではここからは、上記で計算したMTBFとMTTRを使用して求める「稼働率」について解説を行っていきます。

 

稼働率とは、名前の通り「システムや機器が正常に稼働している時間の割合」のことを指します。

例えば「合計10日間でシステムの運用を行った」「ただ、そのうち1日は障害によってシステムが使用できなかった」という場合、システム全体の稼働率は90%となります。

この稼働率については、言うまでもありませんが100%に近づけば近づくほど理想です。現実的には難しいですが、もし稼働率が100%であれば「いついかなる時も安定して利用できるサービス」ということになります。

 

実際のシステム運用やサーバー保守の現場では、サービスの信頼性を向上させるために「稼働率を99.5%以上に保つ」などの目標が掲げられることも多いです。特にシステムやサーバーの運用・保守業務を他社に委託する場合などでは、こうした稼働率の数値がSLA(Service Level Agreement)として採用されることも少なくはありません。

 

稼働率の計算方法

それでは「MTBFとMTTRを使用した稼働率の計算」について行っていきましょう。稼働率とは、上記でも説明した通り「システムや機器が正常に稼働している時間の割合」を指すもので、MTBFとかMTTRなどの小難しい英語が出てきますが計算は非常に単純です。

 

先述した通り、

MTBF:平均故障間隔。故障するまでの間隔(機器が故障するまでの起動時間のこと)を表す。

MTTR:平均修復時間。修復が完了するまでの時間(故障した機器が正常稼働するまでの時間)を表す。

なので、下記のイメージ図の通り、MTBFを、MTBFとMTTRを足したもので除してあげればOKです。

 

 

要するに稼働率とは「全ての時間のうち、機器が正常に稼働していた時間」のことを指すので、上記の通り「MTBF(稼働していた時間) / MTBF+MTTR(稼働していた時間と故障していた時間の合計)」で求めることが可能です。

上記の例では「100 / (100+2) = 98.0…%」ということになります。だいたい100時間あたり2時間ほど故障している期間があるので、稼働率はおよそ98%程度になるということが分かると思います。

 

稼働率を向上させるためにはどうすればいいのか?

先述した通り、信頼性の観点からすると稼働率は高ければ高いほど良いです。そのためシステムやサーバーの運用に携わる技術者の使命はおのずと「稼働率を少しでも上げること」になることでしょう。

 

稼働率を上げるためには「①MTBF(故障するまでの時間)を長くする」「②MTTR(故障してからの復旧時間)を短くする」などの対策を行うことで、稼働率の向上が見込めます。

 

例えば先ほどの稼働率の計算とMTTRは同じ「2時間」で、MTBFのみが「100時間→200時間」になった場合、稼働率は「200 / (200+2) =99%」となります。反対にMTBFは同じ「100時間」でMTTRのみが「2時間→1時間」になった場合、稼働率は同様に「100 / (100+1) =99%」となるでしょう。

 

ちなみに、MTBFを長くする手段としては「サーバーの冗長化やスケールアップを行う」などがあり、対してMTTRを短くする手段としては「障害発生時に予備サーバーや予備システムに即座に切り替える」などが存在します。

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