如果您有两个网络存储盒(特别是 iSCSI),您是否可以在存储单元之间进行实时迁移(使用 Xen 或 XenServer)?或者是否只需在由于存储位于不同的物理机器上而导致 VM 暂停/关闭时进行实时迁移?
答案1
目前,所有可视化虚拟机管理程序都可以实时迁移(xen、kvm、vmware、openvz、hyper-v)。但为此,您需要一个共享存储。您有 3 个选择:
- SAN(FC 或 iSCSI),但您需要在其上安装一个集群文件系统(ocfs2、gfs、vmware 等)。节点数受限于文件系统初始化的参数(至少使用 ocfs2)。
- NAS(NFS)。我确实使用 Netapp FAS2020 成功测试了此解决方案,其性能与 iSCSI 相当。但我没有进行足够的测试来检查主机发生故障时的行为以及数据完整性。文章:http://thesantechnologist.com/?p=52有一个链接,确实显示了 nfs 的出色效果。我测试过并可以确认,对于几个并发虚拟机来说,NFS 与 iSCSI 一样快。
- DRBD(主动-主动):此解决方案与 SAN 非常相似,但主动-主动 DRBD 集群非常新,我不知道其可靠性。我过去使用过 DRBD,但在其之上使用了 nbd,因为主动-主动尚不可用。我还使用 NFS 在节点之间共享。两种解决方案均有效(主动-被动 + NFS)和(主动-被动 + NBD + OCFS2)。
简而言之 :
- SAN 是最成熟的解决方案,而且绝对是最昂贵的,特别是如果您选择 FC。
- NFS 是最简单的解决方案。
- DRBD 是最便宜的解决方案,仅限于 2 个活动节点。
我远非经验最丰富的人,但我的想法如下: - 除非你有很多欧元,否则 FC 是无用的。因为虚拟化减速确实发生在你有大量随机读取时,此时的带宽很低,而 iSCI 可以完美处理它。 - iSCSI 是最具可扩展性的。这将适用于入门级系统,您可以通过转向专用的 iSCSI 控制器来获得更高的性能,如果仍然不够,请将您的存储更改为更快的存储。如果您真的需要一些令人印象深刻的速度,戴尔可以向您出售仅带有 SSD(SLC 技术)的 equalogic 存储。价格昂贵,但性能如此之高,性价比仍然很出色。 - NFS 可能也是一个很好的解决方案,但我缺乏经验,我唯一担心的是断电时数据丢失。(而使用其他技术也可能会丢失数据。) - DRBD 将以 SMI/非常低成本的解决方案带来满足感。
我对 Netapp 非常满意,我建议使用 2 个 Netapp FAS-2020,每个盒子中有 2 个控制器,用于虚拟化和 CIFS 文件服务器。NFS 也很好。我对 NetApp 重复数据删除也非常满意。因此,如果您有一些钱用于虚拟化,请从 2 个 NetApp 2020 盒子开始(带 15krpm 驱动器)。(您必须为此计算 20k - 30k€)
关于虚拟化技术,我主要使用 xen、kvm 和 openvz。至于虚拟化解决方案,我在生产中使用 OracleVM 已有 5 年了,但我有兴趣更换,因为存储效率不高(OracleVM 仅支持原始格式)。我认为当今最好的开源模仿者是 Proxmox ve。
如果我必须从头开始重新启动虚拟化项目,我也会仔细研究英特尔模块化服务器(您可以在 www.thomas-krenn.com 上查看价格和介绍)。
希望能帮助到你。
答案2
开源 Xen 不行。我不知道 XenServer,但我怀疑不是。
实时迁移只会移动内存和状态,而不会移动磁盘。您应该关闭它才能移动它。
答案3
如果这个问题与你的关于 l2arc 的 zfs 问题然后我只想指出一件事,如果您在两台主机上都使用 zfs,那么在计划从一台存储服务器移动另一台存储服务器的情况下,您可以做这件事来最大限度地减少停机时间。
如果每个虚拟机都有自己的 zfs 文件系统,您可以利用 zfs 来帮助加快使用快照和 zfs send 和 zfs accept 的计划迁移。zfs send 可以有效地将文件系统或快照从一个存储服务器移动到另一个存储服务器。因此,只要您正在处理计划迁移,您就可以拍摄快照,然后使用 zfs send/receive 将虚拟机文件系统的快照发送到另一个存储服务器。完成后,关闭虚拟机,然后再次运行 zfs send/receive,这次它只需发送来自上一个快照的更改,这应该非常快。更新虚拟机的配置文件以指向新的存储位置并重新启动它。我敢打赌,大部分操作都可以使用一些脚本自动完成。