我计划组装一台新电脑,主要用于虚拟机。我想了解应该重点关注哪些组件。我知道 RAM 需要比普通电脑高,但考虑到成本,这可能很容易实现。
让我感到困惑的是,英特尔在其最高端产品上拥有大量 VM 扩展,而 AMD 几乎为所有处理器提供相同的扩展,但我不确定是否需要这些扩展,我想运行 Hyper-V,听说它的要求比 Linux 解决方案更高。
所以总结一下,在构建时我应该关注哪些组件,CPU 虚拟机扩展是什么,以及它们将如何给我带来好处?
答案1
我认为有几件事值得关注。
首先,您需要决定是在通用主机(例如 VMware 工作站/播放器、“桌面” Hyper-V 变体或 Virtualbox)上运行的 VM 软件,还是在专用主机(Hyper-V 服务器或 ESXi)上运行的 VM 软件
首先,AMD和Intel具有广泛兼容的虚拟化扩展。
VT-X(英特尔)和 AMD-V(AMD)是“基本”虚拟化扩展。所有现代 AMD 处理器都具有此功能。有些英特尔处理器没有。您想这个。如果没有其他功能,如果你购买的处理器没有这个功能,那你就太便宜了。
另一方面,如果您拥有支持 PCI 直通和其他一些功能的主机,则 VT-D/IOMMU 是“不错的选择”。如果您需要询问,那么您可能不需要它。
有内存就好了。我遵循的经验法则是主机通常使用的内存(我假设是 4 GB)+ 2 GB 备用内存 + 客人需要的内存。
核心数也可能是一个因素 - 取决于负载和客户机数量。如果您要运行大量负载繁重的虚拟机,您可能需要更多核心 - 就我而言,我倾向于运行一两个核心,甚至双核机器也可以。一个好的经验法则可能是每个虚拟机一个处理器核心(当然,您可以尝试更多)。如果虚拟机大部分时间处于空闲状态,您自然可以进行扩展。
最后,虚拟机占用大量磁盘空间,显然吞吐量可能会成为瓶颈。我发现标准的消费级 HDD 是一个很好的存储驱动器 - 虽然有些人确实需要并使用更快的存储。再次强调,这取决于您的需求。如果速度是一个问题,那么没有理由不能通过快速接口在 SSD 或 SAN 上托管虚拟机。您可能还想尝试使用 RAID、JBOD 或简单地将虚拟机放在单独的磁盘和接口上。我倾向于暂时使用单个虚拟机,所以我的单个大磁盘就足够了
答案2
你真正需要的唯一扩展需要是基本的虚拟化,称为AMD-V由 AMD 和VT-x英特尔公司推出的一款处理器虚拟化(相对于模仿)。可能需要在您的 BIOS 中启用这些技术。
其他扩展通常是对附加硬件组件的虚拟化,例如磁盘访问和网络访问。如果您只是想在本地机器上运行一两台虚拟机供个人使用,这些通常不会有太大影响,但对于 VPS 提供商中常见的以服务形式出售虚拟机的大型解决方案,这些扩展可能会产生更大的影响。
如果处理器不支持网络或 I/O 虚拟化,那仅仅意味着 VM 必须在 CPU 上模拟它们,而不是说您不能使用它们。
这维基百科页面基于 X86 的虚拟化对主要 CPU 提供的技术进行了全面的概述,从那里您可以阅读有关特定技术的资料(如果需要,还可以在这里提出更具体的问题)。