所以,我现在有一个非常棒的 KVM 设置正在运行,主机和来宾域上的 CentOS5.5,管理所有配置的 libvirt,等等。来宾域文件系统存储在硬件 RAID5 卷顶部的 LVM 中,所以我具有备份和低级数据冗余的灵活性。
我今天测试了 virt-clone,它运行得非常好,除了将 24G 数据从挂起域的 LVM 磁盘复制到新虚拟机的新 LVM 卷需要大约 30 分钟。
我的问题是:我不能只使用 LVM 快照来创建新 VM 的根磁盘吗?例如:
lvcreate -s guest1_root -n guest2_root -L 8G raid_vg
现在,我对 LVM 快照的理解是,快照存储对原始块所做更改的逆增量,因此快照占用的实际空间很少,即使在写入原始卷后也可以读取原始块。LVM2 添加了读写快照,开启了这种有趣的可能性。
事实上,LVM HOWTO甚至建议将此功能与 Xen 结合使用:
这开辟了许多新的可能性,这是 LVM1 的只读快照无法实现的。(...) 它对于创建用于 Xen 的卷也很有用。您可以创建磁盘映像,然后对其进行快照并修改特定 domU 实例的快照。然后,您可以创建原始卷的另一个快照,并针对不同的 domU 实例修改该快照。由于快照使用的唯一存储是在源或快照上更改的块,因此大部分卷由 domU 共享。
这似乎是一个非常强大的工具,我想知道是否有人在他们的生产虚拟化环境中尝试过它,能想到任何采用这种方法的供应商(Citrix、VMWare),或者能想到这个想法的任何严重问题。我可以想到以下潜在问题:
作为可能比我拥有更多虚拟化经验的人,有没有什么让想要从这样的设置中尖叫的?