SAP HANAの最新リリースにみる耐障害/耐災害対策の新たなトレンド


読者の皆様、こんにちは。SAPジャパンの花木です。今回から2回に分けて、「SAP HANAが提供する耐障害/耐災害機能」というテーマで、SAP HANAにおけるバックアップ、DR(ディザスタリカバリー)、HA(高可用性)の各機能についてご紹介させていただこうと思います。最後までお付き合いください。

SAP HANAにおける耐障害/耐災害機能

SAP HANAを導入した企業の皆様が、障害や災害対策として実施できる施策については、大きく以下の4つがあります。

Picture2

RPO:目標復旧時点 = データをいつの状態まで戻すか
RTO:目標復旧時間 = データをどれだけ早く戻すか
* synchronous solution

RPOおよびRTO項目の記載で示す通り、各施策にはそれぞれ特長があり、目的や障害規模・内容によって有効性が異なってきます。ここでは、それぞれの施策の概要と、適用における注意点をご紹介します。

SAP HANA単独機能による障害対策:バックアップ/ノードフェールオーバー

「バックアップ」は、SAP HANA単体に組み込まれた障害対策機能です。インメモリーデータベースで留意しなければならないのは、(極端な例ですが)電源を切ってしまった場合、データが完全に消失してしまう点です。通常のデータベースの場合、消失するのは仕掛中のトランザクションだけで、ディスク上のデータは残ります。しかし、インメモリーデータベースの場合、メモリー上だけでのデータ保護は不可能なため、その担保として「永続化」という仕組みが提供されます。

SAP HANAの場合には、永続化の機能として、メモリーに対しての書き込みだけではく、背後ではストレージに対する保存活動が行われます。データについては一定間隔おきに、ログについてはコミットされた時点および一定間隔で、ストレージへの保存が行われます。

Picture3

広義に捉えれば、この永続化機能もバックアップと言えますが、ストレージが同一筐体内にあるため、ハードウェア的な障害やシステム障害があった場合を考慮すると、さらなる対策が必要となります。このためSAP HANAでは、外部ストレージまたはバックアップツールを使った外部媒体へのデータ&ログの退避を推奨「バックアップ」としています。つまり、SAP HANAの筐体の外側にデータを退避する形態となります(サードパーティー製のバックアップツールとしては、SymantecのNetBackup7.5に加え、IBM Tivoli Storage Managergerが、バックアップ用インターフェースであるBackint をサポートしています。)。

しかし、バックアップした内容をもとにリカバリーを行う場合、復旧できるのはあくまでバックアップ時点までのデータであり、ストレージへの書き込み間隔に応じて、最新状態からの乖離が発生します。たとえば、「1日前の状態にしか戻せない」という状況も発生します。さらに、障害検知からリカバリーを完了するまでに、数十分、数時間かかるケースもあります。

SAP HANAで実現できるもう1つの障害対策として、「ノードフェールオーバー」があります。SAP HANAでは、稼動するノードを複数用意したスケールアウト構成を取ることができます。データは複数ノードで分割されています。この構成を使ったノードフェールオーバーでは、稼動するN台+スタンバイの1台という形で、障害発生時の対応を行うことが可能です。稼動するN台の中で障害が発生した場合に、スタンバイの1台に切り替えて(フェールオーバー)、処理を引き継がせて継続を図るものです。ストレージ上のデータが障害ノードからスタンバイノードに引き継がれ、インメモリーデータベースの内容が復元されます。ノードフェールオーバーの場合、障害発生直前までデータを戻すことが可能で、対応も数分で完了します。

SAP HANA単独、つまり1サイト構成において障害対策を実現できる「バックアップ」「ノードフェールオーバー」ですが、複数サイトの場合については、SAP HANA単独の機能に加え、他のベンダーが提供する機能を含めた対策を実施します。こちらには、「ストレージレプリケーション」と「システムレプリケーション」があります。

他ソリューションを含めた障害/災害対策:ストレージレプリケーション/ システムレプリケーション

「ストレージレプリケーション」は、SAP HANAアプライアンスで提供されるソリューションです。アプライアンスに含まれるストレージが持つミラーリング機能を使って、データベースのコピーを作る形態になり、SAP HANA複数サイト間での障害/災害対策が可能です。 サイト間の距離については、約100km程度まで対応することができます。ストレージレプリケーションの場合、フェールオーバーが発生すると、ストレージからメモリー上のデータベースを読み込むという作業が発生します。このため、ある程度の復旧時間がかかりますが、バックアップよりもRPO、RTOが優れています。

注:現時点(2013年9月)でストレージレプリケーション機能を提供するSAP HANAアプライアンスベンダーとしては、HP、IBM、Cisco、日立、富士通があります。

これに対し、SAP HANAのSPS5およびSPS6で提供されている「システムレプリケーション」は、SAP HANAが自身に組込機能として持っているデータコピー機能です。このため、メモリー間でのデータコピーが可能で、ストレージレプリケーションと比べて、より迅速な復旧が可能となります。障害対策、災害対策ともに対応が可能であることから、今後はSAP HANA利用における主流のソリューションとなっていくと思われます。プライマリー、セカンダリーの2つのデータセンター間でレプリケーションを実施する場合、プライマリー側でデータベースの更新が行われると、自分自身が持つストレージへの書き込みが行われると同時に、セカンダリー側に差分が投げられ、これによってセカンダリー側のデータベースも更新される形で、レプリケーションが実現されます。システムレプリケーション機能は、同期モードと非同期モードをサポートしています。同期モードは、差分を投げた後の対応について2つのモードがあり、1つはセカンダリーのメモリーへの書き込みが終わったら処理を完了するもので、もう1つは、メモリーだけでなく、ストレージまで書き込んでから処理を完了するものです。前者はスピード重視のモードで、後者はデータの永続性を重視する場合に使用するモードと言えるでしょう。非同期モードは、SPS6の新機能で、同期モードよりも遠隔地間のデータコピーに適しています。

今回はSAP HANAにおけるバックアップ、HA/DRの概要について説明しましたが、いかがだったでしょうか? 次回はシステムレプリケーションなど、SAP HANAの最新リリースでサポートされる機能について、もう少し詳しく説明させていただきたいと思います。引き続きご覧いただければ幸いです。

ご質問はチャットWebからも受け付けております。お気軽にお問い合わせください。

●お問い合わせ先
チャットで質問する
Web問い合わせフォーム
電話: 0120-554-881(受付時間:平日 9:00~18:00)