在pipe理程序和客户操作系统中运行资源密集型服务的性能和稳定性有什么影响?
我想build立一个既有Linux又有Windows的工作站,由(可能)KVM托pipe。 两者都将使用一些相同的服务:例如,虚拟机将存储在zvols上,并共享专用于文件存储的zpool。
我决定在虚拟机pipe理程序操作系统中运行哪些服务,以及在虚拟机上运行哪些服务。 如果我把ZFS这样的服务放在虚拟机中,我担心它们可能会变慢(因为它们必须通过虚拟机pipe理程序)或者更容易出错,因为它们将取决于控制器的传递(还有一件事情会有问题用)。
另一方面,我担心太多的额外任务会给系统pipe理器造成负担,这也会造成问题,而且我也担心如果我没有将虚拟机放在限定的虚拟机中,ZFS会消耗多less内存(I'我想把32Gb投入到运行ZFS的任何一个操作系统上,而且我担心在系统pipe理程序中安装的东西太多会使得影响整个系统的冲突更可能发生(因为这些冲突会发生在pipe理程序内部)。
虚拟机pipe理程序不pipe风格如何,都应该百分百致力于为虚拟机提供服务。 这是有几个原因的。
首先,虚拟化的关键优势之一是硬件独立性 – 如果主机死亡,将这些虚拟机恢复到不同的主机并在非常短的时间内启动并运行非常简单。 一旦您开始直接在主机操作系统上部署服务,该过程就变得更加复杂。
其次,pipe理程序内核被调整为处理虚拟化负载,而不是直接在主机操作系统上运行的用户态进程。
第三,如果你必须考虑运行在虚拟机上的进程和运行在裸机上的进程,进程configuration和部署就变得过于复杂。 这并不是不可逾越的,但是这并不理想,如果可能的话应该避免。
所以要直接回答你的问题:不要直接在主机操作系统上运行任何不必要的进程。 让pipe理程序做它的事情,并使用虚拟机为您的服务。