Hyper-V 无法扩展 Windows Server 2000 VM 的处理器访问

Hyper-V 无法扩展 Windows Server 2000 VM 的处理器访问

我有一个 Dell R710 机架,其中托管多个虚拟机:

  • 带有 Hyper-V 的 Windows Server 2008 R2
  • 双 Xeon 5520 @ 2.26 GHz
  • 32GB 内存
  • 组合网卡(4 个千兆网卡)
  • 所有虚拟机都位于自己的一组镜像 SAS 磁盘上

我的问题在于上述系统上运行的虚拟 Windows 2000 服务器。该服务器运行 IIS 6、一些 cgi 脚本和一些 asp 页面。所有这些都与 Visual FoxPro DB 后端相关联。

我的问题是如何为我的 Windows 2000 VM 提供更多功能,或者这是否可行?我最初为 VM 设置的 Hyper-V 如下:

  • 已分配 3GB 内存
  • 默认虚拟核心 (1)
  • 10%(十)VM 储备
  • 100% 虚拟机限制
  • 100 相对权重(托管另外 2 台虚拟机,全部处于空闲状态且位于单独的 SAS 磁盘上)

使用此配置,如果我使用 3 个帐户登录 Web 服务,我可以将 Win2000 VM 调至 100%。然后,我不断调整服务器的 Hyper-V 设置,直到达到以下状态:

  • 4 个虚拟核心
  • 100% VM 预留(或系统总资源的 25%)
  • 100% 虚拟机限制
  • 1000 相对权重

关键在于全部在我的测试中(最高配置和最低配置),我的机架服务器的总 CPU 利用率约为 5%。同时,我的 Win2000 VM 每次的表现都完全相同(当 3 个帐户登录执行相同搜索时 CPU 占用率固定,或者当一个帐户执行搜索时 CPU 利用率为 30%)。

我也尝试过调整处理器兼容性设置以“运行较旧的操作系统,例如 Windows NT”。但是,我没有尝试“迁移到具有不同处理器版本的物理计算机”设置。

虚拟化 Windows 2000 服务器是否存在固有问题?我还能尝试其他方法从主机服务器捕获更多 CPU 周期吗?理想情况下,我希望当 Win2000 VM 固定时,主机的利用率达到 25-50%。

一些背景信息:这些是我们的旧遗留服务,目前正在用 .Net 重写。重构遗留源代码最有可能获得性能改进,但这不是一种选择。我们的商店缺乏 FoxPro 方面的专业知识,并且已经做出了业务决策,认为最好将精力花在重写上。

可以选择购买一台快速的物理服务器来替换虚拟机。我相信这会带来显著的改进。但是,我更愿意让这台服务器虚拟化,因为我之前遇到过需要重启机器的情况……对于虚拟化服务器来说,这项任务可以通过手机轻松完成。

提前感谢您的任何建议。

答案1

其他两个答案都是正确的。致电 Microsoft 寻求 Hyper-V 和 Windows 2000 的支持,结果会被告知唯一支持的配置涉及一个虚拟 CPU。

话虽如此,我怀疑你每次得到的性能都完全相同,因为当你添加虚拟 CPU 时,Windows 2000 不会自动重新配置为多处理器安装。Win2K 只使用CPU,即使您为其分配了四个。

您需要进入设备管理器并将 HAL 从单处理器 HAL 更改为多处理器 HAL。(更新计算机类型的驱动程序。)这将触发多处理器内核、ntdll、HAL 等的安装。我记得大约有六个二进制文件发生了变化。

请注意,这是单程旅行。此后,即使您返回到单个虚拟 CPU,您的 Win2K VHD 也将无限期地运行多处理器代码。您可能希望先备份您的 VHD,因为在运行单个 vCPU 时,这些多处理器二进制文件的效率低于单处理器二进制文件。

最后,请理解微软不支持 Win2K 增加 CPU 的原因部分在于 Win2K 内核不知道是否被虚拟化,并且它有一些硬性假设,即所有 CPU 始终运行。通过虚拟化更多处理器来打破这一假设将导致性能提升幅度低于线性(咳咳)。使用两个处理器可能会获得合理的性能。更多处理器可能无济于事。

答案2

首先,仅限 Windows 2000支持 Hyper-V 上的单个虚拟处理器

其次,测量主机服务器的 CPU 使用率并不像使用任务管理器那么简单,因为任务管理器本身在虚拟机中运行。有关在 Hyper-V 中测量 CPU 使用率的更多信息,请查看本文

答案3

您在 4 核小测试中遇到的第一个问题是,您正在运行不受支持的配置。当您运行不受支持的配置时,结果很难预测。请查看微软的这份文档。在 Hyper V 上使用 Windows Server 2000 时只能运行单个 CPU。

如果您为虚拟机分配一个核心并分配该核心的 100%,那么您就已将该系统的性能发挥到极致。您的其他选择是部署物理机箱或部署支持 Windows 2000 上的 SMP 的虚拟机管理程序(如 ESXi)。

相关内容