FlashBlade における Oracle RMAN の高速化

本日ご紹介する記事は、ソム・ラジャラシナム(Somu Rajarathinam)による「FlashBlade における Oracle RMAN の高速化」です。ソムは、ソリューションアーキテクトチームのメンバーで、データベースおよび分析のソリューションを担当しています。


ピュア・ストレージ・ジャパン FlashBlade セールスリードの大浦です。本日ご紹介する記事は、ソム・ラジャラシナム(Somu Rajarathinam)による「FlashBlade における Oracle RMAN の高速化」です。ソムは、ソリューションアーキテクトチームのメンバーで、データベースおよび分析のソリューションを担当しています。

事業継続性を高めるためには、バックアップだけではなく、リカバリをいかに高速に行うかという視点も重要になってきます。データ保護に関する昨今の課題に対して FlashBlade がどのように貢献できるのかをご案内いたします。


データ保護に関する課題

近年、データ量は驚異的な勢いで増大しています。データベースプラットフォームや分析機能の進化にビッグデータが加わり、今やデータは企業にとっての主要資産となっています。プライマリストレージには FlashArray のようなフラッシュシステムを導入するなど最新技術を活用している企業でも、バックアップやリストア用のシステムには、いまだ、ディスクベースの従来のソリューションを使用している場合が多いのが現状です。データ量の増大により、日々のデータバックアップに 24 時間以上かかってしまうという事態が生じ、お客様は、SLA(サービスレベルアグリーメント)の遵守が危うくなるという悩みを抱えています。

そこで、ストレージベンダーやバックアップベンダーは専用装置を開発し、そういった問題への対処を試みました。確かに、それらの装置はバックアップの時間の短縮はできましたが、RTO(リカバリ時間目標)は達成できませんでした。リストア中のデータのリハイドレーション処理でディスクドライブに大量のランダム I/O アクセスが発生し、その結果、パフォーマンスが低下するのです。

お客様はさらに、テストや開発環境といった内部の需要に対応するため、実稼働データベースのクローンをすばやく準備し反復型開発に備えなければならない、という課題も抱えています。ピュア・ストレージの FlashArray では、FlashRecover スナップショット機能により、新たなストレージの追加なしに、データベースのクローンを迅速に作成することができます。ただ、多くの場合は、実稼働環境と非実稼働環境を分離する必要性から、結局はテスト・開発環境用に、ストレージを含む新たなインフラストラクチャを展開することになります。Oracle のバックアップを活用し、データベースのクローンを作成するのがもっとも理想的だと思われます。

障害発生時のデータリストア、および、テスト・開発環境のプロビジョニングをどれくらい高速に実行できるかは、ビジネス上の優位性を左右します。「高速バックアップ・リストア」は新たなレベルのソリューションです。このソリューションでは、データベースのクローニングを高速化するために、休眠状態のバックアップも活用します。

ソリューション

ピュア・ストレージが提供する革新的なスケールアウトフラッシュストレージシステム、FlashBlade™は、バックアップやリストアに関する課題を簡単に解決します。Oracle を利用しているお客様は、RMAN のバックアップ先として FlashBlade を設定し、さらに、dNFS(DiredtNFS)を使用することで、バックアップを大幅に高速化できるようになります。最新世代の FlashBlade システムは、4U のシングルシャーシで書き込み速度 4.5 Gbps、読み取り速度 16 Gbps をサポートします。

4.5 Gbps の書き込み速度は、1 時間あたりのバックアップ速度 15 TB に相当します。いっぽう、FlashBlade からのリストア速度は 1 時間あたり最大 45 TB ですが、実際には、リストア先のストレージシステムの制約を受けることがあります。

FlashBlade の高い処理能力と、MAN の DUPLICATE 機能により、定期バックアップからのデータベースのクローニングを高速で行うことができます。このことは、休眠状態のバックアップを活用することを可能にし、かつ、リストア・リカバリ処理の妥当性チェックにも役立ちます。

なぜ dNFS なのか

スケールアウト FlashBlade システムは、ファイルあるいはオブジェクトをベースとしており、NFS、S3/Object、SMB、HTTP プロトコルを使用するアプリケーションをサポートします。Oracle RMAN バックアップ・リストアの使用例を示します。Kernel NFS の例では、FlashBlade のファイルシステムは、NFS プロトコルを使用してホストにマウントされています。

この場合、ホストから複数のファイルシステムをマウントしても、ストレージへの接続は 1 つだけであるという問題があります。FlashBlade の最大限に分散されたアーキテクチャにより、ブレードへの並列接続で最高のパフォーマンスを発揮します。したがって、サーバープロセスごとにストレージシステムに接続する dNFS の使用をお薦めします。

さらに、Direct NFS は、オペレーティングシステムレベルのキャッシュをバイパスして、直接同時 I/O を行うことができます。また、非同期 I/O も可能で、処理中に I/O 要求を送信して処理することができます。Direct NFS Client の特筆すべきもうひとつの特長は、可用性の高さです。Direct NFS は最適なパフォーマンスを実現するために、指定されたパス全体(最大 4 つの並列ネットワークパス)にわたって、自動的に要求の負荷を分散します。1 つのネットワークパスで不具合が発生した場合には、Direct NFS Client が、残ったパスに対して I/O コマンドを再発行し、フォールトトレランスと高可用性を確保します。

高速バックアップ・リストア ― 設定

設定はとてもシンプルです。

  1. FlashBlade に複数のサブネットを設定します。Oracle dNFS がサポートできるストレージシステムへのネットワークパスは最大 4 つなので、サブネットの数はできるだけ 4 つにしてください。
  2. ホストに複数のネットワークインタフェースを設定し、これらを FlashBlade のサブネットに接続します。
  3. FlashBlade にファイルシステム(またはボリューム)を設定し、NFS プロトコルを使ってデータベースホストにマウントします。これが RMAN バックアップのターゲットになります。
  4. データベースで dNFS を有効化します。ソースデータベースがブロックベースのストレージに保存されていたとしても、RMAN を起動すると、FlashBlade への書き込みはすべて dNFS 経由で行われるようになります。

高速バックアップ・リストア ― テスト結果

バックアップとリストアに関しての FlashBlade の特長を示すために、dNFS を使った場合と使わなかった場合に分けて、Oracle RMAN バックアップとリカバリのテストをそれぞれ 4 回ずつ実施しました。これらのテストでは、Kernel NFS と Direct NFS でマウントポイントが 1 つの場合と複数の場合を比較しています。データベースのサイズは 1.01 TB でした。

これらの結果から、FlashBlade と dNFS の組み合わせが高スループットを実現し、また、マルチパスのようなふるまいで高可用性を提供できることがわかります。リストアの場合、読み取りのスループット 3.2 Gbps は十分高速だと言えますが、これはターゲット FlashArray の書き込みパフォーマンスによって左右されます。FlashArrays が多いほど、FlashBlade のパフォーマンスは向上します。RMAN を使った高速バックアップ・リストアの詳細は、ホワイトペーパー(英語)をご参照ください。

テスト・開発のための RMAN 複製の高速化

RMAN では、稼動中のデータベースの複製は可能です。しかし、FlashBlade で使用できる状態のバックアップを活用することが目的ですから、バックアップをベースにした複製の利用をおすすめします。できれば、リカバリカタログデータベースを利用するとよいでしょう。(既に使用されているかもしれません。)

複製、あるいはクローンは、同一サーバー上にも、リモートサーバー上にも作成可能です。リモートサーバーの場合、バックアップを使用可能にすることが必要です。FlashBlade を使えばこれは簡単で、ソースと同じマウントポイントを使って、リモートホストにバックアップファイルシステムをマウントするだけです。

上の図で示すように、クローニングあるいは複製処理は FlashBlade 上で行われます。これは、バックアップが FlashBlade から読み込まれ、新しいデータベースが FlashBlade 上に作成されることを意味します。パフォーマンスは、ネットワークインタフェースとコンピューティングリソースがどの程度使えるかによって変わります。

ソースデータベースが非常にビジーで、RMAN バックアップを実行するとデータベースのパフォーマンスに影響しかねない場合には、ソースデータの FlashRecover スナップショットを取り、それを 2 番目のホスト(マウントホスト)に置いて、そのマウントホストから FlashBlade に対しバックアップを行うのが簡単な解決策です。これには RMAN リカバリカタログデータベースが必要になります。

私たちはクローニング処理をテストし、その手順をホワイトペーパーにまとめました。このホワイトペーパーは、当社 Web サイトの「データ保護」のページからダウンロードできます。私たちは FlashBlade にバックアップされた 2 つのデータベース、OLTP(1.2 TB)と DW(1.8 Tb)を用意し、これら 2 つのバックアップからクローンを作成しましたが、どちらの場合も、20 分以内に完了しました。

また、クローンした環境を検証するために、クローンしたデータベースに対してクエリを実行すると同時に、このバックアップから別のデータベースのクローンを作成しました。サーバー oradb01 で行ったクエリは、読み取りスループットが 2.7 Gbps を超えていましたが、サーバー oradb02 にある RMAN 複製の読み書き処理能力は 1.08 Gbps でした。これらのテストケースのパフォーマンスは、ホストのコンピューティングおよびネットワークリソースによる制限を受けましたが、FlashBlade には、さらに多くの作業負荷に対応できるだけのパフォーマンス上の余裕が十分に残っていました。

データは新たな通貨としての価値を有しています。現代のビジネスのスピードに遅れることなく、データも分析、バックアップ、復元され、繰り返し活用されなければなりません。Oracle その他のデータベースにおける高速バックアップ・リストアの詳細は、「次世代のデータ保護」をご覧ください。


 

大浦からのコメント

Oracle を利用されている全てのお客様が、リカバリの SLA 改善の機会を得ることができるかもしれません。データベースのインスタンス数、データサイズが増え続けることで、想定したバックアップ時間やリストア時間を超過してしまうという課題をお持ちのお客様、FlashArray を既に使用されているお客様、あるいはまだ使用されていないお客様も、このソリューションを活用することができます。

ご相談をお待ちしております。

英語版:Accelerated RMAN Recipes for Oracle on FlashBlade