使用卷快照

卷快照是持久卷声明(PVC)的一个时间点副本,可用于配置新的持久卷声明(预填充快照数据)或将现有持久卷声明回滚到先前状态,从而实现备份应用数据并根据需要恢复,确保应用数据的可靠性。

目录

先决条件

  • 管理员已为当前集群部署了卷快照组件 Snapshot Controller 并在存储集群中启用了快照相关功能。

  • 持久卷声明必须动态创建,并且其状态必须为 Bound

  • 绑定到持久卷声明的存储类必须支持快照功能,例如 CephRBD 内置存储CephFS 内置存储TopoLVM

示例 VolumeSnapshot 自定义资源(CR)

这将使用 CSI 快照类创建 example-pvc PVC 的快照。

# example-snapshot.yaml
apiVersion: snapshot.storage.k8s.io/v1
kind: VolumeSnapshot
metadata:
  name: example-pvc-20250527-111124
  namespace: k-1
  labels:
    snapshot.cpaas.io/sourcepvc: example-pvc
  annotations:
    cpaas.io/description: demo
spec:
  volumeSnapshotClassName: csi-cephfs-snapshotclass
  source:
    persistentVolumeClaimName: example-pvc

通过 Web 控制台创建卷快照

基于指定持久卷声明(PVC)创建卷快照

方法一

  1. 进入 Container Platform

  2. 在左侧导航栏中,点击 Storage > Persistent Volume Claims (PVC)

  3. 在列表中点击相应持久卷声明旁的 ⋮,选择 Create Volume Snapshot

  4. 填写快照描述。此描述可以帮助您记录持久卷的当前状态,例如 应用升级前

  5. 点击 Create。快照所需时间取决于网络状况和数据量,请耐心等待。

    当快照状态变为 Available 时,表示创建成功。

方法二

  1. 进入 Container Platform

  2. 在左侧导航栏中,点击 Storage > Persistent Volume Claims (PVC)

  3. 在列表中点击持久卷声明的名称。

  4. 切换到 Volume Snapshots 标签。

  5. 点击 Create Volume Snapshot,根据需要配置相关参数。

  6. 点击 Create。快照所需时间取决于网络状况和数据量,请耐心等待。

    当快照状态变为 Available 时,表示创建成功。

以自定义方式创建卷快照

  1. 进入 Container Platform

  2. 在左侧导航栏中,点击 Storage > Volume Snapshots

  3. 点击 Create Volume Snapshot,根据需要配置相关参数。

  4. 点击 Create。快照所需时间取决于网络状况和数据量,请耐心等待。

    当快照状态变为 Available 时,表示创建成功。

通过 CLI 创建卷快照

kubectl apply -f example-snapshot.yaml

从卷快照创建持久卷声明

目前,平台仅支持使用从具有 动态配置 的存储类创建的 PVC 来创建卷快照。您可以基于该快照创建新的 PVC 并进行绑定。

注意:从快照创建 PVC 时支持的访问模式与从存储类创建 PVC 时支持的访问模式不同,如表中 加粗 部分所示。

用于创建卷快照的存储类单节点读写(RWO)多节点只读(ROX)多节点读写(RWX)
TopoLVM支持不支持不支持
CephRBD 块存储支持不支持不支持
CephFS 文件存储支持支持支持

方法一

  1. 进入 Container Platform

  2. 在左侧导航栏中,点击 Storage > Persistent Volume Claims (PVC)

  3. 在列表中点击持久卷声明的名称。

  4. 切换到 Volume Snapshots 标签。

  5. 点击相应卷快照旁的 ⋮,选择 Create Persistent Volume Claim,配置相关参数。

  6. 点击 Create

方法二

  1. 进入 Container Platform

  2. 在左侧导航栏中,点击 Storage > Volume Snapshots

  3. 在列表中点击相应卷快照旁的 ⋮,选择 Create Persistent Volume Claim,配置相关参数。

  4. 点击 Create

额外资源