質問/問題

CRX 1.4.1 または 1.4.2 のオフラインバックアップはどのように作成しますか?バックアップをどのように復元しますか?

回答/解決策

オフラインバックアップ

オフラインバックアップでは、クラスター化されたリポジトリの一貫性のあるバックアップを作成できます。バックアップは、停止したクラスターノードから取得されます。

警告:リポジトリ実行中のリポジトリファイルのコピーはサポートしていません。リポジトリ実行中にリポジトリファイルをコピーすると、バックアップが不安定な状態になる可能性があります。コピーされたリポジトリのノードと検索インデックスが破損している可能性があり、コピーされたリポジトリが起動しない場合があります。起動すると、例外「スレーブがマスターとして同じ ID を持つ」がスローされる可能性があります(元のリポジトリサーバーへのネットワーク接続が存在する場合)。その理由は、コピーされたリポジトリがクラスターモードで実行中だとみなすためです。

要件と設定

このドキュメントは、CRX 1.4.1および1.4.2に適用されます。

オフラインバックアップでは、Tar 持続性マネージャーを使用する必要があります。TarPM は CRX のデフォルトの持続性マネージャーです。このドキュメントでは、次のディレクトリを使用:

  • shared/namespaces
  • shared/nodetypes
  • shared/journal
  • shared/repository/datastore
  • shared/version
  • shared/workspaces/x

次のディレクトリが両方のクラスターノード(マスターおよびスレーブ)に存在します。

  • clusterNode
  • clusterNode/repository/index
  • clusterNode/repository/meta
  • clusterNode/version/copy
  • clusterNode/workspaces/*(* は使用中のすべてのワークスペースを表します)
  • clusterNode/workspaces/*/copy
  • clusterNode/workspaces/*/index

パフォーマンスを向上させるために、クラスターノードが優先マスターとして設定されていることを想定しています。バックアップは、スレーブノード上で行われます。これは要件ではありません。パフォーマンスの向上をするだけです。クラスターノードを優先マスターとして設定する方法については、「Tar PM およびクラスターの構成」を参照してください。

バックアップ手順

  • 各クラスターノードで、クラスターノード ID を含むファイルをバックアップします。CRX Quickstart を使用する場合、この ID は、clusterNode/cluster_node.id に保存されます。CRX Quickstart を使用しない場合は、クラスターノード ID は、repository.xml ファイルに保存されます。
  • クラスターノード(スレーブが望ましい)を停止します。
  • サブディレクトリなど、このクラスターノードのすべてのファイルをバックアップします。
  • その後、次の共有ディレクトリにあるファイルをバックアップします。
    • shared/namespaces
    • shared/nodetypes
    • shared/repository/datastore
  • クラスターノードを再起動します。

バックアップの復元(緊急復元)

  • 両方のクラスターノードを停止します。
  • すべてのクラスターノードで、clusterNode ディレクトリにある次のディレクトリを削除します。
    • repository、shared、version、workspaces
  • 共有ディレクトリ内のすべてのファイルとディレクトリを削除します。
  • クラスターノード(サブディレクトリを含む)のバックアップを 1 つのクラスターノードに復元します。
  • 復元したクラスターノードのすべてのファイルを他のクラスターノードにコピーします。その後、各クラスターノードにまったく同じデータが含まれます。
  • すべてのクラスターノードで clusterNode/revision.log ファイルを削除します。
  • すべてのクラスターノードの **/listener.properties ファイルを削除します(存在する場合)。
  • クラスターノードごとに、クラスターノード ID(clusterNode/cluster_node.id または repository.xml)を含むファイルを復元します。これにより、各クラスターノードには異なるクラスターノード ID が設定されます。
  • 共有ディレクトリのバックアップを復元します。
    • shared/namespaces
    • shared/nodetypes
    • shared/repository/datastore
  • 1 つのクラスターノードから共有ディレクトリに次のディレクトリの内容をコピーします。
    • clusterNode/version/copy/data*.tar から shared/version に
    • clusterNode/workspaces/*/copy/data*.tar から shared/workspaces/* に(各ワークスペースの場合)

スクリプトファイルの例

オフラインバックアップと復元は、スクリプトファイルを使用して自動化できます。次の 2 つのスクリプトファイルをテンプレートとして使用できます。警告:これらのスクリプトは実証目的用です。開始の終了を削除し、変数のパスを修正し、ご使用の環境で使用するスクリプトを徹底的にテストする必要があります。

影響を受けるバージョン

CRX 1.4.1および1.4.2

ダウンロード

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー