DBのログを自動で配布・適用

図2●リレーショナル・データベース管理システムの災害対策機能
MS SQL Server 2000やOracle9i Databaseは,ログをリモートのスタンバイ・データベースに転送する機能を備える。転送間隔を短くすれば,災害時のデータ消失はかなり少なくて済む
 MS SQL Server 2000やOracle9i Databaseは,災害対策用機能を備えている。それを使えば,より高頻度のバックアップが可能になる(図2[拡大表示])。

 MS SQL Server 2000は,トランザクション・ログをリモート・サイトのシステムに送信して適用する「ログ配布機能」を備えている*4

 ログ配布機能は,リモート・サイトに置くスタンバイDBにログを配布,適用するもの。配布間隔はユーザーが設定し,最短は1分間隔である。また配布したログを,スタンバイDBに適用する間隔も設定できる。適用間隔を空けることで,操作ミスによるデータの変更をスタンバイDBに反映してしまうことを防ぐことも可能だ。

 配布間隔は,どれだけ最新のデータに復旧できるかにかかわる。配布間隔が短いとWANの負荷が高まるため,サイト間のネットワーク帯域との兼ね合いで設定する必要があるが,「通常は1分単位ではお勧めしない」(マイクロソフト ソリューションマーケティング部SQL Server製品グループ シニアプロダクトマネージャ 中川哲氏)。米Microsoftでも基幹システムに,ログ配布を利用した災害対策を実施しているが,配布間隔は15分であり,適用間隔は30分である*5。リカバリのためにはスタンバイDBをプライマリに変更する作業が必要になるが,「トレーニングしていれば10数分程度」(中川氏)という。

 Oracle9iもログをスタンバイDBに転送する機能「Data Guard」を備えている。Oracle8iでは,アーカイブREDOログをログ・スイッチのタイミングで転送する機能を備えていたが,Oracle9iではオンラインREDOログへの書き込みタイミングでも転送可能にした。これまでログ・スイッチのタイミング分,最新データとの差異があったが,これによりリアルタイムのデータ転送が可能になった。

 Data Guardでは,転送モードとして同期や非同期を選択できる。同期は,プライマリ側がネットワーク転送を開始した時点と,スタンバイDBのディスクに書き込んだ時点の両方で設定できる。前者は,ネットワーク転送を開始すれば,次のオンラインREDOログの書き込みに移る,後者は,スタンバイDBに書き込んでから次のオンラインREDOログの書き込みに移る。同期処理であれば,最新データであることが保証できるが,通常の更新処理は遅くなる*6

 リカバリにおいては,Oracle9iが備えるフェール・オーバー機能を使い,あらかじめ設定しておくだけで自動的にスタンバイDBをプライマリに切り替えることが可能である。

ディスク複製をネット経由で実施

図3●ディスク装置のリモート・レプリケーション機能を使った災害対策
EMC Symmetrix 8000のSRDF機能を使った例。MS Cluster Serverなどクラスタリング・ソフトとの連携機能GeoSpanを使えば,自動的にフェール・オーバーする仕組みを構築できる。Symmetrix間をWANで接続するには,「UltraNet Storage Director」(シー・エル・シーや兼松エレクトロニクスが販売)などの接続装置が必要となる
 以上の機能はデータベース内のデータだけだが,ディスク・アレイ装置でリモート・サイトへの複製に対応する製品では,すべてのデータをバックアップ可能である(図3[拡大表示])。

 ストレージが備えるデータ複製機能には,米EMCのディスク・アレイ装置Symmetrix 8000用「SRDF」*7や,米Compaq ComputerのStorageWorks MA8000/EMA12000用「DRM」などがある。これらは各ディスク・アレイ装置とセットでの利用となるが,米VERITAS Softwareの「VERITAS Volume Replicator」はSunサーバー上で動作し,ボリューム単位でリモート・サイトにデータを複製できる。

 これらは,同期または非同期にディスク間での複製が可能だ。SRDFでは,(1)セカンダリ・サイトのキャッシュへの書き込みが終了するまでプライマリでのリード/ライトを処理しない「同期モード」,(2)プライマリ・サイトの書き込みが完了した時点でリードのみ可能にし,ライトはセカンダリの同期化を待つ「準同期モード」,(3)プライマリの負荷が低い時にセカンダリにデータを送信する「アダプティブ・モード」,を用意する。同期にすれば障害時に最新のデータが保証されるが,ネットワークの遅延分,処理は遅くなる。

 リカバリ時には,手動またはスクリプトで切り替える必要がある。SRDFでは,セカンダリは通常リードのみであり,リード/ライト可能に切り替える。ディスク・アレイ装置と同時に,サーバーの切り替えも必要となる。これらの手順を自動的に処理するために,クラスタリング・ソフトとの連携機能を備えている。SRDFでは,クラスタリング・ソフトとの連携ソフト「GeoSpan」をMicrosoft Cluster Server用とVERITAS Cluster Server(VCS)用に提供している。サーバーの切り替えと同時に,ディスクの切り替えも自動処理できる*8

(森側 真一=morigawa@nikkeibp.co.jp)