仮想化と障害対策
経営情報システム 第33回
「ある日突然、大手航空会社のシステムがダウンして何億円もの損失が出る。世界的なオンラインショップが数時間止まって、莫大な機会損失が発生する。そんなニュースをたまに耳にしますよね」。動画はこんな問いかけから始まります。このページでは動画の流れにそって、仮想化の3つの形態と、HDD・拠点・システム全体の障害対策を、コストと信頼性のバランスという視点でまとめました。まず動画を聞いて、あとからここで復習するのがおすすめです。
止まると何が起きる? 仮想化と障害対策の全体像
動画は、こんなニュースの話から始まります。大手航空会社のシステムが突然ダウンして、何億円もの損失が出る。世界的なオンラインショップが数時間止まって、莫大な機会損失が発生する。動画では、原因は大抵たった1つのハードウェアの故障や、想定外のアクセス集中が引き金になっている、と紹介されます。
中小企業診断士の1次試験を目指す人にとって、ITシステムは単なるパソコンの話ではなく、ビジネスの生命線です。動画は、そのインフラを支える基盤技術を、次の2本立てで解説します。
- 仮想化:物理的なハードウェアの限界を超えて、資源を無駄なく使う技術。
- 障害対策:物理的な故障が起きても、システムを止めない技術。
用語の多い分野ですが、動画は「なぜその技術が生まれたのか」という背景から入ります。コストとリスクのバランスをどう取るか、という思考が一貫したテーマです。
仮想化とは:1台を複数台に、複数台を1台に
動画の定義はシンプルです。物理的な1台のマシンを、論理的に複数台のマシンとして稼働させる技術。反対に、複数台のマシンを統合して1台のように扱うことも、仮想化と呼びます。
たとえ:パーティションで区切ったワンルーム
聞き手の例えは、だだっ広いワンルームのオフィスフロアにパーティションを立てて、独立した会議室や部署をいくつも作るイメージです。外の看板は1つのビルでも、中は別々の空間として同時に稼働します。講師も「そのイメージで間違いない」と受けています。
仮想化の3つの形態
動画は、仮想化をホスト型、ハイパーバイザー型、コンテナ型の3つに分け、実務でも違いが問われる重要なポイントだと言います。
ホスト型は、ホストOS上で仮想化ソフトウェアを起動し、その環境下でゲストOSを動かす方式です。聞き手は「家の中にまた別の家を建てているみたい」と感じ、講師も、OSの上にOSを重ねるのでどうしても無駄なリソースを消費する、と認めます。
その中間コストを省こうと生まれたのがハイパーバイザー型です。ホストOSをなくし、ハードウェアに直接ハイパーバイザーという仮想化ソフトウェアを導入して、その上で複数のゲストOSを制御します。中間がいなくなる分、ハードウェアを直接制御でき、効率が格段に上がる、というのが動画の説明です。
最近のビジネス現場でいちばんよく聞くのがコンテナ型だと動画は言います。ホストOS上でコンテナエンジンを稼働させ、コンテナという独立した実行環境を作ります。コンテナはミドルウェアとアプリケーションをパッケージ化した環境で、最大の特徴はホストOSのカーネルを共有する点です。
カーネルって、OSの中核部分ですよね。それを共有するなら、コンテナの中でわざわざゲストOSを立ち上げる必要がない、ということですか。
その通りです。そこが最大のポイントですね。ゲストOSを立ち上げずに、アプリケーションを実行できるんです。
だから重たいOSをいちいち起動せず、立ち上がりが圧倒的に早い、と動画は説明します。聞き手の例えは、ビル全体の大元のインフラ(発電機や水道管)を全室で共有し、部屋の中の家具、つまりアプリケーションだけをパッケージ化するマンションです。
| 形態 | 土台 | 特徴 |
|---|---|---|
| ホスト型 | OSの上に仮想化ソフト | 無駄が出る |
| ハイパー | ハードに直接導入 | 効率が高い |
| コンテナ型 | カーネルを共有 | ゲストOS不要 |
(補足:動画の三分類は、IPAの応用情報技術者試験シラバス Ver.7.2 の用語例にも「仮想化(ホスト型,ハイパーバイザー型,コンテナ型)」と並びます(診断士試験の範囲ではなく参考)。一方、米国NISTの文書(SP 800-125)は、ホストOSなしの方式をベアメタル型、ホストOS上で動く方式をホスト型と呼び、どちらもハイパーバイザーを使うと説明します。AWSの解説もベアメタル型をタイプ1、ホストOS上のものをタイプ2と呼びます。資料によっては、動画の「ハイパーバイザー型」はベアメタル型(タイプ1)を指す言い方なので、ホスト型もハイパーバイザーを使う点に注意してください。)
(補足:NISTのコンテナ向けの文書(SP 800-190)も、コンテナは同じカーネルを共有すると書き、仮想マシンに比べてコンテナ同士の分離の度合いは小さい、と述べます。なお、動画の「立ち上がりが圧倒的に早い」という程度は、今回の資料では確認できませんでした。)
ここから障害対策:まずHDDを守る
聞き手は、いくら論理的に素晴らしいシステムを作っても、大元の物理的な機械が壊れれば全部ダメになる、と疑問を挟みます。講師も、物理的な故障からは逃れられないと答え、障害対策へ進みます。まずは心臓部であるデータを守る、HDDの対策です。動画が挙げる方法は、ミラーリング、デュプレクシング、データ同期、レプリケーション、RAIDです。
ミラーリングは、HDDを二重化して、片方が故障してもシステムに影響が出ないようにする対策です。動画では、接続用のインターフェイスカードは共有したまま、HDDのみを二重化する構成だと説明されます。聞き手が指摘するとおり、根元のカードが壊れれば両方のHDDにアクセスできなくなります。
この弱点に応えるのがデュプレクシングで、HDDに加えてインターフェイスカードも二重化します。聞き手のまとめでは、コストを抑えてディスクだけ2つにするのがミラーリング、もっとコストをかけて根元から二重化するのがデュプレクシングです。
(補足:この線引きは資料によって説明が異なります。WikipediaのRAIDの項は、RAID 1(ミラーリング)を「コントローラの故障にも対応しやすい」と書きます。RAIDの原論文(Patterson らの1988年の論文)にも、Tandem社の方式としてコントローラを2倍にして耐障害性を高める旨の記述があります。二重にする範囲を区別する、動画の整理として読むとよいでしょう。)
拠点ごとの備え:レプリケーション
では、地震や火事で拠点が丸ごとダメになったらどうするか。そこで登場するのがデータ同期・レプリケーションで、物理的に離れたデータベース間でデータを複製し、一方の拠点の障害に備えます。聞き手の例えでは、東京のデータが大阪にもある状態です。複製の方法は2つあり、リアルタイムで複製するのが同期方式、一定間隔のバッチ処理などで複製するのが非同期方式です。
同期方式のほうが、常に最新のデータが守られて安全ですよね。なぜわざわざ間隔を空ける非同期方式があるんですか。
同期方式だと、データが転送先に届いて保存完了の確認が取れるまで、次の処理に進めないんです。ネットワークの距離による遅延が、システム全体の処理を遅くしてしまいます。
安全性を極めればスピードが犠牲になる。聞き手がこうまとめると、講師は、リアルタイム性がそこまで求められないなら非同期方式を選ぶことも立派な経営判断だ、と続けます。
(設例:筆者の概算です。東京と大阪の距離を約400km、光ファイバー中の光の速さを秒速約20万kmとすると、往復800kmで800÷200,000=0.004秒、約4ミリ秒です。書き込みごとに完了の確認を待つ処理が順番に並べば、1秒に確定できるのは最大でも約250回です。実際は経路や機器の処理時間が加わり、さらに遅くなります。)
RAID:複数のディスクを組み合わせる
聞き手は、RAIDは単なるバックアップとは違うのか、と尋ねます。講師の説明では、RAIDは複数のディスクを組み合わせて処理の高速化や信頼性の向上を図る技術です。RAID 0は、データを分散して書き込むストライピングでアクセスを高速化します。RAID 1は同じデータを複数に書き込むミラーリングで、信頼性を高めます。RAID 5は、ストライピングに加えてパリティも分散記録し、高速化と信頼性の両立を図ります。
| 種類 | 書き方 | 特徴 |
|---|---|---|
| RAID 0 | 分散して書く | 高速化が目的 |
| RAID 1 | 同じデータを書く | 信頼性を高める |
| RAID 5 | 分散+パリティ | 高速と信頼性 |
データを分散して書き込むから速い。でも、分散先のディスクが1台でも壊れたらどうなるんですか。
いい質問ですね。パズルのピースが欠けるように、全体のデータがダメになってしまいます。だから、信頼性を高めるにはRAID 1を使うんです。
RAID 5のパリティについて、聞き手は、コピーを丸ごと保存しているわけではないですよね、と確認します。講師は、パリティは数学の方程式の答えのようなものだと説明します。データAとB、パリティCを別々のディスクに分散すれば、Bのディスクが壊れても、残ったAとCから逆算してBを復元できます。パリティのおかげで、ディスク容量を節約しつつ安全で早いシステムが作れる、という説明です。
(補足:「A+B=C」は分かりやすい例えですが、実際のパリティは足し算ではなく、ビットごとの排他的論理和(XOR)で求めるのが一般的です。WikipediaのRAID 3の説明にも「排他的論理和によるパリティ」とあります。設例として、A=1011(10進で11)、B=0110(同6)なら、C=A XOR B=1101(同13)です。Bが壊れても、A XOR C=0110でBを復元できます。)
(設例:筆者の計算です。2TBのディスク4台なら、使える容量はRAID 0で8TB、RAID 5で6TB(1台分がパリティ)です。また、1台の年間故障率を5%、故障は独立で修理しないと仮定します。2台のRAID 0はどちらかが壊れれば全滅なので1−0.95²=9.75%、2台のRAID 1は両方壊れて初めて失うので0.05²=0.25%です。)
(補足:Wikipediaによると、RAID 5は書き込み時にパリティの作り直しが伴います。RAIDは誤消去やウイルスによる破壊には対応できず、バックアップとは役割が異なる、とも書かれています。)
システム全体の障害対策:信頼性向上
データが無事でも、処理を行うシステムがダウンすればビジネスは止まります。動画は、システム全体の障害対策を、信頼性向上と負荷分散の2つの側面に分けて整理します。まずは信頼性向上です。
デュプレックスシステムは、稼働中の系と待機系を用意し、稼働中の系に障害が発生したら待機系に切り替えて処理を継続する方式です。聞き手の例えは、1人が作業し、もう1人はベンチで待機している状況です。講師は、構築コストを抑えられる利点があると言います。
デュアルシステムは、2系統を同時に稼働させて相互に監視し合う方式で、障害が発生したら該当するシステムを切り離して処理を継続します。聞き手の例えは、2人の担当者が常に同じ計算をして答え合わせをしている状況です。デュプレックスより高い可用性を確保できる一方、当然コストもかかります。
聞き手が「何でもデュアルにすればいいわけではなく、コストとの相談になる」とまとめたとおり、ここはコストと信頼性のトレードオフです。
(補足:Wikipediaの冗長化の項は、デュアルを「同じ処理を2組で行い結果を照合する構成」、デュプレックスを「主系と待機系の構成」とし、待機系はホットスタンバイ(いつでも動作できる状態で待機)とコールドスタンバイに分かれると説明します。JIS Z 8115:2019 の「待機冗長」は、現用のアイテムが利用できないときにだけ冗長なアイテムが有効になる冗長で、デュプレックスの考え方と重なります。IPAのシラバスは主系(現用系)、従系(待機系)という言い方を挙げます。)
(設例:筆者の計算です。可用性は、JIS Z 8115:2019 の「アベイラビリティ」に当たり、「稼働率」とも言います。稼働率90%の系を2系統並べ、どちらかが動けば全体が動き、切り替えは完璧で故障は独立と仮定すると、全体の稼働率は1−(1−0.9)²=0.99、99%です。両方が動かないと止まる直列なら0.9×0.9=0.81、81%です。)
負荷分散:ロードシェアとクラスタリング
もう1つの側面は、アクセス集中に耐えるための負荷分散です。ロードシェアシステムは、複数のコンピューターに処理を分散させて効率と信頼性を高める方式で、各コンピューターはそれぞれ独立して機能します。聞き手の例えは、お客さんの列を複数の窓口で手分けしてさばくイメージです。
クラスタリングは、物理的に独立した複数のコンピューターを、論理的に1台のシステムとして統合する技術です。複数で処理を分担するので、一部の機器が故障しても他の機器で代替でき、システムの停止を防げます。
物理的に複数のものを論理的に1台として扱うって、今日の一番最初に学んだ仮想化の考え方そのものじゃないですか。
素晴らしい気づきですね。その通りです。
聞き手は、仮想化は障害対策のレベルでも生きている、と感心します。講師は、ITインフラを支える技術は、物理的な制約を超える仮想化と、システムを止めないための障害対策の両輪で成り立っている、とまとめます。
(補足:Wikipediaの冗長化の項によると、「クラスタシステム」には、フェイルオーバーできる高可用性クラスタと、負荷を分散する負荷分散クラスタの2つの使い方があります。IPAのシラバスの用語例では、「クラスタ」「ロードシェアリングシステム」「仮想化」は別々の用語として並びます。)
経営の視点:どこまで止めないのか
動画の終盤では、とにかく全部を二重化してデュアルシステムにするのは簡単だが、コストと求められる信頼性のバランスを見極めることが重要、と語られます。絶対に止まらない状態にするには莫大なコストがかかるからです。
そのうえで、どのシステムなら数時間止まっても許容できるのか、というビジネス上の優先順位や、リスクを受け入れる判断こそが、経営視点での最大の障害対策なのかもしれない、と述べられます。動画は最後に、あなたのビジネスでいちばん止まってはいけないシステムはどれか、それはどんな対策で守られているべきか、と問いかけて終わります。
まとめ
この動画の流れ
- 仮想化:1台を複数台に、複数台を1台に。ホスト型、ハイパーバイザー型、コンテナ型があり、コンテナ型はカーネルを共有する。
- HDDと拠点:ミラーリングはHDDの二重化、デュプレクシングはカードも二重化。レプリケーションの同期方式は安全だが遅延が出る。
- RAID:RAID 0は高速化、RAID 1は同じデータで信頼性向上、RAID 5はパリティで両立を図る。
- システム全体:信頼性向上はデュプレックスとデュアル、負荷分散はロードシェアとクラスタリング。
- 経営の視点:コストと信頼性のバランス、止められる範囲の優先順位を決める。
動画で聞く
続けて読む
- 第28回 ネットワーク犯罪の手口と対策経営情報システム・情報セキュリティ 005
- 第29回 ファイアウォール・IDS・SIEMの違いが丸わかり!ネットワーク防御の全貌経営情報システム・情報セキュリティ 006
- 第30回 フル・差分・増分バックアップの復旧時間経営情報システム・情報セキュリティ 007
- 第31回 システムの性能・信頼性評価経営情報システム・情報セキュリティ 008
- 第32回 ガランティ型とベストエフォート型SLAの違いとは?非機能要求を完全解説経営情報システム・情報セキュリティ 009
- 第34回 ソフトウェア開発の工程と手法経営情報システム・システム開発 001
- 第35回 4つの開発モデルとビジネスの生存戦略経営情報システム・システム開発 002
- 第36回 スクラム・XP・DevOpsの違いが5分でわかる!アジャイル開発を徹底図解経営情報システム・システム開発 003
- 第37回 単体→結合→システム→受入→運用 テスト工程を図で一発攻略経営情報システム・システム開発 004
- 第38回 FP法とCOCOMOはどう使い分ける?開発見積り6手法を完全比較経営情報システム・システム開発 005
- 経営情報システムのWebテキスト一覧同じ科目の48本を一覧・検索
- 中小企業診断士 1次の講座トップ科目別プレイリスト・人気の講義・ファイナルペーパー

