前提条件
HBlock端已存在卷和快照。
操作步骤
创建VolumeSnapshotContent的配置文件。
apiVersion: snapshot.storage.k8s.io/v1 kind: VolumeSnapshotContent metadata: name: csi-static-snapshot-content spec: deletionPolicy: Delete driver: stor.csi.k8s.io source: snapshotHandle: clusterID:sourceLuName:snapshotName #clusterID,HB源卷,HB的快照 volumeSnapshotRef: name: csi-static-snapshot #snapshot中的name: csi-static-snapshot 对应,CSI中快照的名字 namespace: default
VolumeSnapshotContent的配置文件参数:
参数 描述 是否必填 metadata.name VolumeSnapshotContent的名称。 是 spec.deletionPolicy 删除策略。删除VolumeSnapshot对象触发删除VolumeSnapshotContent操作,随后DeletionPolicy会紧跟着执行。
如果DeletionPolicy是 Delete,底层存储快照会和VolumeSnapshotContent一起被删除。
如果DeletionPolicy是Retain,底层快照和VolumeSnapshotContent都会被保留。
是 spec.source.snapshotHandle HBlock中的快照。
格式为:clusterID:sourceLuName:snapshotName。
clusterID:csi-configMap.yaml中配置的HBlock的标识。
sourceLuName:HBlock中快照源卷的名称。
snapshotName:HBlock中快照的名称。
是 spec.volumeSnapshotRef.name 快照名称。当HBlock快照映射到Kubernetes时,其名称需与VolumeSnapshot配置文件中的metadata.name 保持一致。 是 创建VolumeSnapshot的配置文件。
apiVersion: snapshot.storage.k8s.io/v1 kind: VolumeSnapshot metadata: name: csi-static-snapshot namespace: default spec: source: volumeSnapshotContentName: csi-static-snapshot-content
VolumeSnapshot的配置文件参数:
参数 描述 是否必填 metadata.name 快照名称。需要与VolumeSnapshotContent配置文件中的spec.volumeSnapshotRef.name保持一致。 是 spec.source.volumeSnapshotContentName VolumeSnapshotContent的名称。 是 应用VolumeSnapshotContent和VolumeSnapshot的配置文件。
kubectl apply -f VolumeSnapshotContent.yaml kubectl apply -f VolumeSnapshot.yaml
查看快照。
kubectl get volumesnapshots [snapshotName]