概要
情報技術の基礎として理解しておきたいシステム構成要素について、システム構成、クライアントサーバー、RAID、信頼性設計、ストレージ、仮想化を整理する。
システム構成は、複数の装置やサーバーをどのように組み合わせ、性能や信頼性を確保するかを扱う。
冗長化や仮想化の考え方を押さえると、現代のインフラ構成を理解しやすくなる。
この記事の構成
- システム構成の基本
システム構成の基本と各要素の役割を整理。 - クライアントサーバーシステム
クライアントサーバーシステムとは、 クライアントとサーバーで役割を分けて運用する仕組みのこと。 - RAID
RAID(Redundant Array of Independent Disks)とは、複数台のディスクを組み合わせ、一つの記憶装置(ドライブ)として扱う技術のこと。 - 信頼性設計
信頼性設計の意味と要点を具体例から整理。 - その他システム構成
その他システム構成と各要素の役割を整理。 - ストレージ
ストレージとは、ハードディスクやCD-Rなどのデータやプログラムを長期間保管しておくための補助記憶装置。 - 仮想化技術
仮想化とは、物理的なマシン構成の制限にとらわれず、 論理的にマシン構成を動作/表現する技術のこと。
システム構成の基本
システム構成には、\(2\) つのシステムから成る次の構成方法がある。
※ \(2\) つ、\(3\) つと増やす場合も以下の構成を基盤として構成される。
-
デュアルシステム
常に\(2\) つのシステムを並列稼働させ、データの信頼性を高めるために処理結果を相互に照合する。片方のシステムに障害が発生した場合でも、もう一方の処理結果を利用して継続できるようにする。ただし、共通部分の障害や切替え方法によっては、性能低下やサービスへの影響が生じる。
-
デュプレックスシステム
\(2\) つのシステムのうち片方を稼働、もう一方を待機させ、障害発生時やメンテナンスの場合は、待機システムを稼働させてサービス運用に支障が出ないようにする。また、稼働システムを主系、待機システムを従系と呼び、従系システムの待機状態には、次の種類がある。
-
ホットスタンバイ
従系システムが常に即稼働できる状態を指す。 また、障害発生時、自動で従系システムに切替え処理を継続する仕組みをフェールオーバーという。 -
ウォームスタンバイ
従系システムが即稼働できない状態で従系システムの稼働に必要な一部のサービスやアプリケーションなどを開始すれば、稼働できる状態を指す。 -
コールドスタンバイ
従系システムが即稼働できない状態で従系システムを搭載するサーバー機自体の電源が停止している状態を指す。
サーバー機の電源を入れ、従系システムの稼働に必要な準備を行うため、切替えに時間を要する。
-
クライアントサーバーシステム
クライアントサーバーシステムとは、クライアントとサーバーで役割を分けて運用する仕組みのこと。
-
\(3\) 層クライアントサーバーシステム
クライアントサーバーシステム全体の役割を以下の\(3\) 層に分けたもの。-
プレゼンテーション層
Webブラウザなどのユーザー操作とサービスメイン処理のインターフェース周りを受けもつ層。 -
ファンクション層(アプリケーション層 / ロジック層)
アプリケーションサーバーなどで、業務ロジックやサービスの主要処理を受けもつ層。 -
データベースアクセス層
DBサーバーなどのデータ管理周りを受けもつ層。
-
RAID
RAID(Redundant Array of Independent Disks)とは、複数台のディスクを組み合わせ、一つの記憶装置(ドライブ)として扱う技術のこと。
以下、RAIDの種類とその特性。
-
RAID \(0\)
複数台のハードディスクにデータを分散することで高速化したもので、これをストライピングという。
\(1\) 台のハードディスクに比べ、高速だが信頼性が低い。 -
RAID \(1\)
複数台のディスクに同じデータを書き込み、冗長性を高めたもので、これをミラーリングという。
読込み性能が向上する場合がある一方、書込み性能は実装に依存する。なお、RAIDは装置故障時の可用性を高める仕組みであり、誤削除などに備えるバックアップの代わりにはならない。 -
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 \(6\)
RAID \(5\)を拡張し、二台分の分散パリティ情報を持たせることで、同時に二台のディスクが故障しても復元できるようにしたもの。
信頼性設計
以下、システム全体の信頼性を担保するための代表的な設計思想。
-
フォールトトレランス
システムの一部で発生した障害をシステム全体でリカバリし、機能停止を防ぐ設計思想。 -
フォールトアボイダンス
個々の機能の障害発生率を下げてシステム全体の信頼性を上げる設計思想。 -
フェールセーフ
一つの障害が新たな障害を生まないよう、被害を最小限に安全性を最優先した設計思想。 -
フェールソフト
機能や性能は低下するが、障害が発生した部分を切り離し、システムの継続性を最優先した設計思想。
この稼働方法(運転方法)をフォールバック(縮退運転)という。 -
フォールトマスキング
機器に故障が発生した場合、その影響が外部に伝播しないようにする設計思想。 -
フールプルーフ
ユーザーが間違った操作をしても致命的な状態にならないようにする、もしくは、間違った操作ができないようにする設計思想。
その他システム構成
以下、上記デュアルシステム、デュプレックスシステム以外の近年に見られる代表的なシステム構成。
-
クラスタ(クラスタリング)
複数コンピュータを結合して一つにしたシステムで、負荷分散(ロードバランス)やHPC(高性能計算)の手法として用いられる。 -
シンクライアント
ユーザーが使うクライアント端末は、必要最低限の処理のみとし、その他処理をすべてサーバー側で実施する仕組みのこと。 -
ピアツーピア(\(P2P\))
端末同士が対等な立場で通信し、それぞれがクライアントとサーバーの役割を担える方式。接続先の探索や制御に中央サーバーを利用する構成もある。 -
分散システム
複数のプログラムが並列的に複数のコンピュータで分割分担し、一つの処理を実行する仕組みを持つシステムのこと。また、地理的に別の場所にあるシステムへアクセスする際、そのシステムが遠隔地にあることを意識させないアクセス方法とする性質をアクセス透過性という。
-
CDN(Content Delivery Network)
動画や音声などの大容量のデジタルコンテンツを配信する際に、インターネット回線の負荷を軽減するようにサーバーを分散配置したネットワークのこと。
ストレージ
ストレージとは、ハードディスクやCD-Rなどのデータやプログラムを長期間保管しておくための補助記憶装置を指す。
従来は、外部接続装置や内蔵装置としてサーバーに直接接続する方法が一般的だったが、近年では、ネットワークを通じて、別の場所にあるストレージと接続するケースも多い。
以下、ストレージの接続手法。
-
DAS(Direct Attached Storage)
サーバーにストレージを直接接続し、そのサーバー専用の記憶装置として利用する構成のこと。
構成は比較的単純だが、性能や導入コストは接続方式や機器構成によって異なり、直接接続であることを理由にアクセス速度が遅くなるわけではない。※ 以下、SAN、NASの手法が出てきたことで、従来の方法は、DASと呼ばれるようになった。
-
SAN(Storage Area Network)
サーバーとストレージを接続するためにストレージ専用のネットワークを使用するシステムのこと。
サーバーからは主にブロックデバイスとして利用する。性能、構成の複雑さ、導入コストは、Fibre ChannelやiSCSIなどの方式と機器構成によって異なる。 -
NAS(Network Attached Storage)
ファイルを格納するサーバーをネットワークに直接接続することで外部からファイルを利用できるようにしたシステムのこと。
NFSやSMBなどを通じて主にファイル単位で共有する。専用機器だけでなく汎用サーバーでも構成でき、性能やコストはネットワークと機器構成によって異なる。
仮想化技術
仮想化とは、物理的なマシン構成の制限にとらわれず、論理的にマシン構成を動作/表現する技術のこと。
以下、代表的な仮想化技術と、関連して整理されることの多いインフラ構成。スケールアップ、スケールアウト、エッジコンピューティングは構成・配置の考え方であり、仮想化方式そのものではない。
-
サーバーの仮想化方式
-
ホスト型
OS上にアプリケーションをインストールして仮想マシンを実行。 -
ハイパーバイザ型
物理マシン上でハイパーバイザを直接実行し、その上で複数のゲストOSを動作させる。 -
コンテナ型
OS上にコンテナエンジンを入れ、その中にコンテナと呼ばれる分割した仮想化領域を作成して実行。
-
-
スケールアップ
ハードウェアを高性能にして、サーバーの性能を上げる方法。 -
スケールアウト
サーバー数を増やして、個々のサーバー負荷を減らし、サーバー全体の性能を上げる方法。※ 仮想化環境では、物理サーバーの性能を上げる方法と、仮想サーバーの台数を増やす方法を要件に応じて組み合わせることができる。
-
シンプロビジョニング
利用者には論理的な容量をあらかじめ割り当て、実際の書込みに応じてストレージプールから物理容量を確保する方式。 -
ライブマイグレーション
仮想サーバーで稼働中のOSやソフトウェアを停止することなく、他の物理サーバーへ移行する技術のこと。 -
VDI(Virtual Desktop Infrastructure:デスクトップ仮想化)
アプリケーションやデータをサーバーで管理し、クライアント端末では、通信および、操作のみ実行する方式。 -
エッジコンピューティング
利用者やデータ発生源の近くに処理機能を配置することで、通信遅延や中央システムへ送るデータ量を減らす手法。
まとめ
- システム構成では、性能、信頼性、拡張性のバランスを考える。
- RAID 0はデータを分散して高速化し、RAID 1はミラーリングによって冗長化する。
- デュアルシステムは複数系統を同時稼働させ、デュプレックスシステムは待機系へ切り替える。
- NASは主にファイル単位、SANは主にブロック単位でストレージを提供する。
- 冗長化は継続稼働、バックアップは障害や誤操作からの復旧を目的とする。
参考文献
- 瀬戸 美月(\(2020\))『徹底攻略 応用情報技術者教科書』株式会社インプレス
- Microsoft Learn - Windows ServerとWindowsでの仮想化のHyper-V(日本語・ハイパーバイザーの公式解説)
- Storage Networking Industry Association - Data Protection Best Practices(英語・データ保護の業界技術資料)
- IBM - Storage Scale with thin-provisioned devices(英語・シンプロビジョニングの公式解説)
- NIST - Application Container Security Guide(SP 800-190)(英語・コンテナセキュリティの公的指針)