Skip to content

定时快照

本文将介绍如何为云主机定时创建快照。

用户可以为云主机定时创建快照,能够为数据提供持续的保护,确保在发生数据丢失、损坏或删除的情况下可以进行有效的数据恢复。

定时快照步骤

  1. 点击左侧导航栏上的 容器管理 -> 集群列表 ,在列表页面,选择目标云主机所在的集群。 进入集群后,点击 工作负载 -> 定时任务 ,选择 YAML 创建 定时任务,参考以下 YAML 示例可为指定云主机定时创建快照。

    yaml创建定时任务

    点击查看创建定时任务的 YAML 示例
    apiVersion: batch/v1
    kind: CronJob
    metadata:
      name: xxxxx-xxxxx-cronjob # 定时任务名称, 可自定义
      namespace: virtnest-system # 请勿修改此namespace
    spec:
      schedule: "5 * * * *" # 按需修改定时任务执行间隔
      concurrencyPolicy: Allow
      suspend: false
      successfulJobsHistoryLimit: 10
      failedJobsHistoryLimit: 3
      startingDeadlineSeconds: 60
      jobTemplate:
        spec:
          template:
            metadata:
              labels:
                virtnest.io/vm: xxxx # 修改为需要快照的云主机名称
                virtnest.io/namespace: xxxx # 修改为云主机所在的命名空间
            spec:
              serviceAccountName: kubevirt-operator
              containers:
                - name: snapshot-job
                  image: release.daocloud.io/virtnest/tools:v0.1.5 # 离线环境下,仓库地址修改为对应火种集群仓库地址
                  imagePullPolicy: IfNotPresent
                  env:
                    - name: NS
                      valueFrom:
                        fieldRef:
                          fieldPath: metadata.labels['virtnest.io/namespace']
                    - name: VM
                      valueFrom:
                        fieldRef:
                          fieldPath: metadata.labels['virtnest.io/vm']
                  command:
                    - /bin/sh
                    - -c
                    - |
                      export SUFFIX=$(date +"%Y%m%d-%H%M%S")
                      cat <<EOF | kubectl apply -f -
                      apiVersion: snapshot.kubevirt.io/v1alpha1
                      kind: VirtualMachineSnapshot
                      metadata:
                        name: $(VM)-snapshot-$SUFFIX
                        namespace: $(NS)
                      spec:
                        source:
                          apiGroup: kubevirt.io
                          kind: VirtualMachine
                          name: $(VM)
                      EOF
              restartPolicy: OnFailure
    
  2. 创建定时任务并成功运行后,可点击 云主机 在列表页面选择目标云主机,进入详情后可查看快照列表。

    定时快照