冗長化とは?バックアップ・二重化・ミラーリングとの違いやサーバー構成の種類をわかりやすく図解
システムやサーバーの障害は、いうまでもなくサービスの稼働停止に直結する一大事です。ダウンタイムの発生はユーザー満足度の低下はもちろんのこと、企業体としての信頼も損なわれ、ひいては事業利益にもネガティブな影響が波及しかねません。
そのため、不具合発生時にもシステムやサーバーが止まらないよう、あらかじめの予防策を講じる必要があります。
その対策のひとつが、システムや設備の予備を用意して、高可用性を担保する「冗長化」です。本記事では、メリット・デメリットやシステム構成要件など、冗長化の概要をわかりやすく解説していきます。
POINT
- 冗長化とは、コンピューターやデジタル機器、システムの故障や障害発生に備え、予備システムや設備を用意しておくこと
- 冗長化には、迅速なシステム復旧のほか、サーバーの負荷分散や緊急対応の頻度減少などのメリットがある
- 一方、コストや運用工数の増大がデメリットとして懸念される
- 冗長化には複数の構成方法があり、それぞれに一長一短があるため、サービスや業態にあわせて構成を決定すべき
冗長化とは
冗長化(じょうちょうか)とは、わかりやすく説明すると「コンピューターやデジタル機器、システムの故障や障害の発生に備え、予備システムや設備を用意しておくこと」です。
主にサーバーやストレージ、ネットワークを対象に講じられる施策で、「ひとつの要素が故障しても全体が停止しないように、同じ機能を持つ複数の要素を配置する設計手法」とも言い換えられます。
| サーバーの冗長化 |
|
|---|---|
| ストレージの冗長化 |
|
| ネットワークの冗長化 |
|
本来、冗長とは「無駄が多く、不必要に長い」を意味する言葉です。しかしIT分野においては、「アクシデントに備えて予備を用意しておくこと」を指します。特に病院や金融設備、生活インフラ、鉄道・自動車のブレーキなど、一瞬でも停止が許されない分野において、冗長化は不可欠な施策となります。
つまり、冗長化の主な目的は次の点に集約されます。
- 高可用性(HA):システムやサービスを常に稼働状態に保つ
- フォールトトレランス:故障が発生してもサービスを継続できる耐障害性を高める
- 継続性:サービスが停止するダウンタイムから生じる損失を防ぐ
冗長化と二重化の違い
「冗長化」と似た概念に「二重化」がありますが、両者は対象とする範囲や目的が異なります。
- 冗長化:システム全体の信頼性や可用性を高めるために、同じ機能を持つ複数の要素を設けて障害時に備える
- 二重化:特定の機能や機器を2つ用意して、主にひとつの障害に備える
たとえば、サーバーの二重化とは、2台のサーバーを用意し、片方が故障した際にもう一方で運用を続けることを指しますが、これは冗長化の一部にあたります。一方、冗長化とは、これに加えてデータのミラーリングやネットワークの冗長化など、システム全体で障害に備える広範な取り組みを指します。
つまり、二重化は冗長化の一形態で、冗長化はより包括的な概念といえ、システム全体の信頼性を向上させるための幅広い手法を含んでいます。
次に、こちらも冗長化と類似する言葉である、「バックアップ」「ミラーリング」との違いを見ていきます。
冗長化とバックアップの違い
冗長化とバックアップは、いずれもシステムの信頼性を高めるための手法ですが、その目的と役割は明確に異なります。
バックアップとは、1週間ごと、あるいは1ヶ月ごとのように期間を決めて定期的にデータを複製し、万が一の障害やデータ損失が起きた際にデータを復元するための手法です。ウイルス感染など、何らかの理由でデータを消失してしまっても、バックアップを取った日付のデータから復元が可能になります。
一方、冗長化はシステムトラブルが発生した場合に備え、同一性能のデータを備える「予備」「代替」を用意することであり、バックアップとはまったく別のものです。
| 冗長化 | バックアップ | |
|---|---|---|
| 目的 | 障害発生時のサービス継続 | データの保護と復元 |
| 実行タイミング | 常時稼働システムのリアルタイム対応 | 定期的なデータコピー |
| 利用ケース | サーバー、ネットワークの冗長化 など | システム障害時のリストア など |
冗長化とミラーリングの違い
冗長化とミラーリングも似ているようで異なる概念です。
ミラーリングとは、データ更新時にリアルタイムで複数の場所に同一のデータを保存する技術です。ディスク障害やデータ破損が発生した場合でも、ほかのハードディスクにデータが保持されているため、データ損失を防ぎ業務継続を可能にします。ハードディスクを二重化にすることから「ディスク二重化」と呼ばれることもあります。
一方、冗長化は、ミラーリングを含む広範な概念であり、システム全体の機能やサービスの継続性を維持するために、複数の要素(サーバーやネットワーク、データなど)を冗長に設計することを指します。
以下のように整理すると、その違いは明確になります。
- ミラーリング:データの保護が主目的
- 冗長化:システム全体の稼働を継続するための手段
冗長化のメリット
冗長化の導入には、システムの信頼性向上や業務効率化など、多くのメリットがあります。ここでは、代表的なメリットを3つ紹介します。
- リストアの時間なしでシステムを再開できる
- サーバーの負荷分散(ロードバランシング)になる
- 緊急対応が少なくなる
リストアの時間なしでシステムを再開できる
リストアとは、予備システムにバックアップされたデータを本番環境に反映することです。「バックアップの適用」ともいわれます。しかし、バックアップはデータ紛失を防ぐことを目的に講じられる施策であり、データはすぐに使用できる状態にありません。そのため復旧作業には時間を要します。
一方、冗長化されたシステムでは、障害が発生してもリアルタイムで自動的にバックアップサーバーや機器に切り替わるため、リストアの時間が必要ありません。システムやサービスが停止した局面においても速やかに再開されます。
これは特に、システムの停止によって発生するビジネス損失を避けたい場合に有効です。たとえば、Eコマースサイトでは数分間のダウンタイムでも大きな売上損失を招きかねないため、冗長化による即時復旧は大きなメリットになります。
サーバーの負荷分散(ロードバランシング)になる
サーバーを冗長化して複数配置しておくと、サーバー間で負荷を分散できます。これにより、アクセス集中時や、DDoS攻撃などサイバー攻撃を受けた際の負荷も分散でき、システム全体のパフォーマンスも向上します。
たとえば、トラフィックが集中するWebサービスにおいて、冗長化によって複数のサーバーでアクセスを分散し、応答時間を短縮することも可能です。
緊急対応が少なくなる
火災やテロ、地震など緊急事態発生時の対策としても冗長化は有効です。メインシステムに問題が生じた場合も、メインと同一の性能やデータを有する予備があれば、システムやサーバーの停止を回避できます。
これにより、システム障害が発生した場合の緊急対応の頻度が減少。エンジニアの負荷も軽減されます。
冗長化のデメリット
メリットの一方、冗長化において避けられない課題も懸念されています。
- コストの増加
- システムの複雑化
- メンテナンスの負担増加
1つ目のデメリットはコストの問題です。本番機と同じ性能の予備システムを用意することになるため、発生する費用は単純計算で倍になります。サーバーの保守・運用を外部に依頼している場合はランニングコストも倍増するなど、コスト面でのデメリットは重くのしかかります。
次に、冗長化によってシステム構成が複雑になる点も課題です。複数のサーバーやネットワーク機器が連携して動作するため、管理やメンテナンスは難しくなります。トラブルシューティングの時間が増えたり、システムの更新が難しくなったりする可能性もあるため、特に小規模なシステムの場合などでは、必要以上に複雑な構成は避けたほうがよいでしょう。
さらに、冗長化されたシステムでは、複数の機器やソフトウェアが常に稼働しているため、それぞれのメンテナンスが必要でになります。これは、すべてのサーバーやネットワーク機器に対して定期的なアップデートやモニタリングが求められるということです。これらに伴う工数の増加が、エンジニアの負担になることもあります。
冗長化サーバーのシステム構成
サーバーやネットワークを冗長化する、代表的な4つの構成方法を見ていきます。
| メリット | デメリット | |
|---|---|---|
| アクティブ・アクティブ構成 | サーバーへの負荷分散ができる | 導入コスト・ランニングコストが高くなる |
| アクティブ・スタンバイ構成 | アクシデント時にも即座の切り替えが可能(ホットスタンバイ)、運用コストを抑えられる(コールドスタンバイ) | 予備サーバーの待機コストがかかる |
| マスター・スレーブ構成 | 運用コストを抑えられる | マスター・スレープ切り替え時にタイムラグが発生する |
| マルチマスター構成 | すべてのサーバーで書き込み処理が可能 | データの同期が上手くいかなかった場合の整合性が取りにくい |
いずれも一長一短があるため、サービスや業態にあわせて構成を決定する必要があります。
アクティブ・アクティブ構成
アクティブ・アクティブ構成は、メインシステムと予備をすべて稼働させる構成です。平常時はサーバーへの負荷分散ができるうえに、予備が常に稼働している状態であるため、アクシデント発生時でも迅速な切り替えが可能です。
反面、常時システムを複数稼働することになるため、コスト面でのデメリットは避けられません。なお、アクシデント発生時には平常時に行われていた負荷分散が機能しなくなる点にも注意が必要です。
アクティブ・スタンバイ構成
アクティブ・スタンバイ構成は、複数のシステムを用意し、そのうちいくつかを稼働させておく構成です。具体的には、アクシデント発生時のために予備のシステムを待機させておく運用となり、稼働しているメインシステムに異常が発生したら、待機中のものに切り替えて稼働を継続します。
一般的に、待機させているシステムはスタンバイ状態でもコストが発生します。待機システムの数が増えるほどにコストが上昇する点がデメリットになります。
なお、アクティブ・スタンバイ構成は、待機させておくシステムの電源が入っているかどうかによって、「ホットスタンバイ」と「コールドスタンバイ」の2種類に分類されます。
ホットスタンバイ
ホットスタンバイは、平常時でも待機システムの電源が入っており、メインシステムとのデータ同期が実行されている状態です。そのためアクシデント発生時でも速やかな切り替えが可能で、平常時と変わらずシステムの稼働を継続できます。
コールドスタンバイ
コールドスタンバイは、平常時には待機システム・設備の電源が入っていない状態です。データの同期も実行されていないため、アクシデント発生時の切り替えには時間を要します。一方、待機中に電源が入っていないことから、その間のコストはホットスタンバイよりも軽減されます。
マスター・スレーブ構成
マスター・スレーブ構成は、複数用意したシステムを連携して稼働させるにあたり、そのうちのひとつに管理・制御役(マスター機)を割り当て、残りをマスター機の管理・制御下で動作する「スレーブ」に役割分担する構成です。
主にデータベースの冗長化で用いられる構成で、平常時はマスターのみを運用し、スレーブはマスターのデータ複製(バックアップ)を行います。
スレーブはデータの読み込みのみが可能で、書き込みはできません。マスターにアクシデントが発生した際は、スレーブのいずれかをマスターに昇格してシステム稼働を継続します。この切り替えにはタイムラグが生じるため、その間システムやサービスの提供が停止する点がデメリットです。
マルチマスター構成
マルチマスター構成は、前項のマスター・スレーブ構成のような役割分担はなされず、すべてのシステムをマスターとする構成です。すべてのシステムで書き込みも可能となり、切り替え時のタイムラグも発生しないため、アクシデント発生時でも停止することなく稼働できます。
ただし、どのシステムからも書き込みができるがゆえに、同期に不具合が生じるとデータの整合性がとれなくなる可能性があります。マルチマスター構成には、整合性を保つための仕組み作りも不可欠です。
冗長化のための機能・ソフトウェアサービス
冗長化を構成するための代表的な機能やサービスには次のようなものがあります。
- RAID
- DRBD
- 仮想サーバーやクラウドシステムの冗長化
RAID
RAID(Redundant Arrays of Inexpensive Disks)は、複数のハードディスクを仮想的に1つのディスクとして認識・表示させ、まとめて運用・管理・制御する技術です。
RAIDは1台で「アクティブ・スタンバイ構成」を完結できる仕組みになっており、ハードディスク故障時の復旧・処理の高速化を可能にします。
DRBD
DRBD(Distributed Replicated Block Device)は、TCP/IPネットワークを介してリアルタイムに複数サーバーをミラーリングできる、オープンソースソフトウェアです。無料で利用できるため、コストを面の大きなアドバンテージがあります。
仮想サーバーやクラウドシステムの冗長化
VMWareやGoogle Cloud(GCP)などの仮想サーバーやクラウドシステムを利用して、システムの冗長性を確保することも可能です。これらのサービスでは、物理サーバーと合わせて仮想サーバーを複数構築して冗長性を担保します。
クラウドサービスであるため、物理サーバーの購入が必要なく、DRBDと同じく導入コストを抑えられる点がメリットです。
このように、冗長化を構成するには、サーバーやクラウドに関する知見は欠かせないものです。ネットワークエンジニアとしての活躍を目指している方は、冗長化についての知識を深めておきましょう。
- 冗長化とは、コンピューターやデジタル機器、システムの故障や障害の発生に備え、予備システムや設備を用意しておくこと
- 病院や金融設備、生活インフラなど、一瞬でも停止が許されない分野においては、冗長化は不可欠な施策となる
- バックアップは、1週間ごと・1ヶ月ごとのように期間を決めて定期的にデータをコピーし保存しておくことであり、システムの「予備」「代替」を用意する冗長化とは明確に異なる
- ミラーリングは、データ更新時にリアルタイムで複数の場所に同一のデータを保存することであり、冗長化の限定的な範囲を担うもの
- 冗長化は迅速なシステム復旧のほか、サーバーの負荷分散や緊急対応の頻度減少などのメリットがある
- 一方、コストや運用工数の増大がデメリットとして懸念される
- 冗長化には複数の構成方法があり、それぞれに一長一短があるため、サービスや業態にあわせて構成を決定する必要がある
- 冗長化を構成するための代表的な機能やサービスには「RAID」「DRBD」、あるいは仮想サーバーやクラウドシステムを利用して、システムの冗長性を確保する方法がある

