本頁面提供 Apigee Hybrid 中 Cassandra 還原作業的總覽。
為什麼要使用還原功能?
如果發生災難性故障 (例如 Apigee Hybrid 執行個體因災難而無法復原資料),您可以使用備份從頭還原 Apigee 基礎架構。還原作業會從備份位置提取資料,並將資料還原至節點數量相同的新 Cassandra 叢集。系統不會從舊的 Cassandra 叢集擷取任何叢集資料。 還原程序的目標是使用快照中的備份資料,將 Apigee Hybrid 安裝作業還原至先前的運作狀態。
在下列情況下,不建議使用備份還原:
- Cassandra 節點故障。
- 不慎刪除
apps、developers和api_credentials等資料。 - 多區域混合部署中的一或多個區域發生故障。
Apigee Cassandra 部署作業和作業架構會負責單一區域的備援和容錯功能。在大多數情況下,建議您採用多區域混合式生產環境,也就是說,如果某個區域發生故障,可以使用區域停用和擴充程序,從另一個運作中的區域復原,而不必從備份還原。
開始從 Cassandra 備份還原資料前,請注意下列事項:
- 停機時間:還原期間會停機。
- 資料遺失:從最後一次有效備份到還原完成期間,會有資料遺失。
- 還原時間:還原時間取決於資料和叢集的大小。
- 選擇性復原資料:你無法只選取特定資料進行復原。還原功能會還原所選的完整備份內容。
必要條件
確認下列所有必要條件都已成功達成。請先調查任何必要條件失敗情形,再繼續還原。
- 使用下列指令,確認所有 Cassandra Pod 均已啟動並執行。
kubectl get pods -n apigee -l app=apigee-cassandra
輸出內容應如下列範例所示:
NAME READY STATUS RESTARTS AGE apigee-cassandra-default-0 1/1 Running 0 14m apigee-cassandra-default-1 1/1 Running 0 13m apigee-cassandra-default-2 1/1 Running 0 11m exampleuser@example hybrid-files % - 執行下列指令,確認 Cassandra StatefulSet 顯示所有 Pod 都在執行中。
kubectl get sts -n apigee -l app=apigee-cassandra
輸出內容應如下列範例所示:
NAME READY AGE apigee-cassandra-default 3/3 15m - 使用下列指令,確認 ApigeeDatastore 資源處於 running 狀態。
kubectl get apigeeds -n apigee
輸出內容應如下列範例所示:
NAME STATE AGE default running 16m - 使用下列指令,確認所有 Cassandra PVC 都處於 Bound 狀態。
kubectl get pvc -n apigee -l app=apigee-cassandra
輸出內容應如下列範例所示:
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE cassandra-data-apigee-cassandra-default-0 Bound pvc-a14184e7-8745-4b30-8069-9d50642efe04 10Gi RWO standard-rwo 17m cassandra-data-apigee-cassandra-default-1 Bound pvc-ed129dcb-4706-4bad-a692-ac7c78bad64d 10Gi RWO standard-rwo 15m cassandra-data-apigee-cassandra-default-2 Bound pvc-faed0ad1-9019-4def-adcd-05e7e8bb8279 10Gi RWO standard-rwo 13m - 使用下列指令,確認所有 Cassandra PV 都處於 Bound 狀態。
kubectl get pv -n apigee
輸出內容應如下列範例所示:
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE pvc-a14184e7-8745-4b30-8069-9d50642efe04 10Gi RWO Delete Bound apigee/cassandra-data-apigee-cassandra-default-0 standard-rwo 17m pvc-ed129dcb-4706-4bad-a692-ac7c78bad64d 10Gi RWO Delete Bound apigee/cassandra-data-apigee-cassandra-default-1 standard-rwo 16m pvc-faed0ad1-9019-4def-adcd-05e7e8bb8279 10Gi RWO Delete Bound apigee/cassandra-data-apigee-cassandra-default-2 standard-rwo 14m - 執行下列指令,確認 Apigee Controller 資源處於「Running」狀態。
kubectl get pods -n apigee-system -l app=apigee-controller
輸出內容應如下列範例所示:
NAME READY STATUS RESTARTS AGE apigee-controller-manager-856d9bb7cb-cfvd7 2/2 Running 0 20m
如何還原?
視 Apigee Hybrid 部署在單一區域或多個區域而定,還原 Cassandra 的步驟會略有不同。如需詳細還原步驟,請參閱下列文件: