データのバックアップおよびリストア
以下の手順で、 IBM Watson® Discovery のデータをバックアップおよび復元してください。
IBM Cloud Pak for Data IBM Software Hub
この情報は、インストール済みデプロイメントにのみ適用されます。
サポートされているいずれかのアップグレード・パスのデータをバックアップおよびリストアするには、同じバックアップ・スクリプトとリストア・スクリプトのセットを使用します。 バックアップ・スクリプトは、既存のデプロイメントからバックアップするデータを含むサービスのバージョン番号を保管します。 復元スクリプトは、新しい展開にインストールされているサービスのバージョンを検出し、その後、検出されたバージョンにデータを復元するための適切な手順を実行します。
以下の表に、スクリプトでサポートされるアップグレード・パスをリストします。
使用中のバージョン | アップグレード先となるバージョン |
---|---|
5.1.x | の後のバージョン 5.1.x |
5.0.x | 5.0.x の後続バージョン、 5.1.x |
4.8.9 | 5.0.x の後続バージョン、 5.1.x |
4.8.8 | 5.1.1 またはそれ以降のバージョン |
4.8.7 | 4.8.x の後続バージョン、 5.1.x |
4.8.6 | 4.8.x、 5.0.3 の後のバージョン、 5.1.x |
4.8.x | 4.8.x、 5.0.x の後のバージョン、 5.1.x |
4.7.x | 4.8.x, 5.0.x, 5.1.x |
4.6.x | 4.8.x, 5.0.x, 5.1.x |
4.5.x | 4.8.x, 5.0.x, 5.1.x |
4.0.x | 4.8.x ( 4.8.0 |
5.1.x にアップグレードする場合は、アップグレードを完了する簡単な方法が以下のトピックで説明されています
5.0.xにアップグレードする場合は、以下のトピックで、アップグレードを完了するためのより簡単な方法について説明します。
- バージョン 4.8.xからの Watson Discovery のアップグレード。
- Watson Discovery をバージョン 4.7からアップグレードしています。
クラスター全体をオフラインでバックアップおよびリストアするために IBM Cloud Pak for Data Red Hat OpenShift APIs for Data Protection (OADP) バックアップおよびリストア・ユーティリティーを使用する場合は、いくつかの追加ステップが必要です。 詳しくは、 OADP を使用した Discovery がインストールされているクラスターのバックアップ を参照してください。 オンラインの OADP バックアップおよびリストアについては、 Cloud Pak for Data のオンライン・バックアップおよびリストアを参照してください。
ある 4.8.x バージョンから新しい 4.8.y バージョンへのインプレース・アップグレードを実行できます。 詳しくは、 バージョン 4.8.x から後の 4.8 リフレッシュへの Watson Discovery のアップグレードを参照してください。
1 つの 4.7.x バージョンから後の 4.7.y バージョンへのインプレース・アップグレードを行うことができます。 詳しくは、 Upgrading Watson Discovery from Version 4.7.x to a later 4.7 refreshを参照してください。
1 つの 4.6.x バージョンから後の 4.6.y バージョンへのインプレース・アップグレードを行うことができます。 詳しくは、 Upgrading Watson Discovery from Version 4.6.x to a later 4.6 refreshを参照してください。
ある 4.5.x バージョンから新しい 4.5.y バージョンへのインプレース・アップグレードを行うことができます。 詳しくは、 Upgrading Watson Discovery to the latest Version 4.5 refreshを参照してください。
1 つの 4.0.x バージョンから後の 4.0.y バージョンへのインプレース・アップグレードを行うことができます。 詳しくは、 新しい 4.0 リフレッシュへの Watson Discovery のアップグレードを参照してください。
プロセスの概要
大まかには、プロセスには以下のステップが含まれます。
- バックアップ・スクリプトを使用して Discovery データをバックアップします。
- IBM Cloud Pak for Data の最新バージョンをインストールする。
- クラスターに最新バージョンの Discovery サービスをインストールします。
- リストア・スクリプトを使用して、バックアップされた Discovery データをリストアします。
バックアップとリストアの制限
以下のデータは移行できません:
- 辞書提案モデル。 これらのモデルは、辞書の作成時に作成されます。 ディクショナリーはバックアップに含まれていますが、提案モデルという用語は含まれていません。 マイグレーションされたコレクションを再処理して、ディクショナリー用語の提案を有効にします。
- キュレーションはベータ機能であるため、キュレーションをバックアップおよびリストアすることも、マイグレーションすることもできません。
一部のデータはバックアップ・リストアスクリプトを使用してバックアップ・リストアできますが、その他のデータは手動でバックアップ・リストアする必要があります。 以下のデータは手動でバックアップする必要があります。
- ローカル・ファイル・システムのデータ・ソースを使用してクロールできるローカル・ファイル・システムのフォルダーと文書。
コレクションをリストアするときには、次の更新が行われます。
- データのアップロードによって作成された文書を含むコレクションは、リストア時に自動的に再クロールされ、再索引付けされます。 これらの文書には、復元されたコレクションの新しい文書ID番号が割り当てられる。
- コンテンツ・マイニング ・プロジェクトで使用されたコレクションは、復元時に自動的に再クロールされ、再索引付けされます。 リストアされたコレクションでは、データのアップロードによって追加された文書にのみ、新しい文書 ID 番号が割り当てられます。
バックアップとリストアの方法
Discovery のインスタンスを手動で、またはスクリプトを使用してバックアップおよびリストアできます。
Discovery クラスター (バックアップするデータが保管されている場所) 上の Discovery インスタンスへの管理アクセス権限と、新規インスタンス (データのリストア先) への管理アクセス権限が必要です。
バックアップ・スクリプトとリストア・スクリプトは多くの操作を実行し、実行にはかなりの時間がかかることがあります。 タイムアウトの問題を回避するには、タイムアウトを回避するツール ( nohup
など) を実行します。
バックアップ・スクリプトの使用
バックアップ中に IBM Watson® Discovery に保存されたデータに変更が加えられると、バックアップが破損して使用できなくなる可能性があるため、バックアップ期間中は飛行中のリクエストは許可されない。
処理中の要求は、以下のアクションを含む、データを処理する IBM Watson® Discovery アクションです。
- ソース・クロール (スケジュール済みまたはスケジュール解除済み)
- 文書の取り込み
- トレーニング対象のモデル照会のトレーニング
バックアップ・スクリプトを実行するノードで使用可能なストレージの量は、バックアップする予定のデータ・ストア内の最大バックアップ・ファイルの 3 倍でなければなりません。 データ・ストアが大きい場合は、ノードの一時ストレージに依存するのではなく、永続ボリューム要求を使用することを検討してください。 詳しくは、 PVC を使用するためのジョブの構成 を参照してください。
バックアップスクリプトを使用して IBM Watson® Discovery データをバックアップするには、以下の手順を実行します:
-
以下のコマンドを入力して、Discovery インスタンスがデプロイされている現在の名前空間を設定します。
oc project <namespace>
-
GitHub リポジトリーからバックアップ・スクリプトを取得します。
バックアップとリストアを実行するには、リポジトリー内のすべてのファイルが必要です。 GitHub Help の指示に従って、リポジトリのクローンまたは圧縮ファイルをダウンロードしてください。
-
以下のコマンドを実行して、各スクリプトを実行可能ファイルにします。
chmod +x <name-of-script>
<name-of-script>
をスクリプトの名前に置き換えます。 -
all-backup-restore.sh
スクリプトを実行します。./all-backup-restore.sh backup [ -f backup_file_name ] [--pvc]
-f backup_file_name
パラメーターはオプションです。 名前を指定しない場合は、watson_discovery_<timestamp>.backup
という名前が使用されます。--pvc
パラメーターはオプションです。 いつ使用するかについて詳しくは、 PVC を使用するためのジョブの構成 を参照してください。 デフォルトでは、バックアップ・スクリプトとリストア・スクリプトは、バックアップ・ファイルを抽出または圧縮するためにスクリプトが使用するtmp
ディレクトリーを現行ディレクトリー内に作成します。バックアップで問題が発生した場合は、
--use-job
パラメーターを指定してバックアップ・コマンドを再実行してください。 このパラメーターは、デフォルトで Kubernetes ジョブを使用する Postgresに加えて、 Kubernetes ジョブを使用して ElasticSearch および MinIO をバックアップするようにバックアップ・スクリプトに指示します。 ElasticSearch および MinIO のデータのサイズが大きく、一時ストレージが不十分な場合は、--pvc
オプションを指定します。 これを行うと、スクリプトは、ジョブの一時作業ディレクトリーとして、emptyDir
一時ストレージではなく、--pvc
オプションで指定された永続ボリューム要求を使用します。
バックアップ・アーカイブ・ファイルからのファイルの抽出
これらのスクリプトは、ステップ 1 でリストしたサービスのバックアップ・ファイルを含むアーカイブ・ファイルを生成します。
-
以下のコマンドを実行して、アーカイブ・ファイルからファイルを抽出できます。
tar xvf <backup_file_name>
PVC を使用するためのジョブの構成
バックアップとリストアのプロセスでは、 Kubernetes ジョブを使用します。 ジョブは、一時ストレージを使用する一時ボリュームを使用します。 これは、ノードのローカル・ストレージを使用するポッド上の一時ストレージ・マウントです。 まれに、一時ストレージの大きさが十分でない場合があります。 オプションで、バックアップ・データの保管に使用する永続ボリューム要求 (PVC) をポッドにマウントするようにジョブに指示することができます。 これを行うには、スクリプトの実行時に
--pvc
オプションを指定します。 それ以外の場合、スクリプトは Kubernetes の emptyDir
を使用します。
ほとんどの場合、永続ボリュームを使用する必要はありません。 永続ボリュームを使用することを選択した場合、ボリュームは、データ・ストア内の最大バックアップ・ファイルの 3 倍の大きさでなければなりません。 データ・ストアのバックアップ・ファイルのサイズは、使用量によって異なります。 バックアップを作成した後、 アーカイブ・ファイルからファイルを抽出 して、ファイル・サイズを確認できます。
また、ローカル・システムでは、データ・ストアのサイズの 2 倍のディスク・スペースが使用可能でなければなりません。これは、データのアーカイブが分割され、クラスター・ノードからローカル・システムに大容量ファイルをコピーするときに発生する可能性がある問題を回避するために再結合されるためです。
マルチテナント・クラスターのマッピング
4.0.6 より前のバージョンから新しいリリースにバックアップされたデータをリストアする際に、バックアップされたデプロイメントに複数のサービス・インスタンスがプロビジョンされていた場合は、追加のステップが必要になります。 バックアップされたクラスターとデータがリストアされるクラスターの間でサービス・インスタンス ID をマップする JSON ファイルを作成する必要があります。
バックアップ・ステップとリストア・ステップの間でインスタンス ID が変更されなかった場合、このマッピング・ステップは必要ありません。 例えば、バックアップ元のクラスターと同じクラスターにデータをリストアする場合や、 Discovery インスタンスがないまったく新しいクラスターにデータをリストアする場合は、このステップをスキップできます。
マッピングを作成するには、以下の手順を実行する:
-
バックアップ・アーカイブ・ファイルからマッピング・テンプレート・ファイルを抽出します。
tar xf <backup_file_name> tmp/instance_mapping.json -O > <mapping_file_name>
-
データがリストアされるクラスターにプロビジョンされるサービス・インスタンスの名前とインスタンス ID のリストを作成します。
インスタンスIDは、インスタンスの概要ページで指定されている URL の一部です。 IBM Cloud Pak for Data ウェブクライアントのメインメニューで、「サービス」を展開し、「インスタンス」をクリックします。 インスタンスを見つけてクリックし、サマリー・ページを開きます。 ページの 「アクセス情報」セクションまでスクロールし、該当するインスタンスIDが記載されているフィールドを探します。 URL フィールドに表示されている
例えば、
https://<host_name>/wd/<namespace>-wd/instances/<instance_id>/api
です。このステップを繰り返して、プロビジョンされるすべてのインスタンスのインスタンス ID をメモします。
-
マッピング・ファイルを編集します。
前のステップでリストした宛先サービス・インスタンスのインスタンス ID を追加します。 次のスニペットはマッピング・ファイルの例である。
{ "instance_mappings": [ { "display_name": "discovery-1", "source_instance_id": "1644822491506334", "dest_instance_id": "<new_instance_id>" }, { "display_name": "discovery-2", "source_instance_id": "1644822552830325", "dest_instance_id": "<new_instance_id>" } ] }
リストア・スクリプトを実行する場合は、オプションの --mapping
パラメーターを指定して、データのリストア時にこのマッピング・ファイルを適用します。
手動でのデータのバックアップ
スクリプトを使用して、バックアップされていないデータを手動でバックアップします。
Discovery のインスタンスからデータを手動でバックアップするには、以下の手順を実行します。
-
次のコマンドを入力して、Discovery クラスターにログオンします。
oc login https://<OpenShift administrative console URL> \ -u <cluster administrator username> -p <password>
-
以下のコマンドを入力して、適切な名前空間に切り替えます。
oc project <discovery-install namespace>
-
oc get pods|grep crawler
と入力します。 -
以下のコマンドを入力します。
oc cp <crawler pod>:/mnt <path-to-backup-directory>
リストア・スクリプトの使用
4.0.6 より前のバージョンからデータをリストアしていて、マルチテナント・クラスターをマルチテナント・クラスターにリストアする場合は、開始する前に追加のステップを実行する必要があります。 詳しくは、 マルチテナント・クラスターのマッピング を参照してください。
復元スクリプトを使用して、 IBM Watson® Discovery のデータを復元するには、次の手順を実行します:
-
以下のコマンドを入力して、Discovery インスタンスがデプロイされている現在の名前空間を設定します。
oc project <namespace>
-
リストア・スクリプトをまだ取得していない場合は、 GitHub リポジトリーから取得します。
バックアップとリストアを実行するには、リポジトリー内のすべてのファイルが必要です。 GitHub Help の指示に従って、リポジトリのクローンまたは圧縮ファイルをダウンロードしてください。
-
以下のコマンドを実行して、各スクリプトを実行可能ファイルにします。
chmod +x <name-of-script>
<name-of-script>
をスクリプトの名前に置き換えます。 -
次のコマンドを実行して、ローカル システム上のバックアップ ファイルから 新しい配置( Discovery )にデータをリストアします:
./all-backup-restore.sh restore -f backup_file_name [--pvc] [--mapping]
--pvc
パラメーターはオプションです。 いつ使用するかについて詳しくは、 PVC を使用するためのジョブの構成 を参照してください。--mapping
パラメーターはオプションです。 いつ使用するかについて詳しくは、 マルチテナント・クラスターのマッピング を参照してください。デフォルトでは、バックアップ・スクリプトとリストア・スクリプトは、バックアップ・ファイルを抽出または圧縮するためにスクリプトが使用する
tmp
ディレクトリーを現行ディレクトリー内に作成します。 データのバックアップ時に--use-job
パラメーターを使用した場合は、データのリストア時に再度指定してください。 このパラメーターは、 Kubernetes ジョブを使用して ElasticSearch および MinIOをバックアップするようにバックアップ・スクリプトに指示します。gateway
、ingestion
、orchestrator
、hadoop worker
、controller
ポッドは自動的に再起動する。
手動でのデータのリストア
スクリプトを使用して、リストアできないデータを手動でリストアします。
Discovery のインスタンスからデータを手動でリストアするには、以下の手順を実行します。
-
次のコマンドを入力して、Discovery クラスターにログオンします。
oc login https://<OpenShift administrative console URL> \ -u <cluster administrator username> -p <password>
-
以下のコマンドを入力して、適切な名前空間に切り替えます。
oc project <discovery-install namespace>
-
oc get pods|grep crawler
と入力します。 -
以下のコマンドを入力します。
oc cp <path-to-backup-directory> <crawler pod>:/mnt
OADP を使用した、 Discovery がインストールされているクラスターのオフライン・バックアップ
IBM Cloud Pak for Data Red Hat OpenShift API for Data Protection (OADP) を使用して、 IBM Cloud Pak for Data インスタンス全体をオフラインでバックアップおよびリストアする予定の場合は、適切な手順を実行する必要があります。 Cloud Pak for Data オフライン・バックアップおよびリストア(OADP ユーティリティー)を参照してください。
クラスタをオフラインでバックアップする
クラスターのオフライン・バックアップを実行するには、以下の手順を実行します。
-
Discovery バックアップ・スクリプト を実行します。
-
OADP バックアップ・ユーティリティー を使用して、クラスターをバックアップします。
オフラインでのクラスターのリストア
クラスタをオフラインでリストアするには、以下の手順を実行します:
-
OADP バックアップ・ユーティリティー を使用して、クラスターをリストアします。
-
Discoveryをアンインストールしてから、リストアされたクラスターに Discovery を再度インストールします。
ユーティリティーは常に Discovery を正しく再インストールするわけではないため、再インストールが必要です。
-
Discovery リストア・スクリプト を実行して、データをリストアします。