還原應用程式
Astra Control可以從快照或備份還原應用程式。將應用程式還原至同一個叢集時、從現有的快照還原速度會更快。您可以使用Astra Control UI或 "Astra Control API" 以還原應用程式。
-
* 請先保護應用程式 * :強烈建議您在還原應用程式之前、先拍攝快照或備份應用程式。這可讓您在還原失敗時、從快照或備份複製。
-
* 檢查目的地 Volume * :如果您還原至不同的儲存類別、請確定儲存類別使用相同的持續磁碟區存取模式(例如 ReadWriteMany )。如果目的地持續磁碟區存取模式不同、還原作業將會失敗。例如、如果來源持續性磁碟區使用 rwx 存取模式、請選取無法提供 rwx 的目的地儲存類別、例如 Azure Managed Disks 、 AWS EBS 、 Google Persistent Disk 或 `ontap-san`將導致還原作業失敗。如需持續磁碟區存取模式的詳細資訊、請參閱 "Kubernetes" 文件。
-
* 空間需求規劃 * :當您對使用 NetApp ONTAP 儲存設備的應用程式執行原位還原時、還原的應用程式所使用的空間可能加倍。執行就地還原之後、請從還原的應用程式中移除任何不想要的快照、以釋放儲存空間。
-
* (僅限 Red Hat OpenShift 叢集)新增原則 * :當您建立專案以在 OpenShift 叢集上裝載應用程式時、會將專案(或 Kubernetes 命名空間)指派為 SecurityContext UID 。若要啟用Astra Control Center來保護應用程式、並將應用程式移至OpenShift中的其他叢集或專案、您必須新增原則、讓應用程式以任何唯一識別碼的形式執行。例如、下列OpenShift CLI命令會將適當的原則授予WordPress應用程式。
「occ new-project worm新聞」(occ new-project wormPress)「ocadm policy add-scc to-group anyuid system:serviceaccounts:wormPress」(ocadm policy add-scc對使用者權限-z預設值-n wormPress)
-
* 支援的儲存類別驅動程式 * : Astra Control 支援使用下列驅動程式所支援的儲存類別還原備份:
-
ontap-nas
-
ontap-nas-economy
-
ontap-san
-
ontap-san-economy
-
-
* (僅限 ONTAP NAS 經濟型驅動程式)備份與還原 * :備份或還原使用以作為備份之儲存類別的應用程式之前
ontap-nas-economy
請驗證驅動程式 "ONTAP 儲存後端上的 Snapshot 目錄會隱藏"。若未隱藏此目錄、可能會導致無法存取您的應用程式、尤其是在使用 NFSv3 的情況下。 -
* Helm 部署的應用程式 * :完全支援使用 Helm 3 部署的應用程式(或從 Helm 2 升級至 Helm 3 )。不支援以Helm 2部署的應用程式。
在與其他應用程式共用資源的應用程式上執行就地還原作業、可能會產生非預期的結果。在其中一個應用程式上執行就地還原時、應用程式之間共享的任何資源都會被取代。如需詳細資訊、請參閱 此範例。 |
視您要還原的歸檔類型而定、請執行下列步驟:
使用 Web UI 從備份或快照還原資料
您可以使用 Astra Control Web UI 還原資料。
-
選取*應用程式*、然後選取應用程式名稱。
-
從「動作」欄的「選項」功能表中、選取 * 還原 * 。
-
選擇還原類型:
-
還原至原始命名空間:使用此程序可將應用程式就地還原至原始叢集。
如果您的應用程式使用以作為後盾的儲存類別 ontap-nas-economy
驅動程式、您必須使用原始儲存類別還原應用程式。如果您要將應用程式還原至相同的命名空間、則無法指定不同的儲存類別。-
選取要用來還原應用程式的快照或備份、此應用程式會將應用程式還原為其舊版。
-
選擇*下一步*。
如果還原至先前刪除的命名空間、則會在還原程序中建立名稱相同的新命名空間。任何在先前刪除命名空間中擁有管理應用程式權限的使用者、都必須手動還原新重新建立命名空間的權限。
-
-
還原至新命名空間:使用此程序可將應用程式還原至其他叢集、或從來源還原具有不同命名空間的叢集。
-
指定還原的應用程式名稱。
-
針對您要還原的應用程式、選擇目的地叢集。
-
為每個與應用程式相關聯的來源命名空間輸入目的地命名空間。
Astra Control會在此還原選項中建立新的目的地命名空間。您指定的目的地命名空間不得已存在於目的地叢集上。 -
選擇*下一步*。
-
選取要用來還原應用程式的快照或備份。
-
選擇*下一步*。
-
請選擇下列其中一項:
-
* 使用原始儲存類別還原 * :除非目標叢集上不存在、否則應用程式會使用原本關聯的儲存類別。在這種情況下、將會使用叢集的預設儲存類別。
-
* 使用不同的儲存類別還原 * :選取目標叢集上存在的儲存類別。所有應用程式磁碟區、無論其最初關聯的儲存類別為何、都會移轉到這個不同的儲存類別、作為還原的一部分。
-
-
選擇*下一步*。
-
-
-
選擇要篩選的任何資源:
-
* 還原所有資源 * :還原與原始應用程式相關的所有資源。
-
* 篩選資源 * :指定還原原始應用程式資源子集的規則:
-
選擇從還原的應用程式中包含或排除資源。
-
選取 * 新增包含規則 * 或 * 新增排除規則 * 、然後設定規則、在應用程式還原期間篩選正確的資源。您可以編輯或移除規則、然後再次建立規則、直到組態正確為止。
若要瞭解如何設定 INCLUDE 及 EXCLUDE 規則、請參閱 在應用程式還原期間篩選資源。
-
-
-
選擇*下一步*。
-
仔細檢閱還原動作的詳細資料、輸入「還原」(如有提示)、然後選取 * 還原 * 。
[ 技術預覽 ] 使用自訂資源( CR )從備份還原
您可以使用自訂資源( CR )檔案、將備份資料還原至不同的命名空間或原始來源命名空間。
-
建立自訂資源( CR )檔案並命名
astra-control-backup-restore-cr.yaml
。更新括弧 <> 中的值以符合 Astra Control 環境和叢集組態:-
<CR_NAME> :此 CR 作業的名稱;請為您的環境選擇合理的名稱。
-
<APPVAULT_NAME> :儲存備份內容的 AppVault 名稱。
-
<BACKUP_PATH> :儲存備份內容的 AppVault 內部路徑。例如:
ONTAP-S3_1343ff5e-4c41-46b5-af00/backups/schedule-20231213023800_94347756-9d9b-401d-a0c3
-
<SOURCE_NAMESPACE> :還原作業的來源命名空間。
-
<DESTINATION_NAMESPACE> :還原作業的目的地命名空間。
apiVersion: astra.netapp.io/v1 kind: BackupRestore metadata: name: <CR_NAME> namespace: astra-connector spec: appVaultRef: <APPVAULT_NAME> appArchivePath: <BACKUP_PATH> namespaceMapping: [{"source": "<SOURCE_NAMESPACE>", "destination": "<DESTINATION_NAMESPACE>"}]
-
-
(選用)如果您只需要選取應用程式的某些資源進行還原、請新增篩選功能、以包含或排除標記有特定標籤的資源:
-
「 <INCLUDE-EXCLUDE> 」: _ (篩選所需) _ 使用
include
或exclude
包括或排除在資源管理器中定義的資源。新增下列資源配置工具參數、以定義要納入或排除的資源:-
<GROUP> : _ (選用) _ 要篩選的資源群組。
-
<KIND> : _ (選擇性) _ 要篩選的資源種類。
-
<VERSION> : _ (選用) _ 要篩選的資源版本。
-
<NAMES> :要篩選之資源的 Kubernetes metadata.name 欄位中的 _ (選用) _ 名稱。
-
<NAMESPACES> : _ (選用) _ 要篩選之資源的 Kubernetes metadata.name 欄位中的命名空間。
-
<SELECTORS> : _ (選擇性) _ 資源的 Kubernetes metadata.name 欄位中的標籤選取器字串、如中所定義 "Kubernetes文件"。範例:
"trident.netapp.io/os=linux"
。範例:
-
spec: resourceFilter: resourceSelectionCriteria: "<INCLUDE-EXCLUDE>" resourceMatchers: group: <GROUP> kind: <KIND> version: <VERSION> names: <NAMES> namespaces: <NAMESPACES> labelSelectors: <SELECTORS>
-
-
填入之後
astra-control-backup-restore-cr.yaml
使用正確值的檔案、請套用 CR :kubectl apply -f astra-control-backup-restore-cr.yaml
-
建立自訂資源( CR )檔案並命名
astra-control-backup-ipr-cr.yaml
。更新括弧 <> 中的值以符合 Astra Control 環境和叢集組態:-
<CR_NAME> :此 CR 作業的名稱;請為您的環境選擇合理的名稱。
-
<APPVAULT_NAME> :儲存備份內容的 AppVault 名稱。
-
<BACKUP_PATH> :儲存備份內容的 AppVault 內部路徑。例如:
ONTAP-S3_1343ff5e-4c41-46b5-af00/backups/schedule-20231213023800_94347756-9d9b-401d-a0c3
apiVersion: astra.netapp.io/v1 kind: BackupInplaceRestore metadata: name: <CR_NAME> namespace: astra-connector spec: appVaultRef: <APPVAULT_NAME> appArchivePath: <BACKUP_PATH>
-
-
(選用)如果您只需要選取應用程式的某些資源進行還原、請新增篩選功能、以包含或排除標記有特定標籤的資源:
-
「 <INCLUDE-EXCLUDE> 」: _ (篩選所需) _ 使用
include
或exclude
包括或排除在資源管理器中定義的資源。新增下列資源配置工具參數、以定義要納入或排除的資源:-
<GROUP> : _ (選用) _ 要篩選的資源群組。
-
<KIND> : _ (選擇性) _ 要篩選的資源種類。
-
<VERSION> : _ (選用) _ 要篩選的資源版本。
-
<NAMES> :要篩選之資源的 Kubernetes metadata.name 欄位中的 _ (選用) _ 名稱。
-
<NAMESPACES> : _ (選用) _ 要篩選之資源的 Kubernetes metadata.name 欄位中的命名空間。
-
<SELECTORS> : _ (選擇性) _ 資源的 Kubernetes metadata.name 欄位中的標籤選取器字串、如中所定義 "Kubernetes文件"。範例:
"trident.netapp.io/os=linux"
。範例:
-
spec: resourceFilter: resourceSelectionCriteria: "<INCLUDE-EXCLUDE>" resourceMatchers: group: <GROUP> kind: <KIND> version: <VERSION> names: <NAMES> namespaces: <NAMESPACES> labelSelectors: <SELECTORS>
-
-
填入之後
astra-control-backup-ipr-cr.yaml
使用正確值的檔案、請套用 CR :kubectl apply -f astra-control-backup-ipr-cr.yaml
[ 技術預覽 ] 使用自訂資源( CR )從快照還原
您可以使用自訂資源( CR )檔案、將資料從快照還原至不同的命名空間或原始來源命名空間。
-
建立自訂資源( CR )檔案並命名
astra-control-snapshot-restore-cr.yaml
。更新括弧 <> 中的值以符合 Astra Control 環境和叢集組態:-
<CR_NAME> :此 CR 作業的名稱;請為您的環境選擇合理的名稱。
-
<APPVAULT_NAME> :儲存備份內容的 AppVault 名稱。
-
<BACKUP_PATH> :儲存備份內容的 AppVault 內部路徑。例如:
ONTAP-S3_1343ff5e-4c41-46b5-af00/backups/schedule-20231213023800_94347756-9d9b-401d-a0c3
-
<SOURCE_NAMESPACE> :還原作業的來源命名空間。
-
<DESTINATION_NAMESPACE> :還原作業的目的地命名空間。
apiVersion: astra.netapp.io/v1 kind: SnapshotRestore metadata: name: <CR_NAME> namespace: astra-connector spec: appArchivePath: <BACKUP_PATH> appVaultRef: <APPVAULT_NAME> namespaceMapping: [{"source": "<SOURCE_NAMESPACE>", "destination": "<DESTINATION_NAMESPACE>"}]
-
-
(選用)如果您只需要選取應用程式的某些資源進行還原、請新增篩選功能、以包含或排除標記有特定標籤的資源:
-
「 <INCLUDE-EXCLUDE> 」: _ (篩選所需) _ 使用
include
或exclude
包括或排除在資源管理器中定義的資源。新增下列資源配置工具參數、以定義要納入或排除的資源:-
<GROUP> : _ (選用) _ 要篩選的資源群組。
-
<KIND> : _ (選擇性) _ 要篩選的資源種類。
-
<VERSION> : _ (選用) _ 要篩選的資源版本。
-
<NAMES> :要篩選之資源的 Kubernetes metadata.name 欄位中的 _ (選用) _ 名稱。
-
<NAMESPACES> : _ (選用) _ 要篩選之資源的 Kubernetes metadata.name 欄位中的命名空間。
-
<SELECTORS> : _ (選擇性) _ 資源的 Kubernetes metadata.name 欄位中的標籤選取器字串、如中所定義 "Kubernetes文件"。範例:
"trident.netapp.io/os=linux"
。範例:
-
spec: resourceFilter: resourceSelectionCriteria: "<INCLUDE-EXCLUDE>" resourceMatchers: group: <GROUP> kind: <KIND> version: <VERSION> names: <NAMES> namespaces: <NAMESPACES> labelSelectors: <SELECTORS>
-
-
填入之後
astra-control-snapshot-restore-cr.yaml
使用正確值的檔案、請套用 CR :kubectl apply -f astra-control-snapshot-restore-cr.yaml
-
建立自訂資源( CR )檔案並命名
astra-control-snapshot-ipr-cr.yaml
。更新括弧 <> 中的值以符合 Astra Control 環境和叢集組態:-
<CR_NAME> :此 CR 作業的名稱;請為您的環境選擇合理的名稱。
-
<APPVAULT_NAME> :儲存備份內容的 AppVault 名稱。
-
<BACKUP_PATH> :儲存備份內容的 AppVault 內部路徑。例如:
ONTAP-S3_1343ff5e-4c41-46b5-af00/backups/schedule-20231213023800_94347756-9d9b-401d-a0c3
apiVersion: astra.netapp.io/v1 kind: SnapshotInplaceRestore metadata: name: <CR_NAME> namespace: astra-connector spec: appArchivePath: <BACKUP_PATH> appVaultRef: <APPVAULT_NAME>
-
-
(選用)如果您只需要選取應用程式的某些資源進行還原、請新增篩選功能、以包含或排除標記有特定標籤的資源:
-
「 <INCLUDE-EXCLUDE> 」: _ (篩選所需) _ 使用
include
或exclude
包括或排除在資源管理器中定義的資源。新增下列資源配置工具參數、以定義要納入或排除的資源:-
<GROUP> : _ (選用) _ 要篩選的資源群組。
-
<KIND> : _ (選擇性) _ 要篩選的資源種類。
-
<VERSION> : _ (選用) _ 要篩選的資源版本。
-
<NAMES> :要篩選之資源的 Kubernetes metadata.name 欄位中的 _ (選用) _ 名稱。
-
<NAMESPACES> : _ (選用) _ 要篩選之資源的 Kubernetes metadata.name 欄位中的命名空間。
-
<SELECTORS> : _ (選擇性) _ 資源的 Kubernetes metadata.name 欄位中的標籤選取器字串、如中所定義 "Kubernetes文件"。範例:
"trident.netapp.io/os=linux"
。範例:
-
spec: resourceFilter: resourceSelectionCriteria: "<INCLUDE-EXCLUDE>" resourceMatchers: group: <GROUP> kind: <KIND> version: <VERSION> names: <NAMES> namespaces: <NAMESPACES> labelSelectors: <SELECTORS>
-
-
填入之後
astra-control-snapshot-ipr-cr.yaml
使用正確值的檔案、請套用 CR :kubectl apply -f astra-control-snapshot-ipr-cr.yaml
Astra Control會根據您提供的資訊還原應用程式。如果您就地還原應用程式、現有持續磁碟區的內容會由還原應用程式的持續磁碟區內容取代。
在資料保護作業(複製、備份或還原)及後續持續調整磁碟區大小之後、新的磁碟區大小會在網路UI中顯示、延遲最多20分鐘。資料保護作業只需幾分鐘就能成功完成、您可以使用儲存後端的管理軟體來確認磁碟區大小的變更。 |
任何具有命名空間限制的成員使用者、都可以使用命名空間名稱/ ID或命名空間標籤、將應用程式複製或還原到同一個叢集上的新命名空間、或是組織帳戶中的任何其他叢集。不過、相同的使用者無法存取新命名空間中的複製或還原應用程式。在複製或還原作業建立新命名空間之後、帳戶管理員 / 擁有者可以編輯成員使用者帳戶、並更新受影響使用者的角色限制、以授予新命名空間的存取權。 |
在應用程式還原期間篩選資源
您可以將篩選規則新增至 "還原" 將指定要從還原的應用程式中包含或排除的現有應用程式資源的作業。您可以根據指定的命名空間、標籤或 GVK ( GroupVersionKind )來包含或排除資源。
展開以深入瞭解納入和排除案例
-
* 您選擇包含原始命名空間的 INCLUDE 規則(原地還原) * :您在規則中定義的現有應用程式資源將會刪除、並由您用於還原的選定快照或備份中的資源取代。您未在「包括」規則中指定的任何資源將保持不變。
-
* 您選擇包含新命名空間的 INCLUDE 規則 * :使用該規則在還原的應用程式中選取所需的特定資源。您未在「包括」規則中指定的任何資源將不會包含在還原的應用程式中。
-
* 您選擇具有原始命名空間的排除規則(就地還原) * :您指定要排除的資源將不會還原、並保持不變。您未指定排除的資源將會從快照或備份還原。如果對應的 StateSetSet 是篩選資源的一部分、則持續磁碟區上的所有資料都會被刪除並重新建立。
-
* 您選取含有新命名空間的排除規則 * :使用規則選取您要從還原的應用程式中移除的特定資源。您未指定排除的資源將會從快照或備份還原。
規則可以是「包含」或「排除」類型。合併資源包容與排除的規則無法使用。
-
在您選擇篩選資源並在「還原應用程式」精靈中選取「包含」或「排除」選項之後、請選取 * 新增「包括」規則 * 或 * 新增排除規則 * 。
您無法排除 Astra Control 自動包含的任何叢集範圍資源。 -
設定篩選規則:
您必須指定至少一個命名空間、標籤或 GVK 。請確保套用篩選規則後保留的任何資源、足以讓還原的應用程式保持正常狀態。 -
選取規則的特定命名空間。如果您沒有進行選擇、篩選器將會使用所有命名空間。
如果您的應用程式原本包含多個命名空間、而您將其還原至新命名空間、則即使所有命名空間不包含資源、也會建立這些命名空間。 -
(選用)輸入資源名稱。
-
(選用) * 標籤選取器 * :包含 A "標籤選取器" 新增至規則。標籤選取器僅用於篩選符合所選標籤的資源。
-
(選用)選取 * 使用設定為篩選資源 * 的 GVK ( GroupVersionKind )、以取得其他篩選選項。
如果您使用的是 GVK 篩選器、則必須指定版本和種類。 -
(選用) * 群組 * :從下拉式清單中選取 Kubernetes API 群組。
-
* 種類 * :從下拉式清單中、選取要在篩選器中使用的 Kubernetes 資源類型的物件架構。
-
* 版本 * :選取 Kubernetes API 版本。
-
-
-
根據您的輸入項目來檢閱建立的規則。
-
選取*「Add*」。
您可以根據需要建立任意數量的資源、包括和排除規則。這些規則會在您開始作業之前顯示在還原應用程式摘要中。
應用程式與其他應用程式共用資源的就地還原複雜度
您可以在與其他應用程式共用資源的應用程式上執行就地還原作業、並產生非預期的結果。在其中一個應用程式上執行就地還原時、應用程式之間共享的任何資源都會被取代。
以下是使用 NetApp SnapMirror 複寫進行還原時、造成不必要情況的範例案例:
-
您可以定義應用程式
app1
使用命名空間ns1
。 -
您可以設定的複寫關係
app1
。 -
您可以定義應用程式
app2
(在同一個叢集上)使用命名空間ns1
和ns2
。 -
您可以設定的複寫關係
app2
。 -
您可以針對進行反轉複寫
app2
。這會導致app1
要停用的來源叢集上的應用程式。