備份及還原資料
使用下列程序備份和還原 IBM Watson® Discovery 中的資料。
IBM Cloud Pak for Data IBM Software Hub
此資訊僅適用於已安裝的部署。
您可以使用同一組備份及還原 Script,在任何支援的升級路徑中備份及還原資料。 備份 Script 會儲存服務的版本號碼,以及要從現有部署備份的資料。 還原指令碼會偵測新部署上安裝的服務版本,然後依據適當的步驟將資料還原為偵測到的版本。
下表列出 Script 支援的升級路徑。
| 使用中的版本 | 您可以升級至的版本 |
|---|---|
| 5.1.x | 5.1.x 之後的版本、5.2.0 |
| 5.0.x | 後來的版本 5.0.x, 5.1.x、5.2.0 |
| 4.8.8, 4.8.9 | 5.1.1 或更新版本 |
| 4.8.7 | 後來的版本 4.8.x, 5.1.x、5.2.0 |
| 4.8.6 | 後來的版本 4.8.x, 5.0.3, 5.1.x、5.2.0 |
| 4.8.x | 後來的版本 4.8.x, 5.0.x, 5.1.x、5.2.0 |
| 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.2.x,完成升級的較簡單方法會在以下主題中說明:
如果您要升級到 5.1.x,完成升級的較簡單方法會在以下主題中說明:
如果您要升級至 5.0.x,下列主題說明更簡單的升級完成方式:
如果您使用 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 版本。 如需相關資訊,請參閱 將 Watson Discovery 從 4.8.x 版升級至更新的 4.8 重新整理。
您可以從一個 4.7.x 版本直接升級至更新的 4.7.y 版本。 如需相關資訊,請參閱 將 Watson Discovery 從 4.7.x 版升級至更新的 4.7 重新整理。
您可以從一個 4.6.x 版本直接升級至更新的 4.6.y 版本。 如需相關資訊,請參閱 將 Watson Discovery 從 4.6.x 版升級至更新的 4.6 重新整理。
您可以從一個 4.5.x 版本直接升級至更新的 4.5.y 版本。 如需相關資訊,請參閱 將 Watson Discovery 升級至最新 4.5 版重新整理。
您可以從一個 4.0.x 版本直接升級至更新的 4.0.y 版本。 如需相關資訊,請參閱 將 Watson Discovery 升級至較新的 4.0 重新整理。
處理程序概觀
在高層次,處理程序包括下列步驟:
- 使用備份 Script 來備份 Discovery 資料。
- 安裝最新版本的 IBM Cloud Pak for Data。
- 在叢集上安裝最新版本的 Discovery 服務。
- 使用還原 Script 來還原已備份的 Discovery 資料。
備份和還原限制
您無法遷移下列資料:
- 字典建議模型。 當您建置字典時,會建立這些模型。 字典包括在備份中,但術語建議模型不是。 重新處理已移轉的集合,以啟用字典術語建議。
- 您無法備份及還原策展或移轉策展,因為策展是測試版特性。
您可以使用備份和還原指令碼來備份和還原某些資料,但必須手動備份和還原其他資料。 必須手動備份下列資料:
- 您可以使用「本端檔案系統」資料來源搜索的本端檔案系統資料夾與文件。
在您的集合還原時會進行下列更新:
- 任何包含透過上傳資料所建立之文件的集合,都會自動重新搜索並在還原時重新檢索。 這些文件在已修復的館藏中會被指定新的文件 ID 號。
- 在 內容採礦 專案中使用的集合會自動重新搜索並在還原時重新檢索。 在還原的集合中,只會指派新的文件 ID 號碼給上傳資料所新增的文件。
備份和還原方法
您可以手動或使用 Script 來備份及還原 Discovery 的實例。
您必須對 Discovery 叢集上的 Discovery 實例具有管理存取權 (要備份的資料儲存在其中),以及對新實例 (資料將還原至其中) 的管理存取權。
備份及還原 Script 會完成許多作業,並可能需要相當長的時間來執行。 若要避免逾時問題,請執行可防止逾時的工具,例如 nohup。
使用備份 Script
由於在備份期間對 IBM Watson® Discovery 中儲存的資料進行變更會導致備份損毀且無法使用,因此在備份期間不允許任何在飛要求。
進行中要求是處理資料的任何 IBM Watson® Discovery 動作,包括下列動作:
- 來源搜索 (已排程或未排程)
- 汲取文件
- 對已訓練的查詢模型進行訓練
在您執行備份 Script 的節點中可用的儲存體量必須是您計劃備份之資料儲存庫中最大備份檔的 3 倍。 如果您的資料儲存庫很大,請考慮使用持續性磁區要求,而不是依賴節點的暫時儲存體。 如需相關資訊,請參閱 配置工作以使用 PVC。
完成下列步驟,使用備份指令碼備份 IBM Watson® Discovery 資料:
-
輸入下列指令以設定部署 Discovery 實例的現行名稱空間:
oc project <namespace> -
從 GitHub 儲存庫取得備份 Script。
您需要儲存庫中的所有檔案才能完成備份及還原。 請遵循 GitHub 說明中的指示,克隆或下載套件庫的壓縮檔案。
-
執行下列指令,使每一個 Script 成為執行檔:
chmod +x <name-of-script>將
<name-of-script>取代為 Script 的名稱。 -
執行
all-backup-restore.shScript。./all-backup-restore.sh backup [ -f backup_file_name ] [--pvc]-f backup_file_name參數是選用的。 如果您未指定名稱,則會使用名稱watson_discovery_<timestamp>.backup。--pvc參數是選用的。 如需何時使用它的相關資訊,請參閱 配置工作以使用 PVC。 依預設,備份及還原 Script 會在 Script 用於解壓縮或壓縮備份檔的現行目錄中建立tmp目錄。如果您遇到備份問題,請重新執行備份指令並包含
--use-job參數。 除了依預設使用 Kubernetes 工作的 Postgres之外,此參數還指示備份 Script 使用 Kubernetes 工作來備份 ElasticSearch 及 MinIO。 如果 ElasticSearch 及 MinIO 中的資料大小較大,且暫時儲存體不足,請包括--pvc選項。 當您這麼做時,Script 會使用以--pvc選項指定的持續性磁區要求,而非emptyDir暫時儲存體作為工作的暫時工作目錄。
從備份保存檔擷取檔案
這些 Script 會產生保存檔,包括步驟 1 所列服務的備份檔。
-
您可以執行下列指令,從保存檔解壓縮檔案:
tar xvf <backup_file_name>
配置工作以使用 PVC
備份及還原處理程序使用 Kubernetes 工作。 工作使用使用暫時儲存體的暫時磁區。 它是使用節點本端儲存體之 Pod 上的暫時儲存體裝載。 在極少數情況下,暫時儲存體不夠大。 您可以選擇性地指示工作在其 Pod 上裝載持續性磁區要求 (PVC),以用於儲存備份資料。 若要這樣做,請在執行 Script 時指定 --pvc 選項。 否則,Script 會使用 Kubernetes 的 emptyDir。
在大部分情況下,您不需要使用持續性磁區。 如果您選擇使用持續性磁區,則磁區必須是資料儲存庫中最大備份檔的 3 倍。 資料儲存庫備份檔的大小取決於使用情形。 建立備份之後,您可以 從保存檔解壓縮檔案 來檢查檔案大小。
此外,您在本端系統上的可用磁碟空間必須是資料儲存庫大小的 2 倍,因為資料保存檔會分割,然後重新組合,以避免將大型檔案從叢集節點複製到本端系統時可能發生的問題。
對映多租戶叢集
當您將從早於 4.0.6 的版本備份的資料還原至任何更新版本,且備份的部署已佈建多個服務實例時,需要額外步驟。 您必須建立 JSON 檔案,以在已備份叢集與正在還原資料的叢集之間對映服務實例 ID。
如果在備份及還原步驟之間未變更實例 ID,則不需要此對映步驟。 例如,如果您要將資料還原至從中備份資料的相同叢集,或者如果您要將資料還原至沒有 Discovery 實例的全新叢集,則可以跳過此步驟。
若要建立映射,請完成下列步驟:
-
從備份保存檔解壓縮對映範本檔。
tar xf <backup_file_name> tmp/instance_mapping.json -O > <mapping_file_name> -
列出佈建至要還原資料之叢集的服務實例名稱及實例 ID。
實體 ID 是 URL 的一部分,在實體摘要頁中指定。 從 IBM Cloud Pak for Data Web 用戶端主功能表,展開服務,然後按一下 Instances。 尋找您的實例,然後按一下它以開啟其摘要頁面。 滾動到頁面的存取資訊部分,並在實例 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>" } ] }
當您執行還原 Script 時,請包含選用 --mapping 參數,以在還原資料時套用此對映檔。
手動備份資料
使用 Script 手動備份未備份的資料。
若要手動備份 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>
使用還原 Script
如果您要從早於 4.0.6 的版本還原資料,並且要將多租戶叢集還原至多租戶叢集,則必須在開始之前採取額外步驟。 如需相關資訊,請參閱 對映多租戶叢集。
完成下列步驟,使用還原指令碼還原 IBM Watson® Discovery 中的資料:
-
輸入下列指令以設定部署 Discovery 實例的現行名稱空間:
oc project <namespace> -
如果您還沒有,請從 GitHub 儲存庫取得還原 Script。
您需要儲存庫中的所有檔案,才能完成備份及還原。 請遵循 GitHub 說明中的指示,克隆或下載套件庫的壓縮檔案。
-
執行下列指令,使每一個 Script 成為執行檔:
chmod +x <name-of-script>將
<name-of-script>取代為 Script 的名稱。 -
執行下列指令,將本機系統的備份檔案中的資料還原到新的 Discovery 部署:
./all-backup-restore.sh restore -f backup_file_name [--pvc] [--mapping]--pvc參數是選用的。 如需何時使用它的相關資訊,請參閱 配置工作以使用 PVC。--mapping參數是選用的。 如需何時使用它的相關資訊,請參閱 對映多租戶叢集。依預設,備份及還原 Script 會在 Script 用於解壓縮或壓縮備份檔的現行目錄中建立
tmp目錄。 如果您在備份資料時使用--use-job參數,請在還原資料時重新指定它。 此參數指示備份 Script 使用 Kubernetes 工作來備份 ElasticSearch 及 MinIO。gateway,ingestion,orchestrator,hadoop worker,和controllerpod 會自動重新啟動。
手動還原資料
手動還原無法使用 Script 還原的資料。
若要手動還原 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 實例來離線備份及還原整個 IBM Cloud Pak for Data Red Hat OpenShift APIs for Data Protection (OADP) 備份及還原公用程式,則必須依正確順序執行一些額外步驟,讓公用程式在 Discovery 存在時正常運作。 請參閱 Cloud Pak for Data 離線備份及還原(OADP 公用程式)。
離線備份群集
若要對叢集進行離線備份,請完成下列步驟:
-
執行 Discovery 備份 Script。
-
使用 OADP 備份公用程式 來備份叢集。
離線還原叢集
若要離線還原群集,請完成下列步驟:
-
使用 OADP 備份公用程式 來還原叢集。
-
解除安裝 Discovery,然後在還原的叢集上再次安裝 Discovery。
需要重新安裝,因為公用程式並非一律正確重新安裝 Discovery。
-
執行 Discovery 還原 Script 以還原資料。