レプリケーションとは、「複製(レプリカ)」を作る機能のことです。
さて、突然ですが質問です。
災害などによるシステム障害でサーバーがダウンしたとき、復旧まであなたはどのくらい業務を止められますか?
あなたは今、サーバーへのアクセスに時間がかかり、パフォーマンス低下に陥っていませんか?
災害対策に『遠隔地にバックアップしているから大丈夫!』とは言い切れません。
確かに、データを損失した場合は、バックアップデータから復旧させればいいのですが、サーバーがダウンした場合は、システムの復旧に数時間から数日かかります。システムを復旧させてから、データを復旧し、やっと稼働できるのです。
レプリケーションを利用すれば、災害などによるシステム障害があっても短時間で業務を継続させることができるでしょう。『業務停止時間ほぼゼロ』も夢ではありません。
また、レプリケーションを利用した複製サーバーにアクセスを分散させることで、負荷が軽減され全体的なパフォーマンス向上が期待できます。
では、このレプリケーション、実際にどうやって利用すればいいのでしょうか。
概要をはじめ、バックアップとの違いやその仕組み、注意点なども詳しくご案内します。レプリケーションがあなたの抱えている問題を解消し、状況に応じた利用ができるようになるでしょう。
1. レプリケーションとは
レプリケーションとは、「複製(レプリカ)」を作る機能のことです。
同じシステム環境のサーバー間で、通信ネットワークを介した転送によってほぼリアルタイムに同期を行い、同じデータを複数存在する状態にします。この複製元を「マスタ」、「プライマリー」などと呼ばれ、複製先を「レプリカ」、「セカンダリ」などと呼ばれます。構成例やレプリケーション機能の解説などでよく使われますので、事前知識として覚えておきましょう。
基本的に、レプリカの設置個所に制限はありません。遠隔地(例えば、国外にデータセンターのあるクラウドや、国内の本拠点とは離れた地域など)への設置も可能です。
1-1. レプリケーションを利用する目的2つ
レプリケーションを利用する目的として、主に2つ挙げられます。
① 業務継続を目的とした災害対策の為に利用
② パフォーマンス向上を目的とした負荷分散の為に利用
以下で詳細をご説明します。
① 業務継続を目的とした災害対策の為に利用
本番(稼働)サーバーとは別にその複製サーバーを作成しておくことで、システム障害が発生してもサーバーの切替えにより、業務継続が可能になります。例えば、異なった地域にある支店やクラウドなどに、複製サーバーを待機させておけば、災害時に稼働サーバーを切替えるだけで復旧可能となり、災害対策になります。
バックアップデータを遠隔地保管することでも、災害対策は可能ですが、業務継続の観点からみるとシステムを復旧させた後にバックアップデータの復旧(リストア)が必要になりますので、レプリケーションに比べ、明らかに時間がかかり、業務を止める必要があります。
レプリケーションでは、待機サーバーにほぼリアルタイムのデータが複製されているので、『データのリストア』も不要です。システム障害において、『業務停止時間ほぼゼロ』での事業継続も可能でしょう。
② パフォーマンス向上を目的とした負荷分散の為に利用
システムへのアクセスを分散させることで、処理速度低下防止になり、パフォーマンス向上が期待できます。
特定のサーバーやシステムにアクセスが集中し、過度な負荷がかかり続けると、処理速度の低下はおろか、システムダウンにつながり、業務が止まってしまいます。
例えば、システム管理者はさまざまな場面でレポートを確認することがあります。基本、本番サーバーへのアクセスはユーザーのみとし、システム管理者は、参照用として複製先のサーバーにアクセスし、更新が必要な場合に本番サーバーへアクセスすれば、処理速度も安定し、作業効率が上がります。
また、バックアップデータを取得するにもサーバーに負荷がかかります。回避策として、週末や夜間といった比較的業務に影響のない時間帯にバックアップを行うなど調整されていることでしょう。複製先のサーバーからバックアップを取得することでも、稼働サーバーの負荷を軽減できます。
その為、これらの負荷分散により全体的なパフォーマンス向上につながります。
このレプリケーション機能は、バックアップソフトや、ストレージ・ハードウェアの付加機能(例:Windows ServerのDFS(Distributed File System)やAmazon S3、または、MySQLやPostgre SQLなど)に備わっています。
1-2. レプリケーションの メリット と デメリット
レプリケーションの主なメリットとデメリットをご紹介します。
メリット | 1.システムを止めずに業務継続を可能にする |
2.システムへの負荷分散ができる | |
3.サーバー移行の時間短縮になる | |
デメリット | 1.過去の状態に戻せない |
2.初期費用が高額になりやすい | |
3.ネットワークに負荷がかかる |
メリット1:システムを止めずに業務継続を可能にする
複製元(稼働系)から複製先(待機系)にリアルタイムにデータを複製することで、稼働系にシステム障害が起こっても、待機系へ切替えることで復旧が可能となり、ダウンタイム(システムが停止している時間)を最小限に抑えられます。
メリット2:システムへの負荷分散ができる
例えば、データベースの規模が大きかったり、アクセス頻度が高いといった場合、サーバーに過度の負荷がかかり、処理ができずサーバーがダウンする可能性がありますが、複製側のサーバーを参照用にしたり、データ解析用途では複製側のサーバーで処理を行うなど、アクセスを分散させることによって負荷を軽減し、全体のパフォーマンスを向上させることができます。
メリット3:サーバー移行の時間短縮になる
サーバーの移行でも、できるだけ業務を止めずに簡単に済ませたいものです。レプリケーションを利用することで、システムを止めずにデータを複製することができ、大幅な時間短縮が見込めます。
参考:サーバーリプレースとは?安全・確実に実現するためのポイントまとめ
デメリット1:過去の状態に戻せない
複製元と複製先ではほぼリアルタイムに同期が行われるため、過去の状態に戻ることはできません。バックアップのように過去の状態を保持することはないため、サイバー攻撃や削除したデータの復旧などを目的としたデータ保護には不向きです。
対応策:データ保護の観点からバックアップ、業務継続の観点からはレプリケーションを、災害(天災・人災)対策としてバックアップとレプリケーションの併用をお勧めします。
デメリット2:初期費用が高額になりやすい
例えばハードウェアによるレプリケーションの複製先は複製元と同じシステム環境、またはそれに相応するシステム環境が必要です。その為、サーバーの準備や構築といった費用が発生する場合があり、初期費用が高額になりやすいと言えます。
対応策:ソフトウェア利用なら、サーバー対サーバーのデータ複製なので、サーバーに内蔵のディスクドライブをストレージとして活用し、小規模なシステムでもコスト効率良くシステムを構築できます。導入作業も比較的単純で、手軽に利用できます。しかし、仮想環境やクラウド利用では、専門知識が必要になりますので、人材が確保できない場合は、ベンダーやシステムインテグレーターへの相談をお勧めします。
デメリット3:ネットワークに負荷がかかる
レプリケーションによるデータ転送はネットワークを介して行いますので、当然のことながら、負荷がかかります。ネットワークやシステムに高い負荷をかけ続けることは、安定的なインフラ運用がでず業務に支障をきたす可能性があります。
対応策:回線の確保や、時間帯に合わせた*帯域の調整をお勧めします。
*帯域の調整;ソフトウェアでは『帯域制御』機能が備わっている場合があります。ハードウェアの場合は、同期・非同期レプリケーションで調整することができるでしょう。同期・非同期レプリケーションについては2章でご説明します。
1-3. レプリケーションの向きには『一方向』と『双方向』がある
レプリケーションの方向に、一方向と双方向の2種類があります。片側のハードウェア情報から、もう一方のハードウェアにだけ同期することを「一方向レプリケーション」と言い、2基のハードウェア間を互いに同期することを「双方向レプリケーション」と言います。
1-3-1. 一方向レプリケーション
一方向レプリケーションは、片方向、単方向と呼ばれることもあります。
文字通り一方向にだけレプリケーションが行われるため、複製元(稼働系)で読み書きを行います。
複製元で更新された情報がそのまま複製先(待機系)に複製されますので、複製先ではデータの参照は可能ですが更新は行いません。
データの更新は複製元のみで行うため、データ整合性不具合のリスクが低く、一般的に取り入れている方法です。 本記事では一方向レプリケーションを主にご説明していきます。
1-3-2. 双方向レプリケーション
双方向レプリケーションでは互いに複製元であり、複製先でもある、となります。一般的に、2基の稼働(アクティブ)サーバー間を常に同期しておき、どちらのサーバーでも同じデータにアクセス・更新できる状態です。システム障害時の業務継続は勿論ですが、平常時からの負荷分散に非常に効果的です。
しかし、双方向レプリケーションには注意が必要です。
例えば、OneDriveなどのファイル共有をイメージしていただくと良いでしょう。
同じ場所を同時に異なった編集を行った場合、競合が発生し更新できません。
同様に、双方向レプリケーションの場合も、それぞれのデータベースで同じレコードを更新すると、レプリケーションを行った際にデータ更新の競合が発生し、データの整合性がなくなり、レプリケーションもストップしてしまいます。
双方向レプリケーションは、負荷分散によるパフォーマンス向上効果を高く期待できますが、データの不整合やレプリケーションエラーのリスクが高く、運用や設定で対処できないこともあるため、知識のある専任担当者が確保できない場合は、あまりお勧めできません。
データ整合性不具合のリスクが低い、一方向レプリケーションをお勧めいたします。
1-4. 【2つのタイミング】同期レプリケーション と 非同期レプリケーション
レプリケーションでは、複製するデータを転送するタイミングが2種類あります。
「同期レプリケーション」と「非同期レプリケーション」です。
同期レプリケーションと非同期レプリケーションの最も大きな違いは、複製先(スタンバイサーバー)からの応答を待ってから、複製元(プライマリーサーバー)の処理を完了するか、しないか、です。
それぞれの仕組みとお勧めケースを説明していきます。
1-4-1. 同期レプリケーションの仕組みとお勧めケース
◆同期レプリケーションの仕組み
同期レプリケーションでは、複製元と先で常に同一のデータを保持します。
同一データ書き込み保証の為、セカンダリ(サーバー/ストレージ)に複製処理が反映された信号を受け取ってから、プライマリー(サーバー/ストレージ)は処理を完了します。
メリット:データ転送の遅延がないため、セカンダリ(サーバー/ストレージ)のデータ最新性が向上します。つまり、プライマリーとセカンダリのデータが常に同一となり、最新の状態への復旧が可能になります。
デメリット:『③応答時間』も処理時間に含まれる為、①COMMITから ④OK(完了)の処理完了までの待ち時間が長くなり、(※参考)あまりにも離れたサイトとの間では機能の利用が難しい場合があります。
(※参考)処理完了までの待ち時間を短くするには、ネットワーク帯域を大きくする必要がります。その場合、ダークファイバ(電気通信事業者などが敷設している光ファイバーの一種。主に法人向け専用線で使用される)などを利用する為、2基間の距離は、一般的におよそ100Km程度と言われます。詳しくは機能提供元のサポートでご確認下さい。
◆お勧めケース
業務を止められない場合や、比較的近距離にレプリケーションする場合にお勧めです。
1-4-2. 非同期レプリケーションの仕組みとお勧めケース
◆非同期レプリケーションの仕組み
非同期レプリケーションでは、複製元と先でのデータ状況にタイムラグが生じます。
なぜなら、セカンダリからの応答を待つことなく、COMMITしたサーバーあるいはクライアントにOK(完了)を返し、処理完了とするからです。
一般的に、非同期レプリケーションでは、任意のタイミング、もしくは、一定間隔でプライマリーからセカンダリにデータを送り複製します。その為、タイミングによっては、障害が発生した際に最後にデータ更新された情報がセカンダリに反映されていない場合があります。
メリット:セカンダリからの応答を待たずにプライマリー側で処理を完了するので、レスポンスが早いです。よって、WAN利用の転送が可能なため、距離制限のない遠隔地への転送が可能です。
デメリット:障害時に、セカンダリの情報が最新の状態とは限りません。
プライマリーのデータが更新された直後にダウンすると、最新データが失われる可能性があります。
◆お勧めケース
WAN経由で遠隔地へのレプリケーションを優先させたい場合にお勧めです。
2. ミラーリングとバックアップとレプリケーションの違い
さて、混同されやすいミラーリングとバックアップは、レプリケーションとどのように異なるのでしょうか。それぞれの特徴からその違いを比較します。
➤ ミラーリングの特徴とレプリケーションとの違い
まず、ミラーリングは複数のサーバーやストレージへのデータ同時保存や、ディスプレイ表示することを言います。
ストレージのミラーリングでは、一般的に同一システム内でミラーリング元と先、両方同時に書き込みが行われます。単一ドライブと比べて書き込み時間が長くなる傾向にあり、実際に使用できるデータ保存領域は構成するハードディスクの合計容量2分の1以下となる特徴があります。
主にHDD障害対策に利用され、一方の(※注)HDDに障害が起こっても、もう一方のHDDへ切替えることができるため、データ損失やシステムを停止させることなく業務務継続を可能にします。
(※注)ただし、ミラーリング元と先のHDD導入時期は殆どの場合、同時期の為、老朽化のタイミングも同じであったり、ミラーリング先のHDDが故障していても気付きにくいことがありますので、注意が必要です。
また、Webサイトのミラーリングでは、サーバーをミラーリングして公開することで、障害やメンテナンス時の停止を回避し、アクセス集中も分散させることができるため、インターネット切断対策としてWebサイトの運営に導入されることが多いです。
よって、両方のデータが上書きされていくことは共通ですが、大きな違いとしては、ミラーリングは同一システム内で同時に書き込みすることに対し、レプリケーションでは独立したシステム環境へ、同期によってデータが上書き(複製)されることです。
➤ バックアップの特徴とレプリケーションとの違い
次に、バックアップは、別の記憶媒体に差分、または増分データを取得し、過去の任意の時期の状態を複数保持することが可能です。その為、データ破損や誤操作による削除、サイバー攻撃による損失があったとしても、バックアップデータから、過去のデータを復元することで業務継続を可能とし、主にデータ保護が目的となります。
例えば、夜間に1日1回のバックアップを行い、常に3日間の(3世代:3つのバックアップ)データが保管されているとします。1日前にデータが破損していることに今日判明しても、2日前のデータが正常だった場合、そこからデータを復旧させることが可能です。
レプリケーションとの違いは、取得データの鮮度とシステム障害時の業務停止時間の長さです。
バックアップのタイミングによって、数時間以上も前の更新データが、最新のバックアップデータになり得ますが、先述の通り過去の状態のデータを複数保持することが可能です。
レプリケーションの場合は、プライマリーのデータがセカンダリに上書き(複製)されていきますので、過去のデータは存在しません。
また、バックアップデータをテープに保存し、物理的に遠隔地へ保管したり、クラウドへバックアップデータを保存したりすることで、災害対策も可能ですが、バックアップデータを復元(リストア)する必要があり、更には、システムを正常稼働させる必要がある為、災害などによるシステム障害の場合は、数時間から数日の業務停止を余儀なくされます。
その反面、レプリケーションの場合は、稼働システムを待機システムに切替えるだけで良く、自動的に切替えるシステム(フェイルオーバー)であれば、停止時間ほぼゼロで業務継続が可能になります。
➤ ミラーリングとバックアップとレプリケーションの違いまとめ
以上のことから、代表的な効果を視覚的にまとめると下図のようになります。
レプリケーションには災害対策や業務継続性が、
ミラーリングでは、負荷分散やデータの鮮度が、
バックアップでは、データの長期保管や世代管理が最大の強みとなります。
その為、目的にあった手法を選び、場合によってはレプリケーションとバックアップ、ミラーリングとバックアップといったように、複数の手法を組み合わせることであらゆるリスク対策効果を得ることができるでしょう。
3. レプリケーションの効果から見る3つのお勧めケース
それでは、レプリケーションの効果からお勧めのケース3つをご紹介していきます。
お勧めケース1. 業務を止めない災害対策がしたい
業務を止めない災害対策がしたい場合にお勧めです。
『1章1-1レプリケーションを利用する目的2つ』にも記述しましたが、ただ災害対策ということであれば、バックアップデータを遠隔地やクラウドに保管することで解決できるでしょう。システム復旧後にリストアをすれば、業務開始が可能になります。
しかし、業種によっては、システム復旧からリストア完了までのダウンタイムが、致命的になることもあります。例えば、24時間の通販サイト運営会社ではどうでしょうか。アクセス集中によるサーバーダウンが生じた場合、業務停止時間がダイレクトに営業損失につながります。
レプリケーションでは複製先にシステムを切替えるだけで業務が継続でき、たとえ切替え時間が必要であったとしても業務停止も僅かに済み、営業損失も最低限に抑えられ、更には、利用者からの印象を落とすこともないでしょう。
この例場合、わざわざ遠隔地に複製する必要はありませんが、複製サーバーを遠隔地、またはクラウドに設置することは、自然災害などによるシステム障害にも効果的です。
お勧めケース2. アクセス集中のストレス回避で業務パフォーマンスを向上させたい
サーバーへのアクセスをスムーズにし、業務パフォーマンスを向上させたい場合にお勧めです。
本番(マスタ/プライマリー)サーバーにアクセスが集中すると、負荷がかかり、レスポンスが遅く業務全体のパフォーマンスが悪化します。
例えば、『1章1-1レプリケーションを利用する目的2つ』にもあるように、システム管理者のデータ解析やレポート参照などは複製(レプリカ/セカンダリ)サーバーにアクセスし、更新が必要な時だけ本番(マスタ/プライマリー)サーバーにアクセスしたり、バックアップは複製(レプリカ)サーバーから取得したりと、負荷を分散させることで、それぞれのパフォーマンスが維持され、全体的な業務効率へつなげることができるでしょう。
お勧めケース3. 効率的にシステム移行やサーバーのリプレースがしたい
システム移行やサーバーのリプレースの際、管理者の手を煩わせることなくデータ移行をしたい場合にお勧めです。
一般的に、移行には十分な計画にのっとり、新しいシステムやサーバーを構築し、動作テスト、並行運用を経て、確実に移行されたことを確認したうえで初めて切替えとなります。
移行中は稼働システムやサーバーを停止する必要がある為、安全かつ、少しでも停止時間を抑えるために、レプリケーションによるデータ移行をお勧めします。
移行ツールを利用することも可能ですが、レプリケーションソフトを利用すれば、レプリケーションの進み具合がリアルタイムかつ視覚的に把握できるほか、静止点の確保も容易となり、高速にデータが複製でき、業務継続や管理者の負荷軽減が可能となるでしょう。
ただし、レプリケーションによるデータ移行においても、手戻りやデータの損失など、何かあった場合のために、バックアップを取得しておくことも強くお勧めします。
※効果事例を、本ブログ記事『ファイルサーバー レプリケーションの7つの疑問と解決方法を解説』にある『5-3. 大容量(3.5TB)ファイルサーバーのクラウド切り替えをわずか10分で実現』でご紹介しています。
4. 災害対策に最適、お勧めのレプリケーション
さて、レプリケーションを利用すれば、遠隔地など別のシステム環境にほぼリアルタイムでデータを複製していくため、障害発生時にシステムを切替えるだけで、代替運用が可能になります。その為、『業務継続を目的とした災害対策』におすすめです。
このレプリケーション機能は、ストレージ・ハードウェアの付加機能などに備わっていますが、1章1-2のデメリットでもお伝えしたように、複製元と同じまたは同等のシステム環境を準備する必要がある為、初期費用が高額になります。また、無償のレプリケーションソフトウェアでは、ライセンスの制限や、機能制限によって、十分な効果を得られないことがあります。
より効果的に、より効率的にレプリケーションを行うには、有償のレプリケーションソフトウェアがお勧めです。何故なら、あらゆるニーズに応えるレプリケーションの仕組みが特化されているからです。
4-1. 2つの『簡単』、『手間いらず』のデータ保護なら Arcserve Replication
Arcserve Replicationソフトは、導入も簡単で、手間をかけずにデータ保護が行えます。
➤簡単1:後付けで簡単導入
既に稼働している環境内に、Arcserve Replicationの小さなプログラムをインストールするだけで利用が可能です。基本的に、ガイダンスに従って進めていくだけです。インストール時の再起動は不要なため、今稼働しているサーバーを停止することなく導入できます。
➤簡単2:簡単切替え運用でサーバーの可用性を向上
本番機(マスタサーバー)に障害が発生したら、複製先(レプリカサーバー)に接続先を変更するだけで業務が継続できます。
マスタサーバ―の修理後、レプリカサーバーでの代替運用から元の運用に『切戻し』を行います。
その際、修理後のマスタサーバ―への逆向きレプリケーションによって、代替運用時とデータを同一にすることで復旧完了となり、本番機での運用を再開し、次回の障害に備えてマスタサーバ―からレプリカサーバーへのレプリケーションも再開します。
代替運用時も復旧後の本番運用への変更も、ユーザーはアクセス先を変更するだけでサービスが利用できます。よって、管理者は修理やリカバリに集中できます。
➤手間いらずの自動データ保護
最初に設定を行えば、その後は自動的にデータを複製する為、管理者の手を煩わせません。
設定もビジュアルな管理画面で、ソフトウェアの難しい操作がわからなくても、対話形式で項目を選択していくことで、必要な操作が完了できます。
また、回線障害時は一時的にデータをためておく領域(スプール領域)に保管され、回線障害が解消した際に、スプール領域のデータも転送されるため、送り漏れや送り直しは生じません。
4-2. 切替えも自動で管理者の負荷をもっと軽減 Arcserve High Availability
さらに、Arcserve Replicationの上位製品Arcserve High Availabilityなら切替え切戻しも自動でできるので管理者の負荷を軽減し、ユーザーは切替わったことすら気付きません。
Arcserve High Availabilityでは、レプリカサーバーはマスタサーバ―を常時モニタリングし、マスタサーバ―の障害を察知したら、自動で切替え、更には復旧した際にも、自動で切戻す機能が備わっています。
その為、管理者は切替え作業ミスから解放され、切替え時間も最小限で業務継続が可能になります。
もちろん、管理者判断に基づいたワンクリック切替えも可能です。
本製品に関する詳しい説明などご資料公開中です。ご興味があればぜひご参照ください。
Arcserve Replication and HA 18.0 ご紹介プレゼンテーションArcserve Replication and High Availability – カタログ
動画でもReplicationの様子をご覧いただけますので、併せてご参照ください。
※おすすめ本ブログ記事:ファイルサーバー レプリケーションの7つの疑問と解決方法を解説
まとめ
レプリケーションとは、「複製(レプリカ)」を作る事であり、
・システムを止めず業務継続を可能にし
・システムへの負荷分散ができ
・サーバー移行の時間短縮ができる
機能です。
しかし、
・データを過去の状態に戻すことはできず、削除や破損したデータを元に戻すことはできません
・初期費用が高額になりやすく
・ネットワークに負荷がかかります
ので、この点を注意して機能の利用またはソフトウェアを導入することをお勧めいたします。
また、レプリケーションとバックアップを併用することで、レプリケーションの弱点、消えてしまったデータの復旧や、万が一、ランサムウェアに感染しても、過去の健全なデータをリストアすることによって、早期に事業継続ができる可能性も高まりますので、私たちベンダーからは単体運用よりも併用運用をお勧めします。
この記事が、あなたのレプリケーションに関する疑問解消の手助けとなり、あなたのデータ保護強化方法の助力になれましたら幸いです。
コメント