我确信这个问题会在之前的某个地方问过。 事实上,我确信我之前也已经阅读过这方面的内容,但是我可以find任何资源来帮助我。
我想要做的是部署一组Hyper-V服务器,除了启动过程之外,不必执行其他任何操作。 我可以想办法通过PowerShell和/或unattend.xml来configuration所有的东西,除了networking适配器。 这些命令是可用的,但有一个重要的问题:
我如何让Windows始终如一地检测正确的适配器来分配每个networking?
这些是具有多个IP地址和VLAN的群集Hyper-V主机,以及组合适配器,但是我的理解是Windows会以随机顺序检测适配器。 要编写脚本,我需要一致性。 例如,我不能假定Local Area Connection 12始终是卡2上的端口3。 每个群集节点上的相同物理端口将连接到相同的VLAN或聚合。
回答我自己的问题,因为前几天我偶然发现了答案。
我一直在寻找的是一致的设备命名 。 显然这个问题不是特定于Windows设备的。
一致的networking设备命名是在Linux中命名以太网适配器的惯例。
它是在2009年左右创build的,用于replace在多宿主机器上导致问题的旧标准ethX,因为networking接口控制器(NIC)将根据内核在启动时发现它们的顺序进行命名。 添加新的接口可能会导致以前添加的接口更改名称。
https://en.m.wikipedia.org/wiki/Consistent_Network_Device_Naming
这个问题在Windows下不能以相同的方式performance出来,但正如我在我的问题中所描述的那样。 最终,Windows使用BIOS提供的名称而不是默认的“本地连接#X”。 这意味着接口名称在OS版本之间保持不变。
我不确定它的硬件支持有多普遍,但最近的戴尔和惠普代在BIOS中具有此function。它也完全支持System Center Virtual Machine Manager中的物理设备部署。 也可以编写脚本来configuration接口,因为假设接口名称始终是相同的。
对于使用Virtual Machine Manager的任何人,请参阅http://www.hyper-v.nu/archives/mvaneijk/2013/08/system-center-vmm-2012-r2-bare-metal-deployment-with-converged-fabric -and-network-virtualization-part-1-intro / 。 这一系列的post是非常好的质量。