作成した処理システムに対して、そのシステムがしっかりと稼働するのかどうかを評価する内容を前回しましたね。しっかりと評価して『システムはこれで大丈夫!』ってなっても稼働率が100%じゃない限り、システムが止まってしまう事があります。
システムが止まってしまう原因はいろいろありますが、万が一急に動かなくなったとしても、故障したとしてもユーザーに対して影響が出ない様にしないといけません。そこで『信頼性を高める設計』というのが必要になります。
ITパスポートではこの辺りの信頼性についての手法が問われます。信頼性は故障しても影響が出ない様にするとか、データが無くならない様にするとか、考え方もいろいろです。今回はこの信頼性を高める設計について用語など紹介して行きます。

システムが故障した時の手法をチェック!

ではシステムが故障した時にどの様にするのかという考えでの設計内容について紹介します。最初に書いた通り稼働率が100%じゃない限りシステムは故障します。
故障の原因は様々ですが、故障した事でユーザが被害を受けるという事態は避けたい所ですよね。
そんなシステムの故障に対応する手法には下記の様な物があります。

  • フォールトトレラント
  • フェールセーフ
  • フェールソフト
  • フェールルーフ
  • フォールトアボイダンス

種類としては『フォールトトレラント』という考え方の設計の中に『フェールセーフ』『フェールソフト』『フェールルーフ』という手法があり、もう一つの考え方として『フォールトアボイダンス』があるという感じです。
どんな物なのかチェックして行きましょう!

【信頼性の設計その1】フォールトトレラントって何?

まずは『フォールトトレラント』が何なのかをチェックして行きましょう。
『フォールトトレランス設計』とも言ったりしますが、システムの信頼性を上げる為にシステムの冗長化をするなど行い、何かしらのエラーや故障によってシステム全体が停止する事がない様にするという考えの元、システムを設計する方法です。
冗長化はアックアップの機器などを用意して1つがダメになってももう1つの機器で対応出来る様にするなど、稼働の方法を複数用意しておいて対応出来る様にする方法です。

【信頼性の設計その2】影響を限定させるフェールセーフ

フォールトトレランス設計の中で故障による悪影響を起こさない様に安全な状態で機能を固定して影響を限定させておく手法の事を言います。
例えば信号機などが故障してうまく機能しなくなった場合、全ての信号を『赤』に限定させておけば、車は通行出来なくなり渋滞なども発生する様になりますが、車が止まる事で事故は起きないという様な感じです。
最悪のケースを回避する為に安全な状態にしておくという方法として覚えておきましょう。

【信頼性の設計その3】最低限のシステムで稼働するフェールソフト

システムに障害や故障が発生したら故障した部分をシステムから切り離してしまい、システムが働く必要最低限のシステムのみを稼働させるという手法ですね。
Windowsにある『セーフモード』に近い手法ですね。
この場合、システムが稼働する必要最低限のモジュールのみの動作するので処理スピードなどは低くなります。それでもシステム全体が止まってしまうよりはいいという事で設計をする訳ですね。

【信頼性の設計その4】ミスを予定して設計するフェールルーフ

システムが故障してしまう原因の1つとして『人間の操作ミス』というのが挙げられます。
入力出来ない文字で入力してしまうなど、悪気は無くてもシステム的には致命的な操作ミスをしてしまう事も考えられる訳ですね。
そのミスをするという部分をあらかじめ想定しておいて、ミスをしない様にする仕組みを搭載するというのがフェールルーフの考え方です。
先ほどの『入力出来ない文字を入れてしまって』と言う事に対応するのであれば、そもそも入力出来ない文字を選択させない、入力する際に自動で使える文字に変換しておくようにすると言った手法などがこれにあたる訳ですね。

【信頼性の設計その5】故障する原因を排除するフォールトアボイダンス

システムの故障にはデータのエラーが起きるなどの他にも、物理的に故障するという事もあります。
使っているメモリが消耗してデータが保存出来ないという様に内部の部品の故障によりシステムが稼働しないと言った感じですね。
フォールトアボイダンスはこれらの様な故障の原因を排除するという考え方で設計する方法です。
そもそも故障が起きない様にするという事なので、使用する機器なども性能が良い物にしてなるべく障害が発生させない様にするという事になります。
長期間使用出来る機器を活用する為、コストは若干上がる部分は出て来たりはします。

信頼性の設計のRAIDについてチェックしよう!

さてもう一つITパスポートで出やすい内容として『RAID』があります。
データをどの様に保存するのかという考え方の内容になっています。処理速度を重視するのかデータの信頼性を重視するのかという考え方の違いにより種類がいくつかあります。
RAIDとしては次の様な内容があります。

  • RAID0
  • RAID1
  • RAID5
  • RAID10

RAIDでは1つのデータをそのまま保存するのではなく、いくつかに分割をします。
そして分割した1つのデータを複数の媒体に保尊をするという手法です。その時にどの様に保存するのかによっていろいろな種類が出て来る訳ですね。

RAIDではデータを分割してどの様に保存するかを考えます

どんな内容なのか確認してみましょう!

ストライピングという手法の『RAID0』

さてまずは1つ目の『RAID0』についてですね。
これはデータを一か所に集中するのではなく分散させるという考え方で、処理による負荷も分散させて速度アップを図るという事が出来ます。
システムが遅延なく動くというのも信頼性の一つになる訳ですね。
ただしこの『RAID0』の手法では1つのデータを分散して保存する事になるので、片方のデータが壊れたり故障した場合データを元に戻す事が出来なくなるという事になります。

RAID0はデータを分散して保存します

ミラーリングという手法の『RAID1』

次にミラーリングと言われる手法の『RAID1』についてですね。
ミラーというのはその名の通り『鏡』の事を指しますね。ミラーリングというのはデータを同じ様に複数の媒体に保存をするという事になります。データのバックアップを取っている様な感じですね。
複数に同じデータが入って来るので片方が壊れたとしてももう一方に保存しているデータから復元する事が出来る訳です。
大事なデータをなくさない様にする信頼性を確保する手法という訳なんですね。
この『RAID1』の手法の場合、例えばHDDを2つ使用していたとしてもそれぞれに同じデータを保存する事になるので1つのHDDの容量分しか活用出来ないという事になります。

RAID1はデータを複数の媒体に保存します

パリティ付きストライピングという手法の『RAID5』

それでは3つ目の『RAID5』についてですが、これはパリティ付きすたらいピングと言われたりします。
ストライピングは『RAID0』で説明している通りです。では『パリティ付き』って何でしょうか?イメージで行けばパリティは『他の媒体に分割されて保存されたデータの情報』といった感じです。
複数の媒体に分割してデータを保存するのは変わらないのですが例えば1つの媒体が壊れた時に他の媒体にパリティが保存されている為ここから復元を出来る様になります。
構成としては前の2つよりも複雑にはなりますが、速度とデータが消えない様にする信頼性の両方が確保出来る手法という事になりますね。

RAID5はパリティ付きストライピング

『RAID0』と『RAID1』の組み合わせた手法の『RAID10』

さて最後に『RAID10』ですね。ITパスポートでは出て来にくい部分になります。これは『RAID0』と『RAID1』を組み合わせた手法になります。
1と0を組み合わせているから『RAID10』って覚えるといいですね。
手法としてはストライピングをミラーリングを組み合わせるという事になります。
ストライピングは複数のデータに分散させて保存する事でしたね。それをミラーリングしてバックアップを取っておく感じなります。速度とデータの信頼性が確保出来るという所ですね。
ただしその分保存する媒体が増える事になるのでコストもかかります。

RAID0とRAID1を組み合わせた手法がRAID10です

システムに合わせてどの様に運営していくのか考えて決めていく事になります。

情報処理システムの信頼性を高める手法を知ろう!【ITパスポート】|【まとめ】

今回はシステムの信頼性の確保をする為の手法として紹介しました。システムも構築した後に運営をする事になります。
運営していく中で起こりうるリスクをしっかりと考えて対処しておく事が大切になる訳ですね。
今回は故障した時にどうするかを考慮した手法についてと、データの処理や保存の仕方についての『RAID』について説明しました。
『RAID』とかはITパスポートに限らず他の分野の試験でも出て来たりする手法になります。どういう物なのかしっかりと理解して行きましょうね。