システムの構成
集中処理と分散処理、デュアルシステムなどの冗長構成、クライアントサーバの3層構成、RAID、フェールセーフなどの信頼性設計を理解できるようになります。
ねらい
システム全体をどう組み立てるかを学びます。このレッスンを終えると、処理形態と利用形態の分類、冗長構成やクラウドなどのシステム構成、クライアントサーバシステムの層構成、RAIDの種類、信頼性設計の考え方を説明できるようになります。
ストーリー
あなたが利用しているネットショップは、年に一度の大セールでも止まりません。サーバが1台壊れても買い物は続けられ、アクセスが集中しても応答は返ってきます。偶然ではなく、「壊れても止まらない」「増えても耐えられる」ように設計されているからです。その設計の道具箱を開けてみましょう。
処理形態と利用形態
システムの処理形態には、1台のコンピュータに処理を集める集中処理と、複数のコンピュータに分担させる分散処理があります。集中処理は管理がしやすく、分散処理は柔軟で障害に強いという性格があります。分散処理の代表がクライアントサーバ処理や並列処理です。
利用形態では、データをためて一括で処理するバッチ処理、要求に即座に応答するリアルタイム処理、利用者とやり取りしながら進める対話型処理、注文処理のようにひとまとまりの処理を確実に完了させるトランザクション処理を区別します。給与計算は月に一度のバッチ処理、座席予約はリアルタイム処理というように、業務の性質で使い分けます。
システム構成:止まらないための組み立て
冗長構成
装置を複数用意して信頼性を高める構成を冗長構成といいます。
| 構成 | 仕組み |
|---|---|
| デュアルシステム | 2系統で同じ処理を並行して行い、結果を照合する。誤りにすぐ気づける |
| デュプレックスシステム | 主系(現用系)が処理を行い、従系(待機系)が控える。主系の障害時に従系へ切り替える |
災害に備えて別の場所に用意する予備の拠点をバックアップサイトといい、すぐ稼働できる状態で待つホットサイト、機材はあるが準備に時間が要るウォームサイト、場所だけ確保しておくコールドサイトに分かれます。
分散と拡張
複数のコンピュータを束ねて1つのシステムのように使う構成がクラスタで、処理を分担して応答速度を高める構成をロードシェアリングシステムといいます。プロセッサを複数積むマルチプロセッサシステムには密結合と疎結合がありました。対等なコンピュータどうしが直接やり取りする形態をピアツーピア、ネットワーク上の多数のコンピュータの空き時間を束ねて大きな計算を行う仕組みをグリッドコンピューティングといいます。科学技術計算の分野では、大規模並列で高速演算を行うHPC(ハイパフォーマンスコンピューティング)が使われます。
仮想化とクラウド
1台の物理的なコンピュータの上に複数の仮想的なコンピュータ(VM)を動かす技術が仮想化です。デスクトップ環境をサーバ側に集約するVDI、稼働中のVMを別の物理サーバへ移すライブマイグレーションなどの技術があります。
コンピュータ資源をネットワーク越しにサービスとして利用する形態がクラウドコンピューティングです。提供の範囲によって、アプリケーションまで提供するSaaS、開発と実行の基盤を提供するPaaS、サーバやストレージなどの基盤を提供するIaaS、関数の実行環境だけを提供するFaaS(サーバレス)に分かれます。構成をコードで記述して自動構築するIaC、端末に近い場所で処理するエッジコンピューティングも押さえておきましょう。
クライアントサーバシステムとWebシステム
処理を頼む側をクライアント、応える側をサーバと呼ぶ分業の構成がクライアントサーバシステムです。画面表示を受け持つプレゼンテーション層、業務処理を受け持つファンクション層、データベースへの読み書きを受け持つデータベースアクセス層の3つに分ける構成を3層クライアントサーバシステムといい、画面と業務処理を分けない構成が2層です。
関連する技術として、端末に処理をほとんど持たせないシンクライアントシステム、別のコンピュータの手続を呼び出すRPC(遠隔手続呼出し)、データベース側に処理をまとめて登録しておくストアドプロシージャがあります。Webブラウザをクライアント、Webサーバをサーバとする構成がWebシステムで、現在の業務システムの主流です。
ストレージ技術:RAID
複数のディスクをまとめて1台のように扱い、速度や信頼性を高める技術がRAIDです。
| 種類 | 仕組み |
|---|---|
| RAID0 | データを複数のディスクに分散して書き込む(ストライピング)。速いが冗長性はない |
| RAID1 | 同じデータを2台に書き込む(ミラーリング)。1台壊れても失われない |
| RAID5 | データとパリティ(誤り訂正用の情報)を分散して書き込む。1台の故障に耐える |
| RAID6 | パリティを二重に持ち、2台の同時故障に耐える |
| RAID10 | ミラーリングとストライピングを組み合わせ、速度と信頼性を両立する |
ストレージをネットワーク経由で共有する技術には、ファイル単位で共有するNASと、専用ネットワークでブロック単位の高速アクセスを行うSANがあります。
信頼性設計の考え方
障害への備え方には、対照的な2つの方針があります。故障そのものを起こさないように品質を高める方針がフォールトアボイダンス、故障は起こるものと考え、起きても全体を止めない方針がフォールトトレラントです。フォールト(故障)の影響を内部で覆い隠すことをフォールトマスキングといいます。
具体的な設計の考え方を3つ区別しましょう。
- フェールセーフは、故障したときに安全な側へ倒す設計です。信号機が故障したら赤で止まるのが典型です。
- フェールソフトは、故障した部分を切り離し、機能を落としてでも運転を続ける設計です。
- フールプルーフは、利用者が誤った操作をしても事故にならないようにする設計です。ふたを閉めないと回らない洗濯機が典型です。
冗長構成の運用では、待機系を控えさせるアクティブ-スタンバイ構成と、両系とも稼働させて負荷を分けるアクティブ-アクティブ構成を区別します。
例題
次の問いに答えてください。
問1 2系統で同じ処理を並行して行い、結果を照合するシステム構成を何といいますか。
問2 同じデータを2台のディスクに書き込むことで、1台が故障してもデータを失わないRAIDの方式はどれですか。
解答と解説
問1の答えはデュアルシステムです。主系が処理して従系が待機するデュプレックスシステムとの違いは、「両方が同時に同じ処理をしているか」です。
問2の答えはRAID1です。この書き込み方をミラーリングといいます。分散して速度を高めるストライピング(RAID0)には冗長性がない点と対比して覚えましょう。
応用
本試験を意識した問題を解いてみましょう。
問 利用者が誤った操作をしても、システムが危険な状態にならないようにあらかじめ工夫しておく設計の考え方はどれでしょうか。次の中から選んでください。
- フェールセーフ
- フェールソフト
- フールプルーフ
- フォールトアボイダンス
解答と解説
答えは3のフールプルーフです。誤操作そのものを防いだり、誤操作が事故につながらないようにしたりする、人間の誤りに備える設計です。1のフェールセーフは、システムが故障したときに安全な側へ倒す設計であり、備える対象が誤操作ではなく故障です。2のフェールソフトは、故障した部分を切り離して機能を縮小しながら運転を続ける設計です。4のフォールトアボイダンスは、部品の品質向上などによって故障そのものを起こさないようにする方針であり、誤操作への備えではありません。
分からなかった点・気になった点
読み込み中です。