Xen 虚拟机使用LVM snapshot镜像

12 篇文章 0 订阅
3 篇文章 0 订阅

一般的虚拟机镜像文件,比较直接的做法是存放在一个img镜像文件里,或者直接使用/dev/sda*分区。但是万一把虚拟机分区“玩坏”了就不好恢复了。

qemu支持一种镜像格式qcow2,能够创建增量镜像,这样可以把修改存在新文件里,当出错时可以保护原始镜像。这个功能非常有用,【xen似乎支持qcow2,待查】但是Xen自身不支持。

Xen想要使用增量镜像,只能使用LVM文件系统的snapshot快照功能。(note:Xen HVM虚拟机因为使用qemu做前端,所以同样可以用qcow2格式。但是PV虚拟机就只能用LVM snapshot)

LVM可以对一个分区创建多个快照(snapshot),作为分区的增量镜像。在快照里的修改不会影响到源分区。

在创建快照时,需要指定快照的大小。当snapshot的空间被填满时,LVM会丢弃这个快照(奇怪的设定尴尬),所以尽量不要塞满……而比较新的lvm版本支持把snapshot与本体分区合并,如果建立了快照又想同时修改本体和快照,可以使用这个merge功能。


下面是具体的配置。

环境:

LVM版本为2.02.54。这个版本比较老。比较新的版本支持把snapshot与本体分区合并。

GUI使用KDE的kvpm,和Gnome下的system-config-lvm

LVM的文件系统可以定义在物理分区上,或者镜像文件里。我使用的是/dev/sda*分区。

建立lvm分区:
sudo pvcreate /dev/sda11 -v 
注意这一步会抹掉分区头部信息。剩下的分配卷组/分区的步骤可以在GUI里完成。最后的结果是这样:
/dev/sda11(Physical Volume)
--- vg0(Group0)
------ PV (10GB, ext4)
------ swap (512MB, swap)

其他的预留给hvm虚拟机和snapshot


安装配置好镜像pv里的所有内容后,使用GUI建立两个snapshot:pv-shot1和pv-shot2,大小均为2GB

然后把虚拟机配置文件做相应的修改:

xm_vars.var('volume', use="Specify the logical volume (snapshot) used")
disk        = [
                  "phy:/dev/vg0/%s,xvda2,w" % volume,
              ]
name        = 'debian-pv-%s' % volume
运行时的命令行:
sudo xm create -c debian-pv.cfg volume=pv-shot1

这样启动的虚拟机,所有的修改都在snapshot中进行,原始镜像可以得到很好的保护。
 

 

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值