Nil*_*ils 3 virtualization limits
当虚拟化是新的时,我们试图虚拟化所有东西,但后来我们注意到我们的虚拟机比裸机慢得多的用例。
对我们而言,在决定不进行虚拟化时,我们使用以下规则:
我们在 Xen 和 DRDB 以及 Hyper-V 与 DAS 的无共享方面都有过这些经验。所有管理程序都是这种情况吗?
在决定是否虚拟化应用程序/服务器时,我应该寻找哪些(其他)指标?
您已经达到了问题中的主要指标:
网络 IO
您希望确保您提议的虚拟化工作负载不会使您的主机系统的网络连接饱和。在 10Gbit NIC 的这些日子里,这对于大型企业来说不是什么问题,而小型企业通常可以从千兆(或组合/聚合千兆)NIC 获得他们需要的性能。
磁盘 IO
您希望确保您的磁盘子系统(本地磁盘、SAN、NAS)可以处理您提议的磁盘 I/O。
在调整大小时请记住,您的 SAN 结构(交换机等)也需要能够处理负载——您可能拥有一个 über-SAN 存储系统,可以将每秒 TB 的数据传输到其磁盘,但是如果那个怪物连接到一个糟糕的 100Mbit iSCSI 结构,您将在存储设备出汗之前使您的网络饱和。
RAM
更具体地说是“活动”RAM(因为不活动的东西可能会被虚拟机管理程序换出而没有人会注意到)。理想情况下,您有足够的物理 RAM,您的虚拟机管理程序不需要交换。在现实中,您可能会找到一种过度承诺的快乐媒介。
其他一些需要考虑的:
CPU(和工作负载模式)
如果您有一堆执行 CPU 密集型任务的系统,如果它们都同时要求主机系统的处理器,那么您可能会遇到麻烦。(例如,如果您有 1 个主机 CPU 和 3 个都想在午夜处理数字的 VM,则每个 VM 只会看到主机 CPU 性能的约 1/3,因为管理程序试图在它们之间拆分有争议的资源)。
另一面是,如果您有一堆系统在不同时间(例如午夜、凌晨 3 点和早上 6 点,并且总是在下一个人开始之前完成)执行 CPU 密集型任务,您可以将它们虚拟化,它们将永远不会知道区别。
自定义硬件
一些虚拟机管理程序(如 VMWare)允许 PCI 和存储直通。其他人可能不会。
如果您需要访问主机上的硬件(如图形卡或直接磁盘访问),则需要在规划虚拟化时考虑到这一点。
计时
管理程序在这方面做得更好,但精确计时任务仍然更适合专用物理服务器。例如,您组织的主要 NTP 服务器应该是物理主机(如果您的路由器能够充当 NTP 服务器,则应该是路由器)。
通常不能很好
虚拟化的东西 关于这方面有很多轶事数据,所以在虚拟化某些东西之前做一些研究。
举几个例子,我上面提到的计时问题、VOIP 系统(如 Asterisk PBX)和频繁使用的数据库通常不适合虚拟化(前两个是由于计时精度问题,数据库通常是因为它们导致,并且比其他工作负载遭受更多的资源争用)。
每家公司都会收集一份他们知道无法虚拟化的本地列表——当你找到你的项目时,请确保记录它们(包括原因,以防有一天你得到一个可以解决问题的管理程序)。
| 归档时间: |
|
| 查看次数: |
2429 次 |
| 最近记录: |