Db2のスプリットミラーとは?FlashCopyを使った高速バックアップのポイントを解説

Db2

はじめに

Db2のバックアップは、データベースサイズが大きくなるほど時間がかかり、運用への影響も大きくなります。

こうした課題に対して有効なのが、ストレージの高速コピー機能(FlashCopy / Snapshot / Image Copy)を利用したバックアップです。

Db2ではこの仕組みを利用し、スプリットミラー(Split Mirror)として高速にバックアップを取得できます。

本記事では、その基本的な仕組みと設計時のポイントを整理します。
詳細な手順については、最後に紹介するIBM資料を参照してください。

なお、バックアップ全体については以下の記事でまとめています。

Db2のバックアップとリカバリーとは?取得方式と運用設計の基本を解説


スプリットミラー(Split Mirror)とは何か

スプリットミラーとは、ストレージ側の機能を使ってディスク単位で瞬時にコピーを取得する仕組みです。

通常のDb2バックアップとの違いは以下です。

項目通常バックアップスプリットミラー
処理主体Db2エンジンストレージ
所要時間長い(DBサイズ依存)非常に短い
負荷DBサーバに負荷あり低負荷
取得単位論理バックアップ物理コピー

ポイントは、Db2がデータをコピーするのではなく、ストレージがコピーするという点です。


オンライン取得のポイント(WRITE SUSPEND)

オンラインでスプリットミラーを取得する場合、整合性を保つために重要なのが以下の制御です。

  • SET WRITE SUSPEND
  • SET WRITE RESUME

なぜ必要か

FlashCopy取得中に以下が発生すると整合性が崩れます。

  • Db2からの書き込み
  • OSキャッシュからの遅延書き込み

そのため、

  1. WRITE SUSPENDで書き込みを停止
  2. ストレージでFlashCopy取得
  3. WRITE RESUMEで再開

という流れで実行します。

短時間とはいえアプリケーション停止に近い状態になるため、実行タイミングの設計が重要です。


FlashCopy対象領域と非対象領域

取得したFlashCopyイメージの整合性を保障するためには、以下を保障する必要があります。

・論理コピー中にデータベースからの書き込みが発生しないこと
・OSファイルキャッシュからの非同期的な書き込みが発生しないこと

対象とすべき領域

以下はFlashCopy対象に含める必要がある領域です。

領域理由
アクティブログdb2inidb as SNAPSHOT のみ必要
データベースパスDB定義が格納される
ユーザー表スペース業務データ
システムカタログ表スペースメタ情報
一時表スペース(条件付き)処理整合性に影響

特に重要なのは、「DBとして成立する最小構成を丸ごとコピーする」ことです。


対象外とすべき領域

領域理由
アーカイブログ再生成・別管理が前提
インスタンスホームOS依存・再構築可能

アーカイブログは通常FlashCopy対象外ですが、これはログのアーカイブ処理が非同期であるためです。

ファイルっシステムのアンマウントができる場合は、FlashCopyが可能となりますが運用上の注意が必要です。


db2inidbによるミラーの利用

取得したスプリットミラーは、そのままではDb2として利用できません。

そこで使用するのが db2inidb コマンドです。

主なモード

モード用途
SNAPSHOTデータベース・イメージのスナップショットを他のノードで再利用
STANDBYウォーム・スタンバイ・データベースの作成
MIRRORデータベースのバックアップ・イメージとして使用

障害が発生し、コピーバック(戻し)をするときは MIRRORモード を使用します。

db2inidb <DB名> as MIRROR

これにより、Write Suspend状態が解除されますが、クラッシュ・リカバリーは実行されず、データベースをロールフォワード保留状態にします。

Split mirrorイメージに含まれるログではなく、プライマリーDBで作成された最新のログを使ってROLLFORWARDを実行することで、障害直前のDBまで復元することが可能です。


スプリットミラーのメリットと注意点

メリット

  • 大規模DBでもほぼ瞬時にバックアップ取得
  • DB負荷が低い
  • リストアも高速

注意点

設計を間違えると逆に危険なので、ここは重要です。

① WRITE SUSPEND時間の影響

長時間になると業務停止に近くなる

② 対象領域の漏れ

一部でも欠けるとリストア不可

③ OSキャッシュの影響

非同期書き込みによる不整合リスクあり(ファイルシステムレベルの書き込み停止も要検討)

④ ストレージ依存

ストレージ機能に強く依存する


まとめ

スプリットミラーは、Db2の大規模環境において非常に有効なバックアップ手法です。

特に以下のようなケースで効果を発揮します。

  • TBクラスの大規模DB
  • バックアップ時間を短縮したい
  • 業務影響を最小化したい

一方で、

  • WRITE SUSPENDの扱い
  • 対象領域の設計
  • db2inidbの理解

といったポイントを正しく押さえる必要があります。

詳細な構成例やコマンド手順については、以下のIBM技術資料が非常に参考になります。

【SIL】【IM】ストレージによる高速コピー機能を使用したDb2バックアップ
Db2 for LUW では、ストレージ装置が提供するハードウェアレベルの高速コピー機能(FlashCopy / Snapshot / Image Copy など)を利用することで、高速バックアップと迅速なリストアを実現できます。本資料では...

コメント

タイトルとURLをコピーしました