Linux KVM 虚拟机如何创建快照

时间:2019-11-20 08:53:47  来源:igfitidea点击:

KVM 虚拟机如何制作快照?
如何使用virsh命令创建虚拟机快照?

在Linux中为KVM VM创建快照的语法

virsh命令可以使用virsh snapshot-create从XML文件创建快照,
或者直接使用virsh snapshot-create-as创建快照。

在Linux中为KVM 虚拟机制作快照的语法如下:

virsh snapshot-create-as --domain {VM-NAME} --name "{SNAPSHOT-NAME}"

其中

  • --domain {VM-NAME}:虚拟域名称/虚拟机名称/虚拟机id/虚拟机uuid
  • --name "{SNAPSHOT-NAME}":快照名称

Linux KVM 虚拟机创建快照示例

查看主机中运行的虚拟机:

# virsh list

为centos7虚拟机制作快照

# virsh snapshot-list --domain centos7

为freebsd域创建一个快照。

首先,检查freebsd虚拟机是否使用qcow2磁盘:

# virsh dumpxml freebsd | grep -i qemu

输出示例:

<driver name='qemu' type='qcow2'/>
      <driver name='qemu' type='raw'/>

为freebsd的域/虚拟机创建快照:

# virsh snapshot-create-as --domain freebsd \
--name "5sep2016s0" \
--description "Snapshot before upgrading to FreeBSD 11" \
--live

我们刚才给正在运行的虚拟机做了快照。(注意,只包含了磁盘的状态,而不包括内存的状态)

要为没有运行的虚拟机做快照,可以参照下面命令:

# virsh shutdown freebsd
# virsh snapshot-create-as --domain freebsd \
--name "5Sep2016_S1" \
--description "My First Snapshpot"
# virsh start freebsd

查看freebsd虚拟机的快照

# virsh snapshot-list --domain freebsd

查看快照的详细信息

# virsh snapshot-info --domain freebsd --snapshotname 3Sep2017_S2

如何使用快照恢复/还原KVM虚拟机

将虚拟机恢复到快照的状态:

# virsh shutdown --domain freebsd
# virsh snapshot-revert --domain freebsd --snapshotname 5Sep2016_S1 --running

如何删除KVM虚拟机快照?

使用以下语法:

# virsh snapshot-delete --domain freebsd --snapshotname 5Sep2017_S2

如何只抓取磁盘状态快照

使用" --disk-only",如下所示:

# virsh snapshot-create-as --name "snap01" \
--description "CentOS 7 snapshot" \
--disk-only \
--live
--domain centos7

查看snapshot-create-as的帮助文档

执行:

virsh help snapshot-create-as

输出示例:

 
 
  OPTIONS
    [--domain] <string>  domain name, id or uuid
    --name <string>  name of snapshot
    --description <string>  description of snapshot
    --print-xml      print XML document rather than create
    --no-metadata    take snapshot but create no metadata
    --halt           halt domain after snapshot is created
    --disk-only      capture disk state but not vm state
    --reuse-external  reuse any existing external files
    --quiesce        quiesce guest's file systems
    --atomic         require atomic operation
    --live           take a live snapshot
    --memspec <string>  memory attributes: [file=]name[,snapshot=type]
    [--diskspec] <string>  disk attributes: disk[,snapshot=type][,driver=type][,file=name]