我在 Hyper-V 虚拟机上安装了 ConfigMgr 2012 R2 CU3。虚拟机托管在 Server 2012 R2 Hyper-V 群集上,ConfigMgr 服务器也在 Server 2012 R2 上运行。
我正在尝试从配置管理器 PXE 启动另一台虚拟机。它可行,但启动过程只是为了加载 WinPE 而花费了几个小时。ConfigMgr 和客户端计算机位于群集的不同节点上 - 事实证明这是相关的。
迄今为止的故障排除步骤
我读过各种各样的文章,比如这个说要设置RamDiskTFTPBlock大小注册表项设置为更高的值。尝试了几个值,似乎没有什么效果,所以我将其重新设置为默认值。
为了消除任何网络问题,我尝试移动客户端计算机,使其与 ConfigMgr 位于同一节点 - 这样启动速度会稍微快一些。重新应用 RamDiskTFTPBlockSize,它变得又快又好,大约 2 分钟即可启动。
所以现在我有理由相信这是一个网络问题,但我不确定问题是什么。
我已经从 ConfigMgr 机器上捕获了从同一节点上的 VM 和不同节点上的 VM 启动的数据包,没有发现任何差异。TFTP 数据包以相同的方式得到确认,没有任何明显的错误,也没有重试块。在这两种情况下,如果 TFTPBlockSize 设置为高,数据包都会被碎片化。
更新
我尝试通过网络启动物理客户端计算机,速度也很慢。在 ConfigMgr 服务器的资源监视器中,发送到客户端的网络流量约为 130Kb/s。运行此测试时,RamDISKTFTPBlockSize 设置为 8192,数据包捕获确认它正在使用该块大小。
网络配置
虚拟机的网络设置如下:
- 虚拟机连接到虚拟交换机,并配置了 VLAN。
- ConfigMgr 服务器正在使用较新类型的网络适配器。客户端正在使用旧式网络适配器来支持 PXE。
- 集群中的每个节点都为虚拟机内置了 Windows NIC 组合设置 - 两个适配器处于交换机独立模式,具有动态负载平衡功能。Hyper-V 虚拟交换机使用此组合。
- 每个节点的适配器都插入同一个 HP V1910-48G 交换机。所有连接都是千兆的。
- 在交换机上,虚拟机的端口设置为具有相应 VLAN 的 VLAN 中继。交换机端没有 LACP 或其他组合设置。
知道是什么原因造成的吗?我该如何解决?
答案1
我遇到了同样的错误,并且做了和你一样的事情。然后,我发现我的互联网连接也很慢。
在网络连接上,选择物理网卡,点击属性,然后点击Hyper-V 可扩展虚拟交换机,配置,点击高级,点击虚拟机队列,在值中点击禁用。
就这样,现在 PXE 启动速度全速了。我从 20 分钟缩短到 1 分钟以内。