虚拟机备份、快照和还原

虚拟机备份和恢复

从 v0.3.0 起可用

虚拟机备份是在 Virtual Machines 页面中创建的。虚拟机备份卷将存储在 Backup Target(NFS 或 S3 服务器)中,用于还原新虚拟机或替换现有虚拟机。 vm-backup.png

虚拟机备份、快照和还原 - 图2备注

必须设置备份目标。详情请参见配置备份目标。如果没有设置备份目标,你会收到进行设置的提示。

配置备份目标

备份目标是一个用于访问 Harvester 中的备份存储的端点。备份存储是一个 NFS 服务器或 S3 兼容服务器,用于存储虚拟机卷的备份。备份目标可以在 Settings > backup-target 中设置。

参数类型描述
类型string选择 S3 或 NFS
Endpointstring配置服务器或 IP 地址。如果是 AWS S3,则可以留空。
BucketNamestringBucket 名称
BucketRegionstringBucket 所在的区域
AccessKeyIDstring唯一标识你的账号的用户 ID
SecretAccessKeystring你账号的密码
Certificatestring粘贴以使用 S3 服务器的自签名 SSL 证书。
VirtualHostedStylebool仅使用 VirtualHostedStyle 访问,例如阿里云 (Aliyun) OSS。

创建虚拟机备份

  1. 设置好备份目标后,前往 Virtual Machines 页面。
  2. 选择目标虚拟机,并点击 Take Backup
  3. 设置备份的名称,并点击 Createcreate-backup.png

结果:备份已创建。你将收到一条通知消息。你也可以前往 Backup & Snapshot > VM Backups 页面查看所有 VM 备份。

备份完成后,ReadyToUse 状态会设置为 true

你可以使用备份恢复一个新虚拟机,或替换现有虚拟机。

使用备份恢复虚拟机

要使用备份恢复一个新虚拟机,请按照以下步骤进行操作:

  1. 前往 VM Backups 页面。
  2. 设置新虚拟机的名称并单击 Create
  3. 将使用备份卷和元数据还原新虚拟机。此后,你可以从 Virtual Machine 页面访问它。 restore-vm.png

使用备份替换现有虚拟机

你可以使用具有相同备份目标的备份,来替换现有的虚拟机。

你可以选择删除或保留之前的卷。默认情况下,所有之前的卷都将被删除。

要求:虚拟机必须存在且需要处于关机状态。

  1. 前往 VM Backups 页面。
  2. 单击 Replace Existing

你可以在 Virtual Machine 页面查看还原进度。

在另一个 Harvester 集群上恢复新虚拟机

从 v1.0.0 起可用

用户现在可以使用虚拟机元数据和内容备份功能,在另一个集群上恢复新虚拟机。

虚拟机备份、快照和还原 - 图5先决条件

你必须先在新集群上手动配置同名的虚拟机镜像,否则将无法正常恢复。

将相同的虚拟机镜像上传到新集群

  1. 检查现有镜像的名称(通常以 image- 开头),并在新集群上创建相同的名称:
  1. $ kubectl get vmimages -A
  2. NAMESPACE NAME DISPLAY-NAME SIZE AGE
  3. default image-79hdq focal-server-cloudimg-amd64.img 566886400 5h36m
  4. default image-l7924 harvester-v1.0.0-rc2-amd64.iso 3964551168 137m
  5. default image-lvqxn opensuse-leap-15.3.x86_64-nocloud.qcow2 568524800 5h35m
  1. 在新集群中应用具有相同名称和内容的虚拟机镜像 YAML:
  1. $ cat <<EOF | kubectl apply -f -
  2. apiVersion: harvesterhci.io/v1beta1
  3. kind: VirtualMachineImage
  4. metadata:
  5. name: image-lvqxn
  6. namespace: default
  7. spec:
  8. displayName: opensuse-leap-15.3.x86_64-nocloud.qcow2
  9. pvcName: ""
  10. pvcNamespace: ""
  11. sourceType: download
  12. url: http://download.opensuse.org/repositories/Cloud:/Images:/Leap_15.3/images/openSUSE-Leap-15.3.x86_64-NoCloud.qcow2
  13. EOF

在新集群中恢复新虚拟机

  1. 在新集群中设置相同的备份目标。此后,备份控制器会自动将备份元数据同步到新集群。
  2. 前往 VM Backups 页面。
  3. 选择已同步的虚拟机备份元数据,然后选择使用指定的虚拟机名称还原新的虚拟机。
  4. 新的虚拟机将使用备份卷和元数据进行还原。你可以在 Virtual Machines 页面访问虚拟机。

虚拟机快照和还原

从 v1.1.0 起可用

虚拟机快照是在 Virtual Machines 页面中创建的。VM 快照卷将存储在集群中,它们可用于还原新 VM 或替换现有 VM。 vm-snapshot.png

创建虚拟机快照

  1. 前往 Virtual Machines 页面。
  2. 单击 VM 操作中的 Take VM Snapshot 创建新的 VM 快照。
  3. 设置快照的名称,并点击 Createcreate-snapshot.png

结果:快照已创建。你也可以前往 Backup & Snapshot > VM Snapshots 页面查看所有 VM 快照。

快照完成后,ReadyToUse 状态会设置为 true

你可以使用快照恢复一个新虚拟机,或替换现有虚拟机。

使用快照恢复虚拟机

要使用快照恢复一个新虚拟机,请按照以下步骤进行操作:

  1. 前往 VM Snapshots 页面。
  2. 设置新虚拟机的名称并单击 Create
  3. 将使用快照卷和元数据还原新虚拟机。此后,你可以从 Virtual Machine 页面访问它。 restore-vm-snapshot.png

使用快照替换现有虚拟机

你可以使用快照替换现有 VM。

虚拟机备份、快照和还原 - 图9备注

你只能选择保留以前的卷。

  1. 前往 VM Snapshots 页面。
  2. 单击 Replace Existing

你可以在 Virtual Machine 页面查看还原进度。