応用情報技術者試験 令和5年秋期 問15
アクティブ-スタンバイ構成の2台のサーバから成るシステムがある。各サーバのMTBFは99時間,MTTRは10時間,フェールオーバーに要する時間は2時間であるときこのシステムの稼働率はおよそ幾らか。ここで,二重に障害は発生しないものとする。
ア:0.82 イ:0.89 ウ:0.91 エ:0.98
出典 IPA公開[過去問題]:https://www.ipa.go.jp/shiken/mondai-kaiotu/ps6vr70000010d6y-att/2023r05a_ap_am_qs.pdf
アクティブースタンバイ構成とは
同じシステムを2つ用意しておき、片方をメインで使用し、もう片方は待機させておきます。メインに障害が発生した時は待機させておいた方を起動し、処理を継続させます。待機させておく側にはすぐ引き継げるようにシステムを起動して待機させておく「ホットスタンバイ方式」、マシンは起動させておくがシステムは起動させずに待機させておく「ウォームスタンバイ方式」、起動させずに待機させておく「コールドスタンバイ方式」があります。
フェールオーバーとは
稼働中のメインシステムに障害が発生した時にサブシステムが稼働していたメインシステムの機能を自動的に引き継いで処理を続行させる仕組みのことです。
MTTR(平均修復時間)とは
システムに障害が発生してから障害が解消されて再び正常に動くまでにかかる時間です。
MTBF(平均稼働時間)とは
システムが前回の障害もしくは運用開始から次の障害まで正常に動いていた時間です。
稼働率の計算方法
機器のMTTRとMTBFから稼働率を求める場合は、次の計算式を使用します。
MTTR+MTBF=システムの運用時間となります。運用時間の中には障害によって稼働していない時間も含まれます。そのため、運用時間の中で何時間稼働していていたのかを計算することで稼働率を算出することができます。分子のMTBFをMTTRに変えると故障率を算出することができます。
直列の場合は全ての機器が正常に動いていないといけないので、「機器Aの稼働率×機器Bの稼働率」で計算します。仮に機器A・機器Bともに稼働率が0.9だった場合は「0.9×0.9=0.81」となるのでシステムZの稼働率は81%となります。
並列の場合はどれか1台でも正常に動いていれば良いので、全ての機器が正常に動いている確率を1としてそこから全ての機器に障害が起こって動かない確率を引きます。ある機器が障害起こる可能性は「1-機器の稼働率」で求めることができます。システムZが稼働するパターンとしては次の3つです。
「機器A・機器Bの両方が動いている場合」
「機器Aだけが動いている場合」
「機器Bだけが動いている場合」
機器A・機器Bともに稼働率が0.9だった場合は次のようになります。
1-(1-0.9)×(1-0.9)
=1-0.1×0.1
=1-0.01
=0.99 ※システムZの稼働率は99%となります。
稼働率の計算問題ですが、直列と並列を組み合わせた次のようなパターンもあります。
①の場合は「機器A1・機器B1」・「機器A2・機器B2」をそれぞれ直列として計算し、次にそれらを並列として計算します。
②の場合は「機器A1・機器A2」・「機器B1・機器B2」をそれぞれ並列として計算し、次にそれらを直列として計算します。
今回の問題ではアクティブースタンバイ構成な上、フェールオーバ―が使われているので、MTTRではなく、フェールオーバ―の2時間をMTTRとして計算します。今回は2つのサーバが同時に動いているわけではなく、サーバが単体で動いているだけなので「MTBF÷(MTTR+MTBF)」で計算を行います。「99÷(2+99)=99÷101=0.980・・・≒0.98」となります。
正解は「エ:0.98」となります。
※今回は2つのサーバのどちらか片方が動いているだけで2つのサーバが同時に動いているわけではないので、上記で紹介した「直列」「並列」は使用しません。