備份中心FAQ
本文介紹使用備份中心時(shí)遇到的常見問題及其解決方案。
索引
類別 | 問題 |
獲取報(bào)錯信息 | |
控制臺 | |
通用 | |
備份 | |
轉(zhuǎn)換存儲類(原制作快照) | |
恢復(fù) | |
其他 |
通用操作
若您通過kubectl命令行工具使用備份中心,在問題排查之前,請先將備份服務(wù)組件migrate-controller升級至最新版本,組件升級不會影響已有的備份。關(guān)于升級操作,請參見管理組件。
當(dāng)您的備份任務(wù)、轉(zhuǎn)換存儲類(原制作快照)、恢復(fù)任務(wù)的狀態(tài)為Failed或PartiallyFailed時(shí),您可以通過以下方式獲取相關(guān)報(bào)錯提示信息。
將鼠標(biāo)懸浮至任務(wù)狀態(tài)列的Failed或PartiallyFailed上,獲取錯誤的概況信息,例如
RestoreError: snapshot cross region request failed
。如需獲取更詳細(xì)的錯誤信息,您可以執(zhí)行以下命令查詢?nèi)蝿?wù)對應(yīng)資源的Event記錄,例如
RestoreError: process advancedvolumesnapshot failed avs: snapshot-hz, err: transition canceled with error: the ECS-snapshot related ram policy is missing
。備份任務(wù)
kubectl -n csdr describe applicationbackup <backup-name>
轉(zhuǎn)換存儲類(原制作快照)任務(wù)
kubectl -n csdr describe converttosnapshot <backup-name>
恢復(fù)任務(wù)
kubectl -n csdr describe applicationrestore <restore-name>
控制臺界面提示“工作組件運(yùn)行異常”或“當(dāng)前數(shù)據(jù)拉取失敗”
問題現(xiàn)象
控制臺界面提示工作組件運(yùn)行異常或當(dāng)前數(shù)據(jù)拉取失敗。
問題原因
備份中心組件安裝異常。
解決方案
檢查集群中的節(jié)點(diǎn)是否存在。若不存在,備份中心將無法部署。
確認(rèn)集群是否使用Flexvolume存儲插件。若集群使用Flexvolume存儲插件,請將集群的Flexvolume插件遷移至CSI插件。具體操作,請參見Flexvolume集群migrate-controller組件無法正常拉起。
若您通過kubectl命令行工具使用備份中心,請檢查相關(guān)YAML配置是否有誤。具體操作,請參見通過kubectl實(shí)現(xiàn)集群應(yīng)用的備份和恢復(fù)。
若您的集群為ACK專有版集群或注冊集群,請確認(rèn)是否配置了相關(guān)權(quán)限。具體操作,請參見ACK專有集群和注冊集群。
檢查csdr命名空間下的無狀態(tài)應(yīng)用csdr-controller和csdr-velero是否因?yàn)橘Y源、調(diào)度限制等原因無法正常部署,確認(rèn)問題并進(jìn)行修復(fù)。
控制臺界面提示已存在同名的資源,請修改名稱后再試
問題現(xiàn)象
在創(chuàng)建或刪除備份、轉(zhuǎn)換存儲類(原制作快照)、恢復(fù)任務(wù)時(shí),控制臺界面提示已存在同名的資源,請修改名稱后再試。
問題原因
在控制臺刪除任務(wù)時(shí),將在集群中創(chuàng)建deletrequest
資源,由工作組件進(jìn)行系列刪除操作,不僅僅刪除對應(yīng)的備份資源。關(guān)于命令行操作也類似,請參見通過命令行工具實(shí)現(xiàn)備份和恢復(fù)。
如果刪除操作錯誤或在處理deleterequest
資源流程中出錯,將導(dǎo)致部分集群中的部分資源無法刪除,出現(xiàn)存在同名資源的提示。
解決方案
根據(jù)提示刪除對應(yīng)的同名資源。例如,報(bào)錯提示
deleterequests.csdr.alibabacloud.com "xxxxx-dbr" already exists
,您可以通過以下命令刪除。kubectl -n csdr delete deleterequests xxxxx-dbr
使用新的名稱創(chuàng)建對應(yīng)的任務(wù)。
跨集群恢復(fù)應(yīng)用時(shí),無法選擇已創(chuàng)建的備份進(jìn)行恢復(fù)
問題現(xiàn)象
跨集群恢復(fù)應(yīng)用時(shí),無法選擇備份任務(wù)進(jìn)行恢復(fù)。
問題原因
原因1:備份倉庫未與當(dāng)前集群進(jìn)行關(guān)聯(lián),即未初始化倉庫。
初始化倉庫操作會將備份倉庫的基礎(chǔ)信息(OSS Bucket)下發(fā)到當(dāng)前集群中,然后將備份倉庫中已成功備份完成的數(shù)據(jù)在集群中進(jìn)行初始化。只有初始化操作完成后,才可以在當(dāng)前集群中選擇到該備份倉庫中的備份數(shù)據(jù)進(jìn)行恢復(fù)操作。
原因2:初始化倉庫失敗,即當(dāng)前集群backuplocation資源狀態(tài)為
Unavailable
。原因3:備份任務(wù)未完成或備份失敗。
解決方案
解決方案1:
在創(chuàng)建恢復(fù)任務(wù)頁面,單擊備份倉庫右側(cè)的初始化倉庫,待備份倉庫初始化完成后,再選擇待恢復(fù)的任務(wù)。
解決方案2:
執(zhí)行以下命令,確認(rèn)backuplocation資源的狀態(tài)。
kubectl get -ncsdr backuplocation <backuplocation-name>
預(yù)期輸出:
NAME PHASE LAST VALIDATED AGE
<backuplocation-name> Available 3m36s 38m
如果狀態(tài)為Unavailable
,請參見任務(wù)狀態(tài)為Failed,且提示包含"VaultError: xxx"的解決方案處理。
解決方案3:
在備份集群控制臺,確認(rèn)相關(guān)備份任務(wù)已成功,即備份任務(wù)狀態(tài)為Completed。若備份狀態(tài)異常,請重新排查原因。具體操作,請參見索引。
控制臺界面提示當(dāng)前組件所依賴的服務(wù)角色尚未被授權(quán)
問題現(xiàn)象
在進(jìn)入應(yīng)用備份控制臺時(shí),界面提示控制臺界面提示當(dāng)前組件所依賴的服務(wù)角色尚未被授權(quán),錯誤碼為AddonRoleNotAuthorized。
問題原因
備份中心組件migrate-controller在v1.8.0版本進(jìn)行了ACK托管集群的云資源鑒權(quán)邏輯優(yōu)化。阿里云賬號下集群首次安裝或升級至該版本時(shí),需要阿里云賬號完成云資源授權(quán)。
解決方案
若您當(dāng)前使用阿里云賬號登錄,請單擊復(fù)制授權(quán)鏈接在瀏覽器中打開或者單擊去授權(quán)完成阿里云賬號授權(quán)。
若您當(dāng)前使用RAM用戶(子賬號)登錄,請單擊復(fù)制授權(quán)鏈接后,發(fā)送給阿里云賬號完成授權(quán)。
任務(wù)狀態(tài)為Failed,且提示包含"internal error"
出現(xiàn)此問題,請提交工單處理。
任務(wù)狀態(tài)為Failed,且提示包含"create cluster resources timeout"
問題現(xiàn)象
任務(wù)狀態(tài)為Failed,且提示包含"create cluster resources timeout"。
問題原因
轉(zhuǎn)換存儲類(原制作快照)、恢復(fù)任務(wù)期間,可能會創(chuàng)建臨時(shí)Pod、存儲聲明、存儲卷等資源,這些資源創(chuàng)建后若長時(shí)間未可用,將會報(bào)"create cluster resources timeout"錯誤提示。
解決方案
執(zhí)行以下命令,通過Event快速定位異常的資源及失敗原因。
kubectl -ncsdr describe <applicationbackup/converttosnapshot/applicationrestore> <task-name>
預(yù)期輸出:
……wait for created tmp pvc default/demo-pvc-for-convert202311151045 for convertion bound time out
表明集群用于轉(zhuǎn)換存儲類的存儲聲明長時(shí)間未處于Bound狀態(tài),存儲聲明所在的命名空間為
default
,存儲聲明的名稱為demo-pvc-for-convert202311151045
。執(zhí)行以下命令,查詢存儲聲明的狀態(tài)及異常原因。
kubectl -ndefault describe pvc demo-pvc-for-convert202311151045
以下為備份中心場景常見的異常原因,更多信息,請參見存儲異常問題排查。
集群/節(jié)點(diǎn)資源不足或狀態(tài)異常。
恢復(fù)集群不存在對應(yīng)的存儲類。請通過轉(zhuǎn)換存儲類(原制作快照)轉(zhuǎn)換至恢復(fù)集群已有的存儲類后進(jìn)行恢復(fù)。
存儲類關(guān)聯(lián)的底層存儲不可用,例如指定的云盤類型不支持在當(dāng)前可用區(qū)使用。
alibabacloud-cnfs-nas關(guān)聯(lián)的CNFS異常。請參見通過CNFS管理NAS文件系統(tǒng)(推薦)。
在多可用區(qū)集群恢復(fù)時(shí),選擇volumeBindingMode為Immediate的存儲類。
任務(wù)狀態(tài)為Failed,且提示包含"addon status is abnormal"
問題現(xiàn)象
任務(wù)狀態(tài)為Failed,且提示包含"addon status is abnormal"。
問題原因
csdr命名空間中組件運(yùn)行異常。
解決方案
任務(wù)狀態(tài)為Failed,且提示包含"VaultError: xxx"
問題現(xiàn)象
備份、恢復(fù)或快照轉(zhuǎn)換任務(wù)狀態(tài)為Failed,且提示VaultError: backup vault is unavailable: xxx。
問題原因
OSS Bucket不存在。
集群OSS權(quán)限未配置。
OSS Bucket網(wǎng)絡(luò)訪問不通。
解決方案
登錄OSS管理控制臺,確認(rèn)備份倉庫綁定的OSS Bucket已存在。
若OSS Bucket缺失,請創(chuàng)建Bucket并重新綁定。具體操作,請參見控制臺創(chuàng)建存儲空間。
確認(rèn)集群OSS權(quán)限已配置。
ACK Pro版集群:無需配置OSS權(quán)限,確認(rèn)集群備份倉庫關(guān)聯(lián)的OSS Bucket名稱以cnfs-oss-**命名。
ACK專有版集群和注冊集群:需配置OSS權(quán)限。具體操作,請參見安裝備份服務(wù)組件并配置權(quán)限。
對于使用非控制臺方式安裝或升級組件至v1.8.0或以上版本的ACK托管集群,可能缺少OSS相關(guān)權(quán)限。您可以通過以下命令進(jìn)行排查。
kubectl get secret -n kube-system | grep addon.aliyuncsmanagedbackuprestorerole.token
預(yù)期輸出:
addon.aliyuncsmanagedbackuprestorerole.token Opaque 1 62d
若存在以上輸出:則此集群只需要使用cnfs-oss-*開頭的Bucket,無需配置OSS權(quán)限。
若沒有以上輸出,可以通過以下方式完成授權(quán)。
參考ACK專有版集群和注冊集群,配置OSS權(quán)限。具體操作,請參見安裝備份服務(wù)組件并配置權(quán)限。
使用阿里云賬號單擊去授權(quán)完成阿里云賬號授權(quán),該授權(quán)對整個(gè)阿里云賬號只需操作一次。
說明備份倉庫不支持同名重建,也不支持綁定非cnfs-oss-**命名的OSS Bucket。若您已綁定過非cnfs-oss-**命名的OSS Bucket,請重新創(chuàng)建非同名的備份倉庫,并綁定符合命名要求的OSS Bucket。
使用以下命令,確認(rèn)集群相關(guān)網(wǎng)絡(luò)配置。
kubectl get backuplocation <backuplocation-name> -n csdr -o yaml | grep network
輸出結(jié)果類似如下內(nèi)容:
network: internal
當(dāng)network為
internal
時(shí),說明備份倉庫通過內(nèi)網(wǎng)訪問OSS Bucket。當(dāng)network為
public
時(shí),說明備份倉庫通過公網(wǎng)訪問OSS Bucket。使用公網(wǎng)訪問OSS Bucket時(shí),若具體報(bào)錯原因?yàn)樵L問超時(shí),請檢查集群是否具有公網(wǎng)開啟能力。相關(guān)處理請參見為已有集群開啟公網(wǎng)訪問能力。
以下三種情況,備份倉庫必須通過公網(wǎng)訪問OSS Bucket。
集群和OSS Bucket不在同一Region。
當(dāng)前集群為ACK Edge集群。
當(dāng)前集群為注冊集群,且沒有通過CEN、高速通道專線、VPN等方式與云上VPC互通;或已與云上VPC互通,但未配置指向該地域OSS內(nèi)網(wǎng)網(wǎng)段的路由。您需要配置指向該地域OSS內(nèi)網(wǎng)網(wǎng)段的路由。
關(guān)于線下IDC接入云上VPC的相關(guān)內(nèi)容,請參見接入方式介紹。
關(guān)于OSS內(nèi)網(wǎng)域名與VIP網(wǎng)段對照表,請參見OSS內(nèi)網(wǎng)域名與VIP網(wǎng)段對照表。
如果必須通過公網(wǎng)訪問OSS Bucket時(shí),您可以使用以下命令,將OSS Bucket的訪問方式修改為公網(wǎng)訪問。以下代碼中
<backuplocation-name>
為備份倉庫的名稱,<region-id>
為OSS Bucket所在的地域,例如cn-hangzhou。kubectl patch -ncsdr backuplocation/<backuplocation-name> --type='json' -p '[{"op":"add","path":"/spec/config","value":{"network":"public","region":"<region-id>"}}]' kubectl patch -ncsdr backupstoragelocation/<backuplocation-name> --type='json' -p '[{"op":"add","path":"/spec/config","value":{"network":"public","region":"<region-id>"}}]'
備份、恢復(fù)或快照轉(zhuǎn)換任務(wù)狀態(tài)為Failed,且提示backup location is not ok, please maybe check access oss
問題現(xiàn)象
備份、恢復(fù)或快照轉(zhuǎn)換任務(wù)狀態(tài)為Failed,且提示backup location is not ok, please maybe check access oss。
問題原因及解決方案
集群為1.20及以上版本
可能原因
可能由于備份服務(wù)組件migrate-controller版本過低。
解決方案
請將備份服務(wù)組件migrate-controller升級至最新版本即可解決。具體操作,請參見管理組件。
集群為1.20以下版本
可能原因
需要額外保證各備份倉庫關(guān)聯(lián)的OSS Bucket子路徑是相互獨(dú)立的,即不存在包含關(guān)系,如
/
和/A
,/A
和/A/B
,且只能存儲備份中心產(chǎn)生的備份數(shù)據(jù),否則,涉及的備份倉庫將不可用。
解決方案
需要額外保證各備份倉庫關(guān)聯(lián)的OSS Bucket子路徑是相互獨(dú)立的,且只能存儲備份中心產(chǎn)生的備份數(shù)據(jù)。您可以使用以下命令進(jìn)一步檢查確認(rèn)。以下代碼中<backuplocation-name>
為備份倉庫的名稱。
kubectl describe backupstoragelocation <backuplocation-name> -n csdr | grep message
輸出結(jié)果類似如下內(nèi)容:
Backup store contains invalid top-level directories: ****
表明該備份倉庫關(guān)聯(lián)的OSS Bucket子路徑下有其他數(shù)據(jù)。您可以選擇以下方式解決:
升級集群版本至1.20及以上,并將備份服務(wù)組件migrate-controller升級至最新版本。
新建關(guān)聯(lián)空路徑的備份倉庫并重新命名,請勿刪除后重建同名的備份倉庫。
備份、恢復(fù)或快照轉(zhuǎn)換任務(wù)長期處于Inprogress狀態(tài)
原因1及解決方案:csdr命名空間中組件運(yùn)行異常
確認(rèn)組件運(yùn)行狀態(tài),并查詢組件異常原因。
執(zhí)行以下命令,查詢csdr命名空間中的組件是否出現(xiàn)重啟或無法啟動的情況。
kubectl get pod -n csdr
執(zhí)行以下命令,查詢組件重啟或無法啟動的原因。
kubectl describe pod <pod-name> -n csdr
若原因是OOM異常重啟:
請執(zhí)行以下命令,調(diào)整對應(yīng)Deployment的Limit值。其中,
csdr-controller-***
對應(yīng)<deploy-name>
為csdr-controller
;csdr-velero-***
對應(yīng)<deploy-name>
為csdr-velero
。kubectl patch deploy <deploy-name> -p '{"spec":{"containers":{"resources":{"limits":"<new-limit-memory>"}}}}'
若原因是HBR權(quán)限未配置導(dǎo)致拉起失敗:請參見以下步驟處理。
確認(rèn)集群已開通云備份服務(wù)。
未開通:請開通云備份服務(wù)。具體操作,請參見云備份。
已開通:請轉(zhuǎn)下一步。
確認(rèn)ACK專有版集群和注冊集群已配置云備份權(quán)限。
未配置:請配置云備份限。具體操作,請參見安裝備份服務(wù)組件并配置權(quán)限。
已配置:請轉(zhuǎn)下一步。
執(zhí)行以下命令,確認(rèn)云備份 Client組件所需Token是否存在。
kubectl describe <hbr-client-***>
若Event報(bào)錯提示couldnt find key HBR_TOKEN,表明Token缺失,請參見以下步驟處理。
執(zhí)行以下命令,查詢對應(yīng)
hbr-client-***
所在節(jié)點(diǎn)。kubectl get pod <hbr-client-***> -n csdr -owide
執(zhí)行以下命令,將對應(yīng)Node的
labels: csdr.alibabacloud.com/agent-enable
由true
修改為false
。kubectl label node <node-name> csdr.alibabacloud.com/agent-enable=false --overwrite
重要重新進(jìn)行備份恢復(fù)時(shí),將自動創(chuàng)建Token并拉起hbr-client。
將其他集群的Token拷貝到本集群,由此拉起的hbr-client不可用。您需要刪除已拷貝的Token,以及由此Token拉起的
hbr-client-*** Pod
后,再執(zhí)行上述步驟。
原因2及解決方案:云盤數(shù)據(jù)備份時(shí),集群快照權(quán)限未配置
若您對掛載云盤數(shù)據(jù)卷的應(yīng)用使用數(shù)據(jù)備份功能時(shí),長期處于Inprogress狀態(tài)。請執(zhí)行以下命令,查詢集群新創(chuàng)建的VolumeSnapshot資源。
kubectl get volumesnapshot -n <backup-namespace>
部分預(yù)期輸出:
NAME READYTOUSE SOURCEPVC SOURCESNAPSHOTCONTENT ...
<volumesnapshot-name> true <volumesnapshotcontent-name> ...
若所有的volumesnapshot
的READYTOUSE
長期處于false
狀態(tài),請參見如下步驟處理。
登錄ECS管理控制臺,確認(rèn)是否已開啟云盤快照服務(wù)。
未開啟:請?jiān)趯?yīng)地域開通云盤快照。具體操作,請參見開通快照。
已開啟:請轉(zhuǎn)下一步。
確認(rèn)集群CSI組件運(yùn)行正常。
kubectl -nkube-system get pod -l app=csi-provisioner
確認(rèn)是否已配置云盤快照的使用權(quán)限。
ACK專有版集群
登錄容器服務(wù)管理控制臺,在左側(cè)導(dǎo)航欄單擊集群。
在集群列表頁面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇集群信息。
在集群信息頁面,單擊集群資源頁簽,確認(rèn)后單擊Master RAM角色右側(cè)鏈接進(jìn)入權(quán)限管理頁面。
在權(quán)限策略列表,查看云盤快照權(quán)限是否正常。
若k8sMasterRolePolicy-Csi-***權(quán)限策略已存在,且已配置
k8sMasterRolePolicy-Csi-***
和k8sMasterRolePolicy-Csi-***
權(quán)限,表明云盤快照權(quán)限正常。請提交工單處理。若k8sMasterRolePolicy-Csi-***權(quán)限策略缺失,請為Master RAM角色授予如下云盤快照權(quán)限策略。具體操作,請參見創(chuàng)建自定義權(quán)限策略和為RAM角色授權(quán)。
{ "Version": "1", "Statement": [ { "Action": [ "ecs:DescribeDisks", "ecs:DescribeInstances", "ecs:DescribeAvailableResource", "ecs:DescribeInstanceTypes", "nas:DescribeFileSystems", "ecs:CreateSnapshot", "ecs:DeleteSnapshot", "ecs:DescribeSnapshotGroups", "ecs:CreateAutoSnapshotPolicy", "ecs:ApplyAutoSnapshotPolicy", "ecs:CancelAutoSnapshotPolicy", "ecs:DeleteAutoSnapshotPolicy", "ecs:DescribeAutoSnapshotPolicyEX", "ecs:ModifyAutoSnapshotPolicyEx", "ecs:DescribeSnapshots", "ecs:CopySnapshot", "ecs:CreateSnapshotGroup", "ecs:DeleteSnapshotGroup" ], "Resource": [ "*" ], "Effect": "Allow" } ] }
權(quán)限配置完成后,若問題仍未解決,請提交工單處理。
ACK托管版集群
使用RAM管理員登錄RAM控制臺。
在左側(cè)導(dǎo)航欄,選擇 。
在角色頁面,在搜索框中搜索AliyunCSManagedCsiRole,查詢該角色的授權(quán)策略中是否包含以下策略內(nèi)容。
{ "Version": "1", "Statement": [ { "Action": [ "ecs:DescribeDisks", "ecs:DescribeInstances", "ecs:DescribeAvailableResource", "ecs:DescribeInstanceTypes", "nas:DescribeFileSystems", "ecs:CreateSnapshot", "ecs:DeleteSnapshot", "ecs:DescribeSnapshotGroups", "ecs:CreateAutoSnapshotPolicy", "ecs:ApplyAutoSnapshotPolicy", "ecs:CancelAutoSnapshotPolicy", "ecs:DeleteAutoSnapshotPolicy", "ecs:DescribeAutoSnapshotPolicyEX", "ecs:ModifyAutoSnapshotPolicyEx", "ecs:DescribeSnapshots", "ecs:CopySnapshot", "ecs:CreateSnapshotGroup", "ecs:DeleteSnapshotGroup" ], "Resource": [ "*" ], "Effect": "Allow" } ] }
如果AliyunCSManagedCsiRole角色缺失,請提交工單。
如果AliyunCSManagedCsiRole角色存在,但策略內(nèi)容不全面,請為該角色授予以上權(quán)限。具體操作,請參見創(chuàng)建自定義權(quán)限策略和為RAM角色授權(quán)。
注冊集群
僅節(jié)點(diǎn)均為阿里云ECS的注冊集群才能使用云盤快照功能。請檢查安裝CSI存儲插件時(shí)是已進(jìn)行相關(guān)授權(quán)。相關(guān)操作,請參見為CSI組件配置RAM權(quán)限。
原因3及解決方案:使用除云盤外的其他類型存儲卷
備份中心migrate-controller組件從v1.7.7版本開始,支持云盤類型數(shù)據(jù)備份跨地域恢復(fù),其他類型數(shù)據(jù)跨地域恢復(fù)暫未支持。若您使用的是阿里云OSS等支持公網(wǎng)訪問的存儲產(chǎn)品,可先靜態(tài)創(chuàng)建存儲聲明、存儲卷后再恢復(fù)應(yīng)用。具體操作,請參考使用OSS靜態(tài)存儲卷。
備份狀態(tài)為Failed,且提示包含"backup already exists in OSS bucket"
問題現(xiàn)象
備份狀態(tài)為Failed,且提示包含"backup already exists in OSS bucket”。
問題原因
此前創(chuàng)建的同名備份實(shí)際存放在備份倉庫關(guān)聯(lián)的OSS Bucket中。
實(shí)際存在的備份在當(dāng)前集群中不可見的原因:
正在進(jìn)行的備份或失敗的備份不會同步到其他集群。
在非備份集群刪除備份,只會對其打標(biāo),不會實(shí)際在OSS Bucket中刪除。打標(biāo)的備份不再同步至新關(guān)聯(lián)的集群。
當(dāng)前集群未關(guān)聯(lián)備份所使用的備份倉庫,即未初始化。
解決方案
使用新的名稱重新創(chuàng)建備份倉庫。
備份狀態(tài)為Failed,且提示包含"get target namespace failed"
問題現(xiàn)象
備份狀態(tài)為Failed,且提示包含"get target namespace failed"。
問題原因
一般出現(xiàn)在通過定時(shí)創(chuàng)建的備份任務(wù)中。選擇命名空間的方式不同,備份結(jié)果也不同。
選擇包含方式時(shí),選擇的命名空間均已被刪除。
選擇排除方式時(shí),集群中除選擇的命名空間外無其他命名空間。
解決方案
備份計(jì)劃支持編輯,您可以調(diào)整命名空間的選擇方式及對應(yīng)的命名空間。
備份狀態(tài)為Failed,且提示包含"velero backup process timeout"
問題現(xiàn)象
備份狀態(tài)為Failed,且提示包含"velero backup process timeout"。
問題原因
應(yīng)用備份的子任務(wù)超時(shí)。應(yīng)用備份的子任務(wù)所需時(shí)間與集群資源量、集群APIServer時(shí)延等多方面因素相關(guān)。備份中心migrate-controller組件從v1.7.7版本開始,默認(rèn)超時(shí)時(shí)間為60分鐘。
解決方案
修改備份集群中備份子任務(wù)超時(shí)時(shí)間的全局配置。
執(zhí)行以下命令,在applicationBackup中增加velero_timeout_minutes
配置項(xiàng),單位為分鐘。
kubectl edit -ncsdr cm csdr-config
例如,需要將超時(shí)時(shí)間設(shè)置為100分鐘,則需要進(jìn)行如下修改:
apiVersion: v1
data:
applicationBackup: |
... #省略展示
velero_timeout_minutes: 100
修改完成后,執(zhí)行以下命令重啟以使csdr-controller生效。
kubectl -ncsdr delete pod -l control-plane=csdr-controller
備份狀態(tài)為Failed,且提示包含"HBR backup request failed"
問題現(xiàn)象
備份任務(wù)狀態(tài)為Failed,且提示包含"HBR backup request failed"。
問題原因
原因1:集群使用的存儲插件暫不兼容。
原因2:云備份暫不支持備份volumeMode為Block模式的存儲卷。更多信息,請參見volumeMode介紹。
原因3:云備份客戶端異常,導(dǎo)致備份或恢復(fù)文件系統(tǒng)類型數(shù)據(jù)(例如OSS、NAS、CPFS、本地存儲卷數(shù)據(jù)等)任務(wù)超時(shí)或失敗。
解決方案
解決方案1:若您集群使用的是非阿里云CSI存儲插件,或存儲卷非NFS、LocalVolume等K8s通用的存儲卷,遇到兼容問題,請提交工單處理。
解決方案2:請提交工單處理。
解決方案3:請按照以下步驟處理:
在左側(cè)導(dǎo)航欄,選擇備份 > 容器備份。
在頂部菜單欄左上角,選擇所在地域。
在備份任務(wù)頁簽,通過任務(wù)名稱搜索
<backup-name>-hbr
,查詢備份任務(wù)的狀態(tài)及對應(yīng)原因。具體操作,請參見容器服務(wù)ACK備份。說明若需要查詢轉(zhuǎn)換存儲類或備份任務(wù),請使用對應(yīng)的備份名稱搜索。
備份狀態(tài)為PartiallyFailed,且提示包含"PROCESS velero partially completed"
問題現(xiàn)象
備份狀態(tài)為PartiallyFailed,且提示包含"PROCESS velero partially completed"。
問題原因
使用velero組件備份應(yīng)用(集群內(nèi)資源)時(shí),部分資源備份失敗。
解決方案
執(zhí)行以下命令,確認(rèn)失敗的資源及失敗原因。
kubectl -ncsdr exec -it $(kubectl -ncsdr get pod -l component=csdr | tail -n 1 | cut -d ' ' -f1) -- ./velero describe backup <backup-name>
根據(jù)輸出中的Errors
和Warnings
字段內(nèi)容提示修復(fù)問題。
若無直接顯示失敗原因,執(zhí)行以下命令,獲取相關(guān)異常日志。
kubectl -ncsdr exec -it $(kubectl -ncsdr get pod -l component=csdr | tail -n 1 | cut -d ' ' -f1) -- ./velero backup logs <backup-name>
如果您無法根據(jù)失敗原因或異常日志修復(fù)問題,請提交工單處理。
備份狀態(tài)為PartiallyFailed,且提示包含"PROCESS hbr partially completed"
問題現(xiàn)象
備份狀態(tài)為PartiallyFailed,且提示包含"PROCESS hbr partially completed"。
問題原因
使用云備份服務(wù)備份文件系統(tǒng)類型數(shù)據(jù)(例如OSS、NAS、CPFS、本地存儲卷數(shù)據(jù)等)時(shí),部分資源備份失敗。可能的原因:
原因1:部分?jǐn)?shù)據(jù)卷存儲使用的存儲插件暫未支持。
原因2:云備份不保證數(shù)據(jù)一致性,備份期間若文件被刪除可能導(dǎo)致備份失敗。
解決方案
在左側(cè)導(dǎo)航欄,選擇備份 > 容器備份。
在頂部菜單欄左上角,選擇所在地域。
在備份任務(wù)頁簽通過任務(wù)名稱搜索
<backup-name>-hbr
,查詢存儲卷失敗或部分失敗的原因。具體操作,請參見容器服務(wù)ACK備份。
轉(zhuǎn)換存儲類(原制作快照)狀態(tài)為ConvertFailed,且提示包含"storageclass xxx not exists"
問題現(xiàn)象
轉(zhuǎn)換存儲類(原制作快照)狀態(tài)為ConvertFailed,且提示包含"storageclass xxx not exists"。
問題原因
轉(zhuǎn)換存儲類(原制作快照)時(shí),選擇的目標(biāo)存儲類在當(dāng)前集群中不存在。
解決方案
執(zhí)行以下命令,重置轉(zhuǎn)換存儲類(原制作快照)任務(wù)。
cat << EOF | kubectl apply -f - apiVersion: csdr.alibabacloud.com/v1beta1 kind: DeleteRequest metadata: name: reset-convert namespace: csdr spec: deleteObjectName: "<backup-name>" deleteObjectType: "Convert" EOF
在當(dāng)前集群中創(chuàng)建缺失的存儲類。
重新轉(zhuǎn)換存儲類(原制作快照)。
轉(zhuǎn)換存儲類(原制作快照)狀態(tài)為ConvertFailed,且提示包含"only support convert to storageclass with CSI diskplugin or nasplugin provisioner"
問題現(xiàn)象
轉(zhuǎn)換存儲類(原制作快照)狀態(tài)為ConvertFailed,且提示包含"only support convert to storageclass with CSI diskplugin or nasplugin provisioner"。
問題原因
轉(zhuǎn)換存儲類(原制作快照)時(shí),選擇的目標(biāo)存儲類不是阿里云CSI云盤類型或NAS類型。
解決方案
當(dāng)前版本默認(rèn)僅支持云盤類型、NAS類型的快照制作及恢復(fù),若您有其他恢復(fù)需求,請提交工單。
若您使用的是阿里云OSS等支持公網(wǎng)訪問的存儲產(chǎn)品,請先通過靜態(tài)掛載的方式創(chuàng)建存儲聲明、存儲卷后直接恢復(fù)應(yīng)用,無需轉(zhuǎn)換存儲類(原制作快照)步驟。具體請參考使用OSS靜態(tài)存儲卷。
轉(zhuǎn)換存儲類(原制作快照)狀態(tài)為ConvertFailed,且提示包含"current cluster is multi-zoned"
問題現(xiàn)象
轉(zhuǎn)換存儲類(原制作快照)狀態(tài)為ConvertFailed,且提示包含"current cluster is multi-zoned"。
問題原因
當(dāng)前集群為多可用區(qū)集群,轉(zhuǎn)換為云盤類型存儲類時(shí),選擇的目標(biāo)存儲類volumeBindingMode為Immediate。在多可用區(qū)集群使用此類型存儲類會導(dǎo)致創(chuàng)建存儲卷后,導(dǎo)致Pod無法調(diào)度到指定節(jié)點(diǎn)上而處于Pending狀態(tài)。關(guān)于volumeBindingMode字段的說明,請參見存儲類。
解決方案
執(zhí)行以下命令,重置轉(zhuǎn)換存儲類(原制作快照)任務(wù)。
cat << EOF | kubectl apply -f - apiVersion: csdr.alibabacloud.com/v1beta1 kind: DeleteRequest metadata: name: reset-convert namespace: csdr spec: deleteObjectName: "<backup-name>" deleteObjectType: "Convert" EOF
若您需要轉(zhuǎn)換為云盤存儲類,您可以參見如下操作。
如果您通過控制臺操作,請選擇alicloud-disk,alicloud-disk默認(rèn)使用alicloud-disk-topology-alltype存儲類。
如果您通過命令行操作,建議您選擇alicloud-disk-topology-alltype類型,alicloud-disk-topology-alltype類型為CSI存儲插件默認(rèn)提供的存儲類。您也可以自定義volumeBindingMode為WaitForFirstConsumer的存儲類。
重新轉(zhuǎn)換存儲類(原制作快照)。
恢復(fù)任務(wù)狀態(tài)為Failed,且提示包含"only disk type PVs support cross-region restore in current version"
問題現(xiàn)象
恢復(fù)任務(wù)狀態(tài)為Failed,且提示包含"only disk type PVs support cross-region restore in current version"。
問題原因
備份中心migrate-controller組件從v1.7.7版本開始支持云盤類型的數(shù)據(jù)備份跨地域恢復(fù),其他類型的數(shù)據(jù)跨地域恢復(fù)暫未支持。
解決方案
若您使用的是阿里云OSS等支持公網(wǎng)訪問的存儲產(chǎn)品,請先通過靜態(tài)掛載的方式創(chuàng)建存儲聲明、存儲卷后再恢復(fù)應(yīng)用。具體操作,請參見使用OSS靜態(tài)存儲卷。
若您有跨地域恢復(fù)其他類型存儲數(shù)據(jù)的需求,請提交工單。
恢復(fù)任務(wù)狀態(tài)為Failed,且提示包含"ECS snapshot cross region request failed"
問題現(xiàn)象
恢復(fù)任務(wù)狀態(tài)為Failed,且提示包含"ECS snapshot cross region request failed"。
問題現(xiàn)象
備份中心migrate-controller組件從v1.7.7版本開始支持云盤類型的數(shù)據(jù)備份跨地域恢復(fù),ECS云盤快照權(quán)限未授權(quán)。
解決方案
如果您的集群為ACK專有版集群,或接入使用ECS自建的Kubernetes集群的注冊集群,您需要補(bǔ)充授權(quán)ECS云盤快照的相關(guān)權(quán)限策略。具體操作,請參見注冊集群。
恢復(fù)任務(wù)狀態(tài)為Completed,但恢復(fù)集群中有部分資源未創(chuàng)建
問題現(xiàn)象
恢復(fù)任務(wù)狀態(tài)為Completed,但恢復(fù)集群中有部分資源未創(chuàng)建。
問題原因
原因1:該資源未被備份。
原因2:該資源在恢復(fù)時(shí)根據(jù)配置項(xiàng)被排除。
原因3:應(yīng)用恢復(fù)子任務(wù)部分失敗。
原因4:該資源已成功恢復(fù),但由于ownerReferences配置或業(yè)務(wù)邏輯的原因被回收。
解決方案
解決方案1:
執(zhí)行以下命令,查詢備份詳情。
kubectl -ncsdr exec -it $(kubectl -ncsdr get pod -l component=csdr | tail -n 1 | cut -d ' ' -f1) -- ./velero describe backup <backup-name> --details
確認(rèn)目標(biāo)資源是否已備份。若目標(biāo)資源未被備份,請確認(rèn)是否因?yàn)閭浞萑蝿?wù)的指定/排除命名空間、資源等配置而被排除,并重新備份。未被選擇的命名空間中正在運(yùn)行的應(yīng)用(Pod)的Cluster級別資源默認(rèn)不會備份,若您需要備份所有Cluster級別資源,請參見集群級別備份。
解決方案2:
若目標(biāo)資源未被恢復(fù),請確認(rèn)是否因?yàn)閭浞萑蝿?wù)的指定/排除命名空間、資源等配置而被排除,并重新恢復(fù)。
解決方案3:
執(zhí)行以下指令,確認(rèn)失敗的資源及失敗原因。
kubectl -ncsdr exec -it $(kubectl -ncsdr get pod -l component=csdr | tail -n 1 | cut -d ' ' -f1) -- ./velero describe restore <restore-name>
根據(jù)輸出中的Errors
和Warnings
字段內(nèi)容提示修復(fù)問題。如果您無法根據(jù)失敗原因修復(fù)問題,請提交工單處理。
解決方案4:
查詢對應(yīng)資源的審計(jì),確認(rèn)是否在創(chuàng)建后被異常刪除。
Flexvolume集群migrate-controller組件無法正常拉起
備份中心migrate-controller組件不支持Flexvolume類型的集群。如需使用備份中心功能,您可以通過以下方式將Flexvolume插件遷移至CSI。
其他情況,請加入釘釘用戶群(釘釘群號:35532895)咨詢。
若您在Flexvolume至CSI遷移過程中,需要在Flexvolume集群中進(jìn)行備份并在CSI集群中恢復(fù),請參見通過備份中心實(shí)現(xiàn)低版本Kubernetes集群應(yīng)用遷移。
備份倉庫是否支持修改
備份中心不支持備份倉庫的修改。如需修改備份倉庫,只能刪除后使用其他名稱重建。
由于備份倉庫是共用的,已創(chuàng)建的備份倉庫隨時(shí)可能處于備份或恢復(fù)狀態(tài)。此時(shí),修改任意一個(gè)參數(shù),都可能導(dǎo)致備份或恢復(fù)應(yīng)用時(shí)找不到數(shù)據(jù)。因此,備份倉庫不允許修改或同名重建。
備份倉庫是否可以關(guān)聯(lián)非"cnfs-oss-*"格式命名的OSS Bucket
對于ACK專有版集群及注冊集群以外類型的集群,備份中心組件默認(rèn)擁有cnfs-oss-*
命名的OSS Bucket的讀寫權(quán)限。為避免備份覆蓋Bucket中原有的數(shù)據(jù),建議您為備份中心創(chuàng)建一個(gè)專用的符合cnfs-oss-*
命名規(guī)則的OSS Bucket。
若您需要為備份倉庫關(guān)聯(lián)非"cnfs-oss-*"格式命名的OSS Bucket,需為組件配置權(quán)限。具體操作,請參見ACK專有集群。
權(quán)限配置完成后,執(zhí)行以下命令,重啟備份服務(wù)組件。
kubectl -ncsdr delete pod -l control-plane=csdr-controller kubectl -ncsdr delete pod -l component=csdr
若您已經(jīng)創(chuàng)建了關(guān)聯(lián)非"cnfs-oss-*"格式命名的OSS Bucket的備份倉庫,可等待連通性檢測完成,狀態(tài)變?yōu)?b>Available后,再嘗試備份或恢復(fù),連通性檢測的間隔時(shí)間約為五分鐘。您可以通過以下命令查詢備份倉庫的狀態(tài)。
kubectl -ncsdr get backuplocation
預(yù)期輸出:
NAME PHASE LAST VALIDATED AGE a-test-backuplocation Available 7s 6d1h
創(chuàng)建備份計(jì)劃時(shí),備份周期如何填寫
備份周期支持Crontab表達(dá)式(例如1 4 * * *
);或按間隔備份填寫(例如6h30m),即每隔6h30m備份一次。
Crontab表達(dá)式解析如下,可選值(minute的可選值為0-59)除外,*
表示給定字段的任意可用值。以下表達(dá)式中:
1 4 * * *
:表示每天4:01 am備份一次。0 2 15 * 1
:表示每個(gè)月15號的2:00 am備份一次。
* * * * *
| | | | |
| | | | ·----- day of week (0 - 6) (Sun to Sat)
| | | ·-------- month (1 - 12)
| | .----------- day of month (1 - 31)
| ·-------------- hour (0 - 23)
·----------------- minute (0 - 59)
恢復(fù)任務(wù)時(shí),對備份的YAML資源會有哪些默認(rèn)的調(diào)整?
恢復(fù)任務(wù)時(shí),YAML資源會做以下調(diào)整:
調(diào)整1:
若云盤類型的存儲卷容量小于20 GiB,則恢復(fù)時(shí)將調(diào)整為20 GiB。
調(diào)整2:
Service資源恢復(fù)時(shí),根據(jù)Service類型的不同將進(jìn)行如下適配:
NodePort類型的Service:跨集群恢復(fù)時(shí),默認(rèn)保留端口號。
LoadBalancer類型的Service:ExternalTrafficPolicy為Local時(shí),HealthCheckNodePort默認(rèn)使用隨機(jī)端口號。若您需要保留端口號,請?jiān)趧?chuàng)建恢復(fù)任務(wù)時(shí),設(shè)置
spec.preserveNodePorts: true
。在備份集群中由指定已有SLB的Service,恢復(fù)時(shí)將使用原有的SLB并默認(rèn)關(guān)閉強(qiáng)制監(jiān)聽,您需要前往SLB控制臺配置監(jiān)聽。
在備份集群中由CCM管理SLB的Service,恢復(fù)時(shí)將由CCM創(chuàng)建新的SLB實(shí)例,更多信息,請參見Service的負(fù)載均衡配置注意事項(xiàng)。
如何查看備份的具體資源?
集群應(yīng)用備份的資源
集群中的YAML存儲在備份倉庫關(guān)聯(lián)的OSS Bucket中。您可以通過以下任一方式查看具體的備份資源。
在任意同步備份的集群中,執(zhí)行以下命令查看資源。
kubectl -ncsdr get pod -l component=csdr | tail -n 1 | cut -d ' ' -f1 kubectl -ncsdr exec -it csdr-velero-xxx -cvelero -- ./velero describe backup <backup-name> --details
通過容器服務(wù)控制臺查看。
登錄容器服務(wù)管理控制臺,在左側(cè)導(dǎo)航欄選擇集群。
在集群列表頁面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇 。
在應(yīng)用備份頁面,單擊備份記錄頁簽,在備份記錄列單擊待查看的目標(biāo)備份記錄。
云盤存儲卷備份的資源
登錄ECS管理控制臺。
在左側(cè)導(dǎo)航欄,選擇 。
在頁面左側(cè)頂部,選擇目標(biāo)資源所在的資源組和地域。
在快照頁面,根據(jù)云盤ID查詢快照。
非云盤存儲卷備份的資源
在左側(cè)導(dǎo)航欄,選擇 。
在頂部菜單欄左上角,選擇所在地域。
查看容器備份。
集群列表:展示已進(jìn)行備份保護(hù)的集群列表。單擊ACK集群ID可查看已保護(hù)的存儲卷聲明。更多介紹,請參見存儲卷聲明。
如果客戶端狀態(tài)顯示異常,則說明云備份服務(wù)在容器服務(wù)集群中運(yùn)行異常。請前往容器服務(wù)管理控制臺守護(hù)進(jìn)程集,進(jìn)行定位處理。
備份任務(wù):展示備份任務(wù)的運(yùn)行狀態(tài)。
是否支持在低版本集群備份至高版本集群恢復(fù)?
支持。
備份時(shí),默認(rèn)備份資源所有支持的apiVersion版本。例如1.16版本集群Deployment支持extensions/v1beta1、apps/v1beta1、apps/v1beta2以及apps/v1,備份倉庫中將存儲Deployment的4種版本(與您部署時(shí)選用的版本無關(guān),底層使用KubernetesConvert功能)。
恢復(fù)時(shí),資源將優(yōu)先按照恢復(fù)集群版本推薦的apiVersion進(jìn)行恢復(fù)。例如1.28版本集群Deployment推薦版本為apps/v1,上述備份將恢復(fù)至apps/v1版本的Deployment。
若某資源在兩個(gè)版本中沒有同時(shí)支持的apiVersion版本,恢復(fù)時(shí)您需要手動部署。例如1.16版本集群Ingress支持extensions/v1beta1、networking.k8s.io/v1beta1,無法將其直接恢復(fù)至1.22及以上版本集群(需要networking.k8s.io/v1)。更多kubernetes官方API版本遷移請參考官方文檔。由于apiVersion兼容問題,不建議您通過備份中心將高版本集群中的應(yīng)用遷移至低版本的集群中,也不建議備份1.16以下版本的集群遷移至高版本的集群。
恢復(fù)時(shí)是否會自動切換負(fù)載均衡流量?
不會。
Service資源恢復(fù)時(shí),根據(jù)Service類型的不同將進(jìn)行如下適配:
NodePort類型的Service:跨集群恢復(fù)時(shí),默認(rèn)保留端口號。
LoadBalancer類型的Service:ExternalTrafficPolicy為Local時(shí),HealthCheckNodePort默認(rèn)使用隨機(jī)端口號。若您需要保留端口號,請?jiān)趧?chuàng)建恢復(fù)任務(wù)時(shí),設(shè)置
spec.preserveNodePorts: true
。在備份集群中由指定已有SLB的Service,恢復(fù)時(shí)將使用原有的SLB并默認(rèn)關(guān)閉強(qiáng)制監(jiān)聽,您需要前往SLB控制臺配置監(jiān)聽。
在備份集群中由CCM管理SLB的Service,恢復(fù)時(shí)將由CCM創(chuàng)建新的SLB實(shí)例,更多信息,請參見Service的負(fù)載均衡配置注意事項(xiàng)。
默認(rèn)情況下,關(guān)閉強(qiáng)制監(jiān)聽或使用新的SLB實(shí)例不會切換備份集群的流量。若您使用了其他云產(chǎn)品或三方的服務(wù)發(fā)現(xiàn),且不希望由自動服務(wù)發(fā)現(xiàn)將流量切到新的SLB實(shí)例,可以考慮在備份時(shí)排除Service資源,當(dāng)需要切換時(shí),再切換為手動部署。
為什么默認(rèn)不支持備份csdr,kube-system, kube-public,kube-node-lease這四個(gè)命名空間下的資源?
csdr為備份中心的工作命名空間,直接備份恢復(fù)會導(dǎo)致組件在恢復(fù)集群工作異常。此外,備份中心有備份同步的邏輯,您無需手動遷移備份至新集群。
kube-system、kube-public、kube-node-lease為Kubernetes集群的默認(rèn)系統(tǒng)命名空間,由于集群參數(shù)、配置等不同,無法在集群之間簡單恢復(fù)。此外備份中心關(guān)注業(yè)務(wù)應(yīng)用的備份和恢復(fù)。在恢復(fù)任務(wù)之前,您需要在恢復(fù)集群中預(yù)先安裝并配置好所需的系統(tǒng)組件。例如:
ACR免密組件:為恢復(fù)集群重新授權(quán)并配置acr-configuration。
ALB Ingress組件:預(yù)先配置ALBConfig等。
而不能直接備份kube-system的系統(tǒng)組件至新集群,可能導(dǎo)致系統(tǒng)組件運(yùn)行異常。
備份中心對云盤的數(shù)據(jù)都使用ECS云盤快照備份嗎?快照默認(rèn)的類型是什么?
在以下場景下,備份中心會默認(rèn)使用ECS云盤快照對云盤的數(shù)據(jù)進(jìn)行備份。
集群為ACK托管集群、ACK專有集群。
集群版本為1.18及以上版本,且集群使用1.18及以上版本的CSI存儲插件。
其他情況下,備份中心默認(rèn)使用云備份(Cloud Backup)對云盤的數(shù)據(jù)進(jìn)行備份。
由備份中心創(chuàng)建的云盤快照默認(rèn)開啟極速可用功能,快照有效期默認(rèn)與備份配置的有效期一致。阿里云ECS快照自2023年10月12日11:00起,全地域范圍不再收取快照極速可用存儲費(fèi)和快照極速可用次數(shù)費(fèi)。更多信息,請參見快照極速可用能力。
為什么由備份創(chuàng)建的ECS云盤快照的有效期與備份配置的不一致?
云盤快照的創(chuàng)建依賴于集群的csi-provisioner組件(或managed-csiprovisioner組件)。當(dāng)csi-provisioner組件低于1.20.6版本時(shí),不支持在創(chuàng)建快照的相關(guān)資源(VolumeSnapshot)時(shí)指定有效期或開啟快照極速可用功能。此時(shí),將導(dǎo)致備份配置的有效期對ECS云盤快照不生效。
因此,在使用云盤的存儲卷數(shù)據(jù)備份功能時(shí),您需要將csi-provisioner組件升級至1.20.6及以上的版本。
若您的集群無法升級至該版本的csi-provisioner,您可以通過以下方式配置默認(rèn)的快照有效期:
將備份中心組件migrate-controller升級至v1.7.10及以上版本。
使用以下命令,確認(rèn)集群中是否存在配置默認(rèn)30天快照有效期的快照類。
kubectl get volumesnapshotclass csdr-disk-snapshot-with-default-ttl
若不存在,使用以下YAML創(chuàng)建csdr-disk-snapshot-with-default-ttl快照類。
若已存在,只需將默認(rèn)csdr-disk-snapshot-with-default-ttl快照類中的
retentionDays
設(shè)置為30。apiVersion: snapshot.storage.k8s.io/v1 deletionPolicy: Retain driver: diskplugin.csi.alibabacloud.com kind: VolumeSnapshotClass metadata: name: csdr-disk-snapshot-with-default-ttl parameters: retentionDays: "30"
配置后,該集群創(chuàng)建的所有涉及云盤存儲卷的備份都將創(chuàng)建與以上
retentionDays
字段一致的云盤快照。重要如果您一直希望由備份創(chuàng)建的ECS云盤快照的有效期與備份配置的一致,建議您還是需要將csi-provisioner組件升級至1.20.6及以上的版本。
什么場景適合備份存儲卷數(shù)據(jù),以及哪些行為會備份存儲卷數(shù)據(jù)?
備份存儲卷數(shù)據(jù)
通過ECS云盤快照或HBR云備份服務(wù),拷貝涉及的存儲卷內(nèi)的數(shù)據(jù)至云端存儲,并在恢復(fù)時(shí)將數(shù)據(jù)存入新的云盤或NAS中,供恢復(fù)的應(yīng)用使用。恢復(fù)的應(yīng)用與原應(yīng)用不共享數(shù)據(jù)源,互不影響。
若您無需拷貝數(shù)據(jù),或者有共享數(shù)據(jù)源的需求,您可以選擇不備份數(shù)據(jù)卷數(shù)據(jù),并保證備份中的排除資源列表不包含PVC、PV資源,恢復(fù)時(shí)將直接按存儲卷原來的YAML部署至新集群。
若備份集群與恢復(fù)集群的存儲插件不一致,將無法按存儲卷原來的YAML部署,解決方案請參見Flexvolume應(yīng)用遷移至CSI應(yīng)用。具體操作,請參見通過備份中心實(shí)現(xiàn)低版本Kubernetes集群應(yīng)用遷移。
什么場景適合備份存儲卷數(shù)據(jù)?
數(shù)據(jù)容災(zāi)和版本記錄。
存儲類型為云盤,因?yàn)槠胀ㄔ票P只能被掛載至單一節(jié)點(diǎn),若直接用原YAML部署至新集群,可能有被強(qiáng)拔的風(fēng)險(xiǎn)。
跨地域備份恢復(fù),通常除OSS存儲類型外,均無跨地域訪問能力。
備份應(yīng)用與恢復(fù)應(yīng)用的數(shù)據(jù)需要隔離。
備份集群與恢復(fù)集群的存儲插件或版本差異較大,YAML無法直接恢復(fù)。
哪些行為會備份存儲卷數(shù)據(jù)?
通過控制臺備份時(shí),選中備份存儲卷選項(xiàng)。
通過kubectl備份時(shí),將
spec.pvBackup.defaultPvBackup
設(shè)置為true
。