我有一个Web应用程序,需要相当多的依赖。 我目前正在评估使用kvm图像来帮助我们的用户在他们的服务器上安装这个应用程序。
然而,我们有一些关于定制这些图像的可能性,主要是networking和存储。
许多站点有多个networking(例如,一个用于公共Web界面的networking和一个用于数据的专用networking),并且虚拟来宾有时需要访问他们两个。 这应该很容易处理使用两个(或更多)虚拟networking接口。 然而:
我必须确定,目前访客通过桥接访问networking。
你用什么技术来解决这些问题? 有没有办法configuration一次虚拟客人,并在最小的configuration下运行它? libvirt能为这个过程提供一些帮助吗?
谢谢 !
感谢您的第一个答案。 现在我意识到我应该更精确一些:
首先,我们的应用程序当然可以安装在任何types的虚拟机(XEN,VMWare等)中,我们将为用户提供select。 我只关注KVM,因为有些网站提出了预先configuration的KVM映像的请求,并且不像现在使用Xen那样适合使用虚拟化技术。
其次,前面描述的networking问题他们可以面对的问题或多或less是我在工作中面临的同样的问题:我通常在我的台式计算机上创build一个虚拟机,然后将存档移动到群集中进行生产。 但是,我的台式电脑和集群之间的环境差别很大。 Linux版本是不同的,我们使用不同的专用networking等等。 所以,我们只想简化从计算机到集群移动虚拟KVM机器的过程。
实际上,我正在寻找一些强大的解决scheme,为虚拟客户提供一些关于他们的环境的提示。 例如在libvirt XML文件中添加一些信息,比如eth0和eth1的mac地址以及这些接口的IP地址,以及其他类似的东西(NFS等)。 由于我们使用networking桥接,我不认为主机上的本地DHCP服务器可能是一个很好的解决scheme,只能解决问题的一部分。 那么真正的酷就是将主机的configuration信息传递给来宾。 也许这已经存在,或者可以通过某种方式来实现。
所以我重新提出的问题是:是否有一个好的 (强大的,标准的,优雅的,无论) 从主机到客人 (理想情况下直接使用libvirt XML)的信息,如果它不存在或这个想法完全愚蠢(然后请给出为什么这是一个愚蠢的想法的论据)。
再次感谢) !
你可能会更好地将它作为一个完整的堆栈安装,包括操作系统和所有的依赖关系,在一个你知道它运行良好的操作系统上。 然后,让最终用户决定是要将其独立安装,还是将其安装在KVM,VMWare,Xen或其他虚拟机上。 用KVM映像获得的唯一的东西是一些硬件不可知论的东西,但是在你指出的时候,仍然存在潜在的缺陷,而且该网站必须愿意且能够维护KVM主机除了你的应用程序和操作系统。
编辑:为了回应你重新提出的问题,我想你还是要把这些东西留给网站 – devise上,虚拟机客户端无法控制主机上的networking设置。 您当然可以以最简单或最有效的方式提供相关文档和说明,但这可能因地点而异。 不pipe您做什么,如果您将其作为VM映像或设备进行分发,则该站点将不得不有效设置和维护专门configuration为在其networking上运行的VM主机。
这并不是说有人真的做到了,但是这正是DMTF开放式虚拟化格式所要解决的问题。 对不起,我没有更好的build议。
您正在考虑简单的技术细节,而不考虑大局。 一个图像的问题是,它不能很好地融入网站的基础设施。 它可能是一个不同的操作系统。 它可能不遵循网站的configuration/安全标准。 它可能不与站点的修补和configurationpipe理系统,其备份系统,HA /负载平衡系统或DR系统集成。 基本上,这将是一个痛苦的拇指,会给系统pipe理员的悲伤。