KVM虚拟机操作

在 CentOS 系统中使用 KVM 虚拟化时,查看虚拟机的快照可以通过以下步骤进行操作:


1. 确认虚拟机名称

首先列出所有虚拟机:

sudo virsh list --all

找到目标虚拟机的名称(如 centos-vm)。


2. 使用 virsh 查看快照

执行以下命令列出指定虚拟机的快照:

sudo virsh snapshot-list <虚拟机名称>

示例:

sudo virsh snapshot-list centos-vm

如果提示 error: unsupported configuration: internal snapshots not supported with this QEMU binary,说明虚拟机磁盘格式可能为 raw(不支持快照),需使用 qcow2 格式。


3. 检查虚拟机磁盘格式

确认虚拟机磁盘是否为 qcow2 格式:

sudo qemu-img info /var/lib/libvirt/images/<虚拟机磁盘名称>.qcow2 | grep "file format"

如果磁盘是 raw 格式,需转换为 qcow2 才能支持快照。


4. 使用 qemu-img 查看磁盘快照(可选)

直接查看磁盘文件的快照信息:

sudo qemu-img info /var/lib/libvirt/images/<虚拟机磁盘名称>.qcow2

输出中的 Snapshot list 会显示所有快照。


5.创建恢复快照

根据你的需求,你需要先创建新快照然后恢复指定快照。以下是具体步骤:

  1. 创建新快照
sudo virsh snapshot-create-as ubuntu-git 20250419
  1. 恢复春节快照
sudo virsh snapshot-revert ubuntu-git "春节快照20220128"

操作说明:

创建快照:snapshot-create-as 命令会为虚拟机 ubuntu-git 创建一个名为 20250419 的新快照。

恢复快照:snapshot-revert 命令会将虚拟机状态回退到 春节快照20220128 的时间点。快照名称包含中文和数字,建议用引号包裹以避免解析问题。

验证操作:

查看快照列表确认新快照:

sudo virsh snapshot-list ubuntu-git

检查虚拟机状态是否恢复成功。

6. 克隆虚拟机

# 关闭虚拟机
$ sudo virsh shutdown ubuntu-git
# 若未响应,强制关闭
$ sudo virsh destroy ubuntu-git

# 确认状态
$ sudo virsh list --all
Id   Name          State
-----------------------------
-    ubuntu-git    shut off

# 克隆
$ sudo virt-clone --original ubuntu-git --name ubuntu-gitbak --auto-clone
克隆成功!新虚拟机名称为 ubuntu-gitbak。

# 验证
$ sudo virsh list --all
Id   Name            State
-----------------------------
-    ubuntu-git      shut off
-    ubuntu-gitbak   shut off

常见问题解决

  • 权限问题:确保使用 sudo 或切换到 root 用户。
  • 未找到命令:安装必要工具:
sudo yum install -y libvirt-client qemu-img
  • 虚拟机未关闭:某些操作需要虚拟机处于关机状态:
sudo virsh shutdown <虚拟机名称>

总结

  • 如果快照列表为空,表示该虚拟机尚未创建过快照。
  • 快照功能依赖磁盘格式(必须为 qcow2)。
  • 使用 virsh snapshot-create 可手动创建快照。

遇到具体错误时,可提供完整报错信息进一步分析!

posted @ 2025-06-24 16:53  youemby  阅读(57)  评论(0)    收藏  举报