災害対策に備えてデータ損失をなくして事業継続させる技術
こんにちは。
私は昔から扁桃腺が弱く、2~3年に1回は入院しています。医者からは「扁桃腺なんて取ってしまえ」と言われるのですが、そのためには2週間ほど入院しなければならないので、なかなかタイミングがありません。
なんて言っているうちに、週末久しぶりに大きく腫れてしまいました。今回はすぐに医者に行けたので大丈夫だったのですが、あと1日遅かったらいつものように入院になっていたように思います。しかもこの扁桃腺炎は前触れが全くわからず、よくあるパターンとしては出張先で冷房にやられるケースです。今回も思い当たるフシはありますので、今後また気をつけます。みなさんも空調の変化で体調を壊さないようお気をつけください。
今日は、災害対策(DR)と事業継続(BCP)の重要性についてお話します。最近東京でも感じられる地震が何度か起きてますね。少し心配です。
災害の発生によりシステム障害が発生した場合、営業機会の損失による損益、顧客満足度の低下は当然として、社会的信頼の低下にまでつながる可能性があります。そのため、迅速にシステム運用を再開する必要があります。再開のためには、まず「事業継続計画」をあらかじめ策定しておくことが必要です。事業継続計画はBCP(Business Continuity Plan)とも呼ばれ、災害などの不測の事態に対して損害を最小限に留め、運営の継続と復旧をはかる災害対策にもなる計画です。BCPは、事業継続(Business Continuity)と復旧計画(Resiliency Planning)の二段階に分けることもできますので、BC&RPあるいは、二つをまとめてBCRPと呼ぶこともあります。
遠隔地へのデータコピー
コンピュータが普及した現在、BCPにおいては、いかにデータを保護するかが重要です。一台のシステム障害であろうと、大規模なサイト災害であろうと、業務データの損失を避ける基本は「レプリケーション」や「バックアップ」です。業務データの損失を避けるため、データ保護システム運用者により、適切なタイミングで業務データのコピーを作成し保管します。大規模サイト災害の場合、影響が広範囲に及ぶため「リモートレプリケーション」や「遠隔地バックアップ」を行うことが必要です。
旧来は、テープメディアにバックアップデータを保管し、テープメディアを外部に保管する方法を取ることもありました。しかし、テープメディアを遠隔地に保管する方法は、搬送のコスト・時間が大きく、紛失のリスクもあります。ネットワーク経由でデータコピーを取るようにすれば、ネットワークの帯域を圧迫するという問題はありますが、テープメディアの外部保管に比べて、短時間でバックアップデータを遠隔地に保管することができます。また、最近ではデータの圧縮や重複排除の技術が発達してきましたので、毎回データを全てネットワーク転送する必要もなくなっています。そして、ネットワークが復旧すれば、速やかにバックアップデータからの復旧が可能です。テープなどの遠隔地保管の場合、交通インフラが復旧しないことには運送することもままなりませんので、システムの回復も大幅に遅れる可能性を伴っています。
遠隔地での待機系システム
業務データが失われてしまうと継続した復旧再開は不可能になります。これは、コンピュータを用いたシステムが、プログラム(ソフトウェア)とデータが揃って初めて動作するためです。現行のネットワークに対応したシステムでは、ネットワーク機能を提供するプログラム、データベース機能を提供するプログラム、データの入力や表示を管理するプログラムなど、複数のプログラムが連携して動作しています。各プログラムが連携して動作するためには、各プログラムの「パラメータ」を適切に設定する必要があります。そのため、運用を再開するにはデータだけでは不足なのです。まず、各プログラムをコンピュータに再インストールし、さらにパラメータを適切に設定しなおす必要があります。
災害が発生してから、コンピュータを用意してプログラムの再インストールを行い、各種のパラメータを再設定やデータを戻して、やっと再開するようでは迅速な復旧は困難です。その際、あらかじめ遠隔地に「待機系システム」を用意しておけば、上記の問題は解消します。遠隔地にコンピュータを用意し、運用システムと同じプログラムをインストールしておき、各パラメータも、データのバックアップのタイミングで、運用システムと同じパラメータになるようにしておくのです。コンピュータとコンピュータにインストールされているプログラムと設定されているパラメータを含めて「環境」と呼ぶこともあります。データと環境を待機システムと運用システムで一致させておけば、障害発生に対して迅速な復旧が可能になります。
仮想化環境とクラウドシステムの利用
旧来ですと待機系の構築は、運用系と同じハードウェアを用意するところから始めなければなりませんでした。仮想化環境では、ハードウェアやOS、ミドルウェア、アプリケーション・プログラムも、全てひとまとまりのファイルになっています。アプリケーション・プログラムは、直接サービスを提供しているプログラムであり、ミドルウェアはOSとアプリケーションの仲立ちをしているプログラムです。
仮想化環境では、待機系の構築はファイルのコピーで済みます。運用系と待機系の内容を一致させる作業もファイルのコピーです。厳密には「差分」といって運用系と待機系のファイルの異なった部分だけ抜き出して転送し、違いの部分を待機系に適用し待機系と運用系の内容を一致させます。内容を一致させる動作を「同期」させるということもあります。
また、仮想化環境をクラウドシステム上に置くことも可能です。クラウドシステムが暗号化と分散機能をサポートしていれば、暗号化によってクラウド上に業務データを上げる際のセキュリティが確保されます。暗号化と分散機能を組合せて提供しているクラウドシステムでは、ユーザからは一つに見えるファイルが、クラウド内では複数のハードウェア上に分散して置かれています。分散して置かれているため、クラウドを構成する一台のファイルを見ても内容を解読することは不可能です。解読不可能に加えて一つのファイルを持っている複数のハードウェアの一部に障害が発生しても、残りのハードウェア中の情報から元のファイルが復元可能になります。暗号化と分散化をサポートしてクラウドシステムに待機系を置き、データのバックアップと運用系と待機系の同期を行っておくことが、災害に対する最も有効な対策です。
ティントリでの災害対策
ティントリにはオプションで「ReplicateVM」という、遠隔地の待機系システムへのデータをコピーする機能があります。インテリジェントな重複排除や圧縮機能、そして仮想マシン単位での粒度を組み合わせることで、最大95パーセントのWAN帯域幅を削減でき、なおかつ高パフォーマンスのデータ転送を実現します。また、VMware社のSite Recovery Manager (SRM)を連携させることで、本番環境に障害が発生した場合でも、自動的に災害対策サイトに切り替えることができます。
データの複製間隔は最短で1分間ですが、リアルタイムデータ複製(Synchronous Replication)機能を使うことで、間隔を置くことなく継続してデータを複製することができます。それによってデータを一切欠損することなくサービスを継続させることも可能になります。