Snapshot在virsh和qemu-img中的使用

时间:2021-10-26 08:53:52

 转载自http://blog.sina.com.cn/s/blog_53ab41fd01013rc0.html

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
        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

查看虚拟机的信息

 

 

相关文章