1。创建快照 virsh snapshot-create-as --domain rhel6 --name 2012-03-08 --description "Pure Rhel6" 2。查看快照 virsh snapshot-list rhel6 3。查看快照配置 virsh snapshot-current rhel6 4。回复快照位置 virsh snapshot-revert rhel6 2012-03-08 5。删除快照 birsh snapshot-delete rhel6 2012-03-08 6。获取帮助 virsh help snapshot =============================================================
使用libvirt创建的虚拟机,默认格式为raw,要想使用快照功能,需要先将其转换格式。
1:qemu-img snapshot -c base_sys_centos5.564bit.img CentOS5.5_64bit.img 在现有镜像基础上创建一个快照。 报如下错误: emu-img: Could not create snapshot 'base_sys_centos5.564bit.img': -95 (Operation not supported)
2:怀疑是文件格式不对,查看一下。 qemu-img info CentOS5.5_64bit.img image: CentOS5.5_64bit.img file format: raw virtual size: 20G (21474836480 bytes) disk size: 3.4G
果然是raw格式
3:使用如下命令将raw格式的镜像转化为qcow2格式。 qemu-img convert -f raw -O qcow2 CentOS5.5_64bit.img CentOS5.5_64bit_basesys_qcow2.img
4:转换成功后,再次对镜像创建一个快照
qemu-img snapshot -c CentOS5.5_64bit_Qcow2_basesys.img CentOS5.5_64bit_Qcow2.img
OK,创建成功。
该步并不会创建一个新的镜像,可以使用如下命令来查看指定的镜像上是否存在快照,并在合适的时候,恢复快照。
qemu-img snapshot -l CentOS5.5_64bit_Qcow2.img
Snapshot list: ID TAG VM SIZE DATE VM CLOCK 1 CentOS5.5_64bit_Qcow2_basesys.img 0 2011-07-21 23:17:38 00:00:00.000
恢复快照:
qemu-img snapshot -a CentOS5.5_64bit_Qcow2_basesys.img CentOS5.5_64bit_Qcow2.img
其他操作:
'snapshot' is the name of the snapshot to create, apply or delete '-a' applies a snapshot (revert disk to saved state) '-c' creates a snapshot '-d' deletes a snapshot '-l' lists all snapshots in the given image
一、kvm快照与恢复 1、为原虚拟机所在的lv做一个快照。 lvcreate -L 2G -sn kvmSS /dev/vg/kvm (一般快照大小是宿主的15-20%) 2、修改/etc/libvirt/qemu/虚拟机名.xml,将此配置文件里虚拟机lv名,改成虚拟机快照名。 vim /etc/libvirt/qemu/虚拟机名.xml <source dev=‘虚拟机快照名’> 3、重启动计算机,即可使用快照虚拟机。 4、恢复,当快照虚拟机弄乱或弄坏了,可以直接用回原始的虚拟机做一个快照,再用上面同样的方法,指向这新建的快照。
二、快速制造多台虚拟机 1、为原虚拟机所在的lv做一个快照。 lvcreate -L 2G -sn kvmSS /dev/vg/kvm (一般快照大小是宿主的15-20%) 2、复制/etc/libvirt/qemu/虚拟机名.xml并改名为/etc/libvirt/qemu/虚拟机名1.xml cp /etc/libvirt/qemu/虚拟机名.xml /etc/libvirt/qemu/虚拟机名1.xml 3、修改 /etc/libvirt/qemu/虚拟机名1.xml vim /etc/libvirt/qemu/虚拟机1.xml (修改一下几项,随便改只要与原来不一样就可以了。)比如: <name>1kvmSS</name> <uuid>395ae05e-c118-e460-4de4-7f58e08f8aa1</uuid> <source dev=‘虚拟机快照名’> <mac address='52:54:00:a7:11:cb'/> 4、virsh define 虚拟机名1.xml (定义虚拟机) 5、virsh start 虚拟机名1 (新的虚拟机就可以使用啦。呵呵)
如果遇到虚拟机网卡启动失败提示device eth0 does not seem 可以ifconfig -a 查看网卡的名字是否不是eth0. 如果不是,ip link set ethX name eth0
virsh常用命令一览表
命令 | 说明 | help | 显示该命令的说明 | quit | 结束 virsh,回到 Shell | connect | 连接到指定的虚拟机服务器 | create | 启动一个新的虚拟机 | destroy | 删除一个虚拟机 | start | 开启(已定义的)非启动的虚拟机 | define | 从 XML 定义一个虚拟机 | undefine | 取消定义的虚拟机 | dumpxml | 转储虚拟机的设置值 | list | 列出虚拟机 | reboot | 重新启动虚拟机 | save | 存储虚拟机的状态 | restore | 回复虚拟机的状态 | suspend | 暂停虚拟机的执行 | resume | 继续执行该虚拟机 | dump | 将虚拟机的内核转储到指定的文件,以便进行分析与排错 | shutdown | 关闭虚拟机 | setmem | 修改内存的大小 | setmaxmem | 设置内存的最大值 | setvcpus | 修改虚拟处理器的数量 |
查看Domain信息执行的命令
命令 | 说明 | domid | 查看虚拟机的标识符 | domname | 查看虚拟机的名称 | domuuid | 查看虚拟机的 UUID | domstate | 查看虚拟机目前的状态 | dominfo | 查看虚拟机的信息 |
|