SIGMA-SE Tech Blog

SIGMA-SE Tech Blog

応用情報技術 - 基礎覚書き:システム構成要素

目的

この記事では、応用情報技術者試験の出題分野であるシステム構成要素に関する覚書きを列挙する。

システム構成の基本

システム構成には、\(2\) つのシステムから成る次の構成方法がある。
※ \(2\) つ、\(3\) つと増やす場合も以下の構成を基盤として構成される。

  • デュアルシステム
    常に\(2\) つのシステムを並列稼働させ、データの信頼性を高めるために処理結果を相互に照合する。

    片方のシステムに障害が発生した場合やメンテナンス等で一時的に止める場合など、もう一方のシステムが稼働状態にあるため、サービス運用に影響を与えない。

  • デュプレックスシステム
    \(2\) つのシステムのうち片方を稼働もう一方を待機させ、障害発生時やメンテナンスの場合は、待機システムを稼働させてサービス運用に支障が出ないようにする。

    また、稼働システムを主系、待機システムを従系と呼び、従系システムの待機状態には、次の種類がある。

    • ホットスタンバイ
      従系システムが常に即稼働できる状態を指す。 また、障害発生時、自動で従系システムに切替え処理を継続する仕組みをフェールオーバーという。

    • ウォームスタンバイ
      従系システムが即稼働できない状態で従系システムの稼働に必要な一部のサービスやアプリケーションなどを開始すれば、稼働できる状態を指す。

    • コールドスタンバイ
      従系システムが即稼働できない状態で従系システムを搭載するサーバー機自体の電源が停止している状態を指す。
      サーバー機の電源を入れ、従系システムの稼働に必要な準備を行うため、切替えに時間を要する。

クライアントサーバーシステム

クライアントサーバーシステムとは、クライアントサーバーで役割を分けて運用する仕組みのこと。

  • \(3\) 層クライアントサーバーシステム
    クライアントサーバーシステムのクライアントの役割を以下の\(3\) 層に分けたもの。

    • プレゼンテーション層
      Webブラウザなどのユーザー操作とサービスメイン処理のインターフェース周りを受けもつ層。

    • ファンクション層(アプリケーション層 / ロジック層)
      Webサーバーなどのサービスメイン処理周りを受けもつ層。

    • データベースアクセス層
      DBサーバーなどのデータ管理周りを受けもつ層。

RAID

RAID(Redundant Arrays of Inexpensive Disks)とは、複数台のハードディスクを接続して一つの記憶装置(ドライブ)として認識させる技術のこと。

以下、RAIDの種類とその特性。

  • RAID \(0\)
    複数台のハードディスクにデータを分散することで高速化したもので、これをストライピングという。
    \(1\) 台のハードディスクに比べ、高速だが信頼性が低い

  • RAID \(1\)
    複数台のハードディスクにバックアップも兼ねて同じデータを一斉に書き込み、信頼性を高くしたもので、これをミラーリングという。
    \(1\) 台のハードディスクに比べ、低速だが信頼性が高い

  • RAID \(0+1\), RAID \(1+0\)
    上記、RAID \(0\)(ストライピング)とRAID \(1\)(ミラーリング)を組み合わせて、高速かつ信頼性を高くしたもので最低でもディスクが4台必要。

    RAID \(0+1\) は、ストライピングされたディスクをミラーリングする。
    RAID \(1+0\) は、ミラーリングされたディスクをストライピングする。

  • RAID \(3\)
    複数台のハードディスクのうち\(1\) 台を誤り訂正用のパリティディスクとし、問題が発生した場合に復元対処する。

    例えば、どこかディスクが故障した場合、残ったディスクとパリティディスク偶数パリティビット単位で算出し、故障したディスクデータを復元する。

  • RAID \(4\)
    上記RAID \(3\)をビット単位ではなく、ブロック単位で算出し、故障したディスクデータを復元できるようにしたもの。

  • RAID \(5\)
    RAID \(4\)の誤り訂正用のパリティディスクを通常時も無駄なく使用し、その他ハードディスクに対してパリティディスクブロック単位に分散したもの。

  • RAID \(6\)
    RAID \(5\)のパリティディスク2つにし、耐障害性を強化したもの。

信頼性設計

以下、システム全体の信頼性を担保するための代表的な設計思想。

  • フォールトトレランス
    システムの一部で発生した障害をシステム全体でリカバリし、機能停止を防ぐ設計思想。

  • フォールトアボイダンス
    個々の機能の障害発生率を下げてシステム全体の信頼性を上げる設計思想。

  • フェールセーフ
    一つの障害が新たな障害を生まないよう、被害を最小限に安全性を最優先した設計思想。

  • フェールソフト
    機能や性能は低下するが、障害が発生した部分を切り離し、システムの継続性を最優先した設計思想。
    この稼働方法(運転方法)をフォールバック(縮退運転)という。

  • ウォールトマスキング
    機器に故障が発生した場合、その影響が外部に伝播しないようにする設計思想。

  • フールプルーフ
    ユーザーが間違った操作をしても致命的な状態にならないようにする、もしくは、間違った操作ができないようにする設計思想。

その他システム構成

以下、上記デュアルシステムデュプレックスシステム以外の近年に見られる代表的なシステム構成。

  • クラスタ(クラスタリング)
    複数コンピュータを結合して一つにしたシステムで、負荷分散(ロードバランス)HPC(高性能計算)の手法として用いられる。

  • シンクライアント
    ユーザーが使うクライアント端末は、必要最低限の処理のみとし、その他処理をすべてサーバー側で実施する仕組みのこと。

  • ピアツーピア(\(P2P\))
    端末同士で対等に通信を行う方式で、サーバーを介さずクライアント同士でデータを交信できる。

  • 分散システム
    複数のプログラムが並列的に複数のコンピュータで分割分担し、一つの処理を実行する仕組みを持つシステムのこと。

    また、地理的に別の場所にあるシステムへアクセスする際、そのシステムが遠隔地にあることを意識させないアクセス方法とする性質をアクセス透過性という。

  • CDN(Contents Delivery Network)
    動画や音声などの大容量のデジタルコンテンツを配信する際に、インターネット回線の負荷を軽減するようにサーバーを分散配置したネットワークのこと。

ストレージ

ストレージとは、ハードディスクやCD-Rなどのデータやプログラムを長期間保管しておくための補助記憶装置を指す。

従来は、外部接続装置や内臓装置としてサーバーに直接接続する方法が一般的だったが、近年では、ネットワークを通じて、別の場所にあるストレージと接続するケースが多い。

以下、ストレージの接続手法。

  • DAS(Direct Attached Storage)
    従来の方法でサーバーにストレージを直接接続するシステムのこと。
    直接接続するため、導入技術が不要で導入コストも低いが、サーバーを経由するため、アクセス速度が遅い。

    ※ 以下、SANNASの手法が出てきたことで、従来の方法は、DASと呼ばれるようになった。

  • SAN(Storage Area Network)
    サーバーとストレージを接続するためにストレージ専用のネットワークを使用するシステムのこと。
    専用のネットワークであるため、高速だが、導入技術が必要で専用機器の導入コストが高い。

  • NAS(Network Attached Storage)
    ファイルを格納するサーバーをネットワークに直接接続することで外部からファイルを利用できるようにしたシステムのこと。
    LAN接続となるため導入が比較的容易で導入コストも低いが、LANの負荷が大きくなりやすく、ネットワークの速度低下の原因となる。

仮想化技術

仮想化とは、物理的なマシン構成の制限にとらわれず、論理的にマシン構成を動作/表現する技術のこと。

以下、代表的な仮想化技術。

  • サーバーの仮想化方式

    • ホスト型
      OS上にアプリケーションをインストールして仮想マシンを実行する。

    • ハイパーバイザ型
      物理マシンに仮想OSを直接インストールして実行する。

    • コンテナ型
      OS上にコンテナエンジンを入れ、その中にコンテナと呼ばれる分割した仮想化領域を作成して実行する。

  • スケールアップ
    ハードウェアを高性能にして、サーバーの性能を上げる方法。

  • スケールアウト
    サーバー数を増やして、個々のサーバー負荷を減らし、サーバー全体の性能を上げる方法。

    ※ 仮想サーバーでは、スケールアップしたサーバー上でスケールアウト(仮想サーバーを複数稼働させる)する方法が良く用いられている。

  • シンプロビジョニング
    サーバーではなくハードディスクなどのストレージを仮想化する方法。

  • ライブマイグレーション
    仮想サーバーで稼働中のOSやソフトウェアを停止することなく、他の物理サーバーへ移行する技術のこと。

  • VDI(Virtual Desktop Infrastructure:デスクトップ仮想化)
    アプリケーションやデータをサーバーで管理し、クライアント端末では、通信および、操作のみ実行する方式。

  • エッジコンピューティング
    クライアント端末の近くにサーバーを分散配置することで、ネットワークの負荷分散を行う手法で高速化でき、ネットワークでの遅延が少なくなる。

参考文献

  • 瀬戸 美月(\(2020\))『徹底攻略 応用情報技術者教科書』株式会社インプレス


Copyright SIGMA-SE All Rights Reserved.
s-hama@sigma-se.jp