6-1-1 システムの構成

複数台のコンピュータを接続してシステムを構成するには、複数台のサーバを用意して並列に動かすなど、いろいろな工夫が、必要になる。

■システム構成の基本
システム構成の基本は、2台のシステムを接続するデュアルシステムとデュプレックスシステムです。
3台、4台と増やす場合も、この考え方が基本となる。

①デュアルシステム
二つのシステムを用意し、並列して同じ処理を走らせて、結果を比較する方式。結果を比較することで高い信頼性が得られる。また、一つのシステムに障害が発生してももう一つのシステムで処理を続行できる。

②デュプレックスシステム
二つのシステムを用意するが、普段は一つのシステムのみ稼働させて、もう一方は待機させておく
このとき、稼働させるシステムを主系(現用系)、待機させるシステムを従系(待機系)と呼ぶ。

デュプレックスシステムには、従系の待機のさせ方によって次の三つのスタンバイ方式ぐある。

●ホットスタンバイ
従系のシステムを常に稼働可能な状態で待機させておく。具体的には、サーバを立ち上げておき、アプリケーションやOSなどもすべて主系のシステムと同じように稼働させておく。
故障が起こったときに自動的に従系に切り替えて処理を継続することをフェールオーバーという。

●ウォームスタンバイ
従系のシステムを本番と同じような状態で用意してあるのですが、すぐに稼働はできない状態で待機させておく。具体的には、サーバは立ち上がっているものの、アプリケーションは稼働していないか別の作業を行っているかで、切り替えに少し時間がかかる。

●ゴールドスタンバイ
従系のシステムを、機器の用意だけをして稼働しないで待機させておく。具体的には、電源をいれずに予備機だけを用意しておいて、障害が発生したら電源をいれて稼働し、主系の代わりになるように準備する。主系から従系への切り替えに最も時間がかかる方法。

■システムの処理形態/利用形態
システムの形式は、処理形態や利用形態なども様々なものがある。例えば、処理を一つのサーバに集中させる集中処理の他に、処理を複数のサーバに分散させる分散処理がある。さらに、利用形態によって、処理をまとめて一度に行うバッチ処理や、すぐに処理を行うリアルタイム処理に分けられる。リアルタイム処理では、対話型処理を行うこともできる。

■クライアントサーバシステム
クライアントサーバシステムとは、クライアントとサーバでそれぞれ役割分担して、協力して処理を行うシステム。3層クライアントサーバシステムでは、その役割を次の三つに分けている。それぞれの役割をクライアントとサーバのどちらが行うかは、システムの形態によって異なる。

・プレゼンテーション層
  ユーザインタフェースを受け持つ層
・ファンクション層
  (アプリケーション層/ロジック層)
 メインの処理やビジネスロジックを受け持つ層
・データベースアクセス層
 データ管理を受け持つ層

例えば、一般的なwebシステムの場合には、三つの役割を次のように分担する。

■RAID
システムの構成要素には、記憶装置の障害に備える仕組みが必要。RAIDは、複数台のハードディスクを接続して全体で一つの記憶装置として扱う仕組み。その方法はいくつかありますが、複数台のディスクの組合せることによって信頼性や性能が上がる。RAIDの代表的な種類としては、以下。
①RAID0
複数台のハードディスクにデータを分散することで高速化したもの。ストライピングと呼ぶ。
性能はあがるが、信頼性は一台のディスクに比べて低下する。

②RAID1
複数台のハードディスクに同時に同じデータを書き込む。ミラーリングという。2台のディスクがあっても一方は完全なバックアップ。そのため、信頼性は上がるが性能は特に上がらない。

③RAID3,RAID4
複数台のディスクのうち1台を誤り訂正用のパリティディスクにし、誤りが発生した場合に復元する

データ2が故障した時、データ1とパリティからデータ2を復元できる。
ビットごとに行う方式がRAID3でブロックごとにまとめて行うのがRAID4。

④RAID5
RAID4のパリティは誤り訂正用のディスクであり、通常時は用いない。しかし、データを分散させた方がアクセス効率はあがるので、パリティをブロックごとに分散し、通常時にもすべてのディスクを使う用にした方式が、RAID5

⑤RAID6
RAID5では、一台のディスクが故障しても他のディスクの排他的論理和を計算することで復元できる。しかしディスクは同時に2台壊れることもある
そこで、冗長データを2種類作成することで、2台のディスクが故障しても支障がないようにした方式がRAID6

■信頼性設計
システム全体の信頼性を設計するときには、システム一つ一つを見る場合とは違った、全体の視点というものが必要となってくる。代表的な信頼性設計の手法には、次がある。
①フォールトトレランス
システムの一部で障害が起こっても、全体でカバーして機能停止を防ぐという設計手法。
②フォールトアボイダンス
個々の機器の障害が起こる可能性を下げて、全体として信頼性を上げるという考え方
③フェールセーフ
システムに障害が発生したとき、安全側に制御する方法。信号が故障したときにはとりあえず赤を点灯させるなど、障害が新たな障害を生まないように制御する。
④フェールソフト
システムに障害が発生した時、障害が起こった部分を切り離すなどして最低限のシステム稼働を続ける方法。このとき、機能を限定的にして稼働を続ける操作をフォールバックという
⑤フォールトマスキング
機器などに故障が発生したとき、その影響が外部に出ないようにする方法。具体的には、装置の冗長化などによって、1台が故障しても全体に影響がないようにするなどします。
⑥フールプルーフ
ヒューマンエラー(利用者が行う間違った操作)が起こっても危険な状況にならないようにするか、そもそも間違った操作ができないようにする設計手法。具体的には、画面上で推してはいけないボタンは押せないようにするなどの方法がある。

■いろいろなシステム構成
基本的なシステムのほかにも、近年ではいろいろなシステム構成が見られる。

①クラスタ
複数のコンピュータを結合してひとまとまりにしたシステム。クラスタリングともいう。負荷分散(ロードバランス)や。HPCの手法としてよく使われる
②シンクライアント
ユーザが使うクライアントの端末には必要最小限の処理を行わせ、ほとんどの処理をサーバ側で行う方式。
③ピアツーピア
端末同士で対等に通信を行う方式。p2pともいわれる。クライアントサーバ方式とは異なり、サーバを介せずクライアント同士で直接アクセスするのが、特徴。
④分散処理システム
複数のプログラムが並列的に複数台のコンピュータで実行され、それらが通信しあって一つの処理を行うシステム。分散処理システムでは複数の場所で処理を行うが、利便性の面では、利用者にその場所を意識させず、どこにあるプログラムも同じ操作で利用できることが大切。これをアクセス透過性という。
⑤クラウドコンピューティング
クラウドコンピューティングは、ソフトウェアやデータなどを、インターネットを通じて、サービスというかたちで必要に応じて提供する方式。
クラウドコンピューティングには、ソフトウェアを提供するSAAS(software as a service)やOSやデータベースシステムなどのプラットフォームを提供するpaa sなどがある。

■ストレージ
ストレージは、ハードディスクやCD-Rなど、データやプログラムを記録するための装置のこと。
従来は、サーバに直接、外部接続装置や内臓装置として接続するのが一般的であったが、近年ではネットワークを通じて、コンピュータとは別の場所にあるストレージと接続することも多くなっている。ストレージ接続方法は以下の3つがある。

①DAS(direct attached storage)
サーバにストレージを直接接続する従来の方法。
SANや、NASが出てきたことで、DASと位置付けるようになった。

②SAN(storage area network)
サーバとストレージを接続するために専用のネットワークを使用する方法。ファイバチャネルスイッチやIPネットワークを使って、あたかも内臓されたストレージのように使用できる。

③NAS(network attached storage)
ファイルを格納するサーバをネットワークに直接接続することで、外部からファイルを利用できるようにする方法。

DASに比べると、SANやNASもストレージを複数のサーバやクライアントで共有できる。

■仮想化技術
コンピュータの物理的な構成と、それを利用するときの論理的な構成を自由にする考え方を仮想化という。具体的には、仮想OSをもちいて一台の物理サーバ上で複数のVMを走らせ、それぞれを一台のコンピュータとして利用することや、クラスタリングで複数台のマシンを一つにまとめたりすること。

■エッジコンピューティング
ユーザが利用する各種端末の近くにサーバを分散配置することで、ネットワークの負荷分散を図る手法。ネットワークでの遅延が少なくなり、高速化も実現できる。

いいなと思ったら応援しよう!