KVM 尝试从备份中恢复并获取错误意外数据

KVM 尝试从备份中恢复并获取错误意外数据

您好,我按照以下步骤备份了 VM 客户机:

1. virsh dumpxml --migratable test > /backup/test.xml

2. virsh snapshot-create-as --domain test   \
                         --name backup.qcow2 \
                         --no-metadata       \
                         --atomic            \
                         --quiesce           \
                         --disk-only         \
                         --diskspec vda,snapshot=external

3. cp /var/lib/libvirt/images/test.qcow2 /backup/
4. virsh blockcommit test vda --active --pivot
5. rm -f /var/lib/libvirt/images/test.backup.qcow2

备份后,我尝试测试是否可以从中恢复。

  1. 我正在关闭访客“测试”
  2. 不屈不挠的客人“测试”
  3. 从主图像文件夹中删除 qcow2 图像
  4. 然后将 qcow2 复制到主图像文件夹
  5. 尝试通过此命令定义:

virsh define -file /backup/test.xml

我收到了错误:error: unexpected data 'test.xml'

我做错了什么?我该如何解决这个问题?

答案1

当您收到提示语法问题的错误时,您应该始终先检查手册页。

virsh define只需要一个参数,即应该从中加载 XML 定义的文件名。您已传递参数。因此,它会认为您正在尝试加载一个名为的文件-file,并且不知道您使用第二个参数表示什么意思test.xml

正确的语法是virsh define filename

答案2

你的 virsh 定义的问题是,正如 Hampton 所说,你应该删除选项 -file,或者如果你想保留它,它应该是双连字符,而不是单连字符。所以,它应该是 --file。

答案3

它的工作原理是双向的:

virsh define --file /backup/test.xml

或者

virsh define /backup/test.xml

相关内容