这里是否有人通过虚拟机运行路由,将虚拟机设置为主路由器/网关等?如果是,有多少客户端使用这种设置?
对于那些想知道我为什么问这个问题的人。我的实习任务是创建一个可以同时进行路由和 IP PBX 的“盒子”(只能使用开源解决方案,RouterOS 除外)。路由部分目前通过 RouterOS 完成,对于 VoIP,他们希望使用 sipXecs。RouterOS 支持通过 KVM 进行虚拟化,但 RouterOS 本身仅支持 2GB 内存(并且近期不会支持更多)。sipXecs 需要分配超过 2GB 的内存。我告诉他们,我们可以通过将 RouterOS 作为虚拟机放到 64 位主机操作系统(例如 CentOS)中来解决这个问题,其他虚拟机将运行 sipXecs。这样我们就可以使用整个内存。但他们告诉我,这样做风险太大,他们需要具有“企业稳定性/可靠性”的东西。我告诉他们,我们可以为每个虚拟机制作冗余映像,如果一个虚拟机停止工作,该映像将自动启动,但我被告知了同样的事情。所以这就是我问上述问题的原因,看看我是否真的建议了一些不好的事情,或者这也许是一件完全正常的事情,可以用“企业稳定性/可靠性”来完成:)
谢谢你的回答,克里斯蒂安
编辑#@ Zoredache ~ 我向他们提出了这个建议,但他们也不喜欢 :/
答案1
虽然大多数人不会选择这种方式,但这种方法没有理由行不通。我的一个建议是使用裸机虚拟化,例如 ESXi 或 Xen Server,而不是使用应用程序模式虚拟化。显然,您需要考虑主机启动时路由器不可用的后果。例如,如果计算机依赖于路由器的启动,而由于某种原因路由器没有启动,您将无法管理该计算机。
答案2
我不知道为什么这不应该是稳定可靠的。根据虚拟化技术和硬件,网络虚拟化可能比本地虚拟化更昂贵。
答案3
我在 VMWare ESXi 上将路由器作为虚拟主机运行。这样做没有问题,而且作为定制服务器,该盒子相当可靠。它需要一些有关如何将所有东西路由在一起的知识,不幸的是,我真的不记得我是如何做到这一切的。我立即意识到的唯一问题是 VoIP 在作为虚拟机运行时存在一些问题。因此,您需要进行一些研究,以确保您的应用程序能够与您的虚拟机管理程序上可用的任何内核一起正常运行。
答案4
如果你使用 dynamips (http://www.ipflow.utc.fr/index.php/Cisco_7200_Simulator) 例如,这将在 MIPS 虚拟机中运行您的路由器。
我知道有些 ISP 使用它作为备用路由器