2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Db2 for OpenShift バックアップ・リストア方法 (2023年3月版)

Last updated at Posted at 2023-03-30

Db2 for OpenShift and Kubernetes V11.5.8 のバックアップ手法

OpenShift/Kubernetes環境でDb2を動かすには、マイクロサービスとして開発される、k8s環境専用のDb2製品を導入します。
このDb2は、Db2 for Red Hat OpenShift and Kubernetes、別名Db2Uとも呼ばれます。
Db2として公式の Kubernetes Operator が提供されています。

Db2U で利用可能なバックアップ・リストア手法は、当初、Db2 BACKUP/RESTOREコマンドのみでした。
リリースアップを重ね、今では多くのバックアップ手段が利用可能になっています。
Persistent Volume Claim(PVC)やNamespaceといった、Kubernetesのレイヤーでのバックアップ取得方法も製品公式マニュアルで紹介されるようになっています。

色々選択肢があるため、どういった違いがあるかを自分の備忘録も兼ねて整理します。

(※2週間ほど前にテクニカルプレビューとして登場したDb2uBackup, Db2uRestoreについてはドキュメントベースで調査中、確認できた内容だけ盛り込んでいます)

バックアップ手法ごとの特徴

2023年3月でDb2 for OpenShift のバックアップ運用に利用可能な手法は以下のものがあります。

手法 バックアップ
取得対象
バックアップ取得時のDBの状態 リストア開始前提 利用可能なインターフェース
Db2 BACKUP/
RESTOREコマンド
  • データベース
  • リカバリに必要なログファイル
  • オンライン/オフライン
  • 制限アクセスモードでDb2インスタンス再起動
  • オフライン状態でリストア実施
    コマンドライン
    IBM Spectrum Protect(※1)を利用したバックアップ
    • データベース
    • リカバリに必要なログファイル
    • オンライン/オフライン
    • 制限アクセスモードでDb2インスタンス再起動
    • オフライン状態でリストア実施
      コマンドライン
      Storage Snapshot(※2)
      • PVC
      • オンライン/オフライン
      • オンラインバックアップ開始前にHAモニター静止/set write suspend
      • Db2クラスタ静止
      • Db2uClusterの全Pod停止
      • PVC削除
      コマンドライン
      もしくは
      OpenShift Webコンソール
      Velero Snapshot
      • Namespace全体
        • PVC
        • Db2uClusterカスタムリソース
      • オンライン/オフライン
      • オンラインバックアップ開始前にDb2uクラスタ静止/set write suspend
      • Db2uClusterカスタムリソースが存在しない状態であること
      コマンドライン
      Db2uBackup,
      Db2uRestore
      (2023.03時点 TechPreview)
      • データベース
      • リカバリに必要なログファイル
      • オンライン/オフライン/増分バックアップ
      • ドキュメント上記載なし
      コマンドライン
      もしくは
      OpenShift Webコンソール

      (※1) 略称:ISP。旧製品名はTivoli Storage Manager(TSM)。
      (※2) データの差分のみ取得するストレージのスナップショット機能を利用。ある時点に戻したい場合に有用ですが、物理障害には対応不可。

      BACKUP/RESTOREコマンドで復元できるのはデータベースだけですが、PVCのバックアップを取得すると、より多くのDb2関連リソースを復元できるようになります。
      最もカバー範囲の広いVelero Snapshotを利用すれば、ネームスペースごと失われてしまった状態からの障害回復も可能となります。

      PVCに保持されるDb2関連オブジェクト

      Db2 for OpenShift では、以下のオブジェクトが Persistent Volume Claim(PVC) に格納されます。

      image.png

      • 自動ストレージパス(≒DBデータ)
      • アクティブログ
      • アーカイブログ
      • インスタンスホーム
      • 各種パラメータの保持される構成ファイル
      • Db2診断ログ
      • SSL/TLS構成ファイル
      • バックアップ・イメージ配置用パス
      • ..etc

      Db2を構成するほぼすべての情報はPVCに保持されているため、仮にコンテナ(Pod)に障害が起きても、Db2構成情報もデータもすべてPVCに保持されるため、PVCさえ健全な状態であれば、環境そのものもデータそのものも復元することができます。

      補足 / 参考情報

      Storage Snapshot

      • 前提:バックアップとスナップショットの違い
        • バックアップは、ストレージ装置に障害が起きたときに確実に復元できるように、元データを複製しておくことを指す
        • スナップショットはデータの複製は持たず、スナップショット取得時点のデータブロックへのポインタのみ保持しておく機能
          • このため、バックアップ対象のDBと同じサイズの空き容量を用意しておく必要はなくバックアップほど時間がかからず取得できる一方、元データ(DB)の格納されるストレージに障害が起きてデータブロックが破損してしまった場合、データ復元不可となる
          • データの復旧が必要である場合、別途バックアップを取得する仕組みが必要
      利用条件

      Velero Snapshot

      利用条件

      Db2uBackup, Db2uRestore

      利用条件
      2
      1
      0

      Register as a new user and use Qiita more conveniently

      1. You get articles that match your needs
      2. You can efficiently read back useful information
      3. You can use dark theme
      What you can do with signing up
      2
      1

      Delete article

      Deleted articles cannot be recovered.

      Draft of this article would be also deleted.

      Are you sure you want to delete this article?