CCE通過云硬盤EVS服務為您提供快照功能,云硬盤快照簡稱快照,指云硬盤數據在某個時刻的完整拷貝或鏡像,是一種重要的數據容災手段,當數據丟失時,可通過快照將數據完整的恢復到快照時間點。
您可以創建快照,從而快速保存指定時刻云硬盤的數據。同時,您還可以通過快照創建新的云硬盤,這樣云硬盤在初始狀態就具有快照中的數據。
使用須知
- 快照功能僅支持v1.15及以上版本的集群,且需要安裝基于CSI的Everest插件才可以使用。
- 基于快照創建的云硬盤,其子類型(普通IO/高IO/超高IO)、是否加密、磁盤模式(VBD/SCSI)、共享性(非共享/共享)、容量等都要與快照關聯母盤保持一致,這些屬性查詢和設置出來后不能夠修改。
- 只有可用或正在使用狀態,且存儲格式為CSI的磁盤才能創建快照。快照免費試用期間,單個磁盤最大支持創建7個快照。
- 加密磁盤的快照數據以加密方式存放,非加密磁盤的快照數據以非加密方式存放。
使用場景
快照功能可以幫助您實現以下需求:
- 日常備份數據
通過對云硬盤定期創建快照,實現數據的日常備份,可以應對由于誤操作、病毒以及黑客攻擊等導致數據丟失或不一致的情況。
- 快速恢復數據
更換操作系統、應用軟件升級或業務數據遷移等重大操作前,您可以創建一份或多份快照,一旦升級或遷移過程中出現問題,可以通過快照及時將業務恢復到快照創建點的數據狀態。
例如,當由于云主機A的系統盤 A發生故障而無法正常開機時,由于系統盤 A已經故障,因此也無法將快照數據回滾至系統盤A。此時您可以使用系統盤 A已有的快照新創建一塊云硬盤 B并掛載至正常運行的云主機 B上,從而云主機 B能夠通過云硬盤 B讀取原系統盤 A的數據。
說明
當前CCE提供的快照能力與K8S社區CSI快照功能一致:只支持基于快照創建新云硬盤,不支持將快照回滾到源云硬盤。
- 快速部署多個業務
通過同一個快照可以快速創建出多個具有相同數據的云硬盤,從而可以同時為多種業務提供數據資源。例如數據挖掘、報表查詢和開發測試等業務。這種方式既保護了原始數據,又能通過快照創建的新云硬盤快速部署其他業務,滿足企業對業務數據的多元化需求。
創建快照
使用控制臺創建
步驟 1 登錄CCE控制臺。
步驟 2 單擊集群名稱進入集群,在左側選擇“容器存儲”,在右側選擇“快照與備份”頁簽。
步驟 3 單擊右上角“創建快照”,在彈出的窗口中設置相關參數。
- 快照名稱:填寫快照的名稱。
- 選擇存儲:選擇要創建快照的PVC,僅能創建云硬盤類型PVC。
步驟 4 單擊“創建”。
使用YAML創建
kind: VolumeSnapshot
apiVersion: snapshot.storage.k8s.io/v1beta1
metadata:
finalizers:
- snapshot.storage.kubernetes.io/volumesnapshot-as-source-protection
- snapshot.storage.kubernetes.io/volumesnapshot-bound-protection
name: cce-disksnap-test
namespace: default
spec:
source:
persistentVolumeClaimName: pvc-evs-test # PVC的名稱,僅能創建云硬盤類型PVC
volumeSnapshotClassName: csi-disk-snapclass
使用快照創建PVC
通過快照創建云硬盤PVC時,磁盤類型、磁盤模式、加密屬性需和快照源云硬盤保持一致。
使用控制臺創建
步驟 1 登錄CCE控制臺。
步驟 2 單擊集群名稱進入集群,在左側選擇“容器存儲”,在右側選擇“快照與備份”頁簽。
步驟 3 找到需要創建PVC的快照,單擊“創建存儲卷聲明”,并在彈出窗口中指定PVC的名稱。
步驟 4 單擊“創建”。
使用YAML創建
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-test
namespace: default
annotations:
everest.io/disk-volume-type: SSD # 云硬盤類型,需要與快照源云硬盤保持一致
labels:
failure-domain.beta.kubernetes.io/region: cn-north-4
failure-domain.beta.kubernetes.io/zone: cn-north-4b
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: '10'
storageClassName: csi-disk
dataSource:
name: cce-disksnap-test # 快照的名稱
kind: VolumeSnapshot
apiGroup: snapshot.storage.k8s.io