1

我有一个 ova 模板。其中定义了6个网络接口,分别命名为net0、net1、net2、net3、net4、net5。它们的类型都是VMXNET3。

当我将此 ova 模板部署到 ESXi6.0/5.5 服务器时,其中一个步骤是配置从网络名称(net0、net1、...、net5)到 ESXi 服务器上现有网络(如 vlan500、vlan501、.. ., vlan505), 比如:

net0 -> vlan500
net1 -> vlan501
... ...
net5 -> vlan505

虚拟机实例上电后,虚拟机实例中有6个eth网络接口:eth0、eth1、...、eth5。

我希望 VM 内 ethX 的顺序应该与 VM 外适配器的顺序相同,例如:

eth0 -> net0 -> vlan500
eth1 -> net1 -> vlan501
... ...
eth5 -> net5 -> vlan505

但我发现我通过检查 MAC 地址得到了这个:

eth0 -> net0 -> vlan500
eth1 -> net4 -> vlan504    <= mismatch
eth2 -> net1 -> vlan501    <= mismatch
eth3 -> net5 -> vlan505    <= mismatch
eth4 -> net2 -> vlan502    <= mismatch
eth5 -> net3 -> vlan503    <= mismatch

你能帮忙指出如何解决这个问题吗?

提前致谢!

ovf xml 如下所示:

125       <Item>
126         <rasd:AddressOnParent>7</rasd:AddressOnParent>
127         <rasd:AutomaticAllocation>true</rasd:AutomaticAllocation>
128         <rasd:Connection>NET0</rasd:Connection>
129         <rasd:Description>VmxNet3 ethernet adapter on "NET0"</rasd:Description>
130         <rasd:ElementName>Ethernet 1</rasd:ElementName>
131         <rasd:InstanceID>10</rasd:InstanceID>
132         <rasd:ResourceSubType>VmxNet3</rasd:ResourceSubType>
133         <rasd:ResourceType>10</rasd:ResourceType>
134         <vmw:Config ovf:required="false" vmw:key="slotInfo.pciSlotNumber" vmw:value="32" />
135         <vmw:Config ovf:required="false" vmw:key="wakeOnLanEnabled" vmw:value="true" />
136       </Item>
137       <Item>
138         <rasd:AddressOnParent>8</rasd:AddressOnParent>
139         <rasd:AutomaticAllocation>true</rasd:AutomaticAllocation>
140         <rasd:Connection>NET1</rasd:Connection>
141         <rasd:Description>VmxNet3 ethernet adapter on "NET1"</rasd:Description>
142         <rasd:ElementName>Ethernet 2</rasd:ElementName>
143         <rasd:InstanceID>11</rasd:InstanceID>
144         <rasd:ResourceSubType>VmxNet3</rasd:ResourceSubType>
145         <rasd:ResourceType>10</rasd:ResourceType>
146         <vmw:Config ovf:required="false" vmw:key="slotInfo.pciSlotNumber" vmw:value="33" />
147         <vmw:Config ovf:required="false" vmw:key="wakeOnLanEnabled" vmw:value="true" />
148       </Item>
149       <Item>
150         <rasd:AddressOnParent>9</rasd:AddressOnParent>
151         <rasd:AutomaticAllocation>true</rasd:AutomaticAllocation>
152         <rasd:Connection>NET2</rasd:Connection>
153         <rasd:Description>VmxNet3 ethernet adapter on "NET2"</rasd:Description>
154         <rasd:ElementName>Ethernet 3</rasd:ElementName>
155         <rasd:InstanceID>12</rasd:InstanceID>
156         <rasd:ResourceSubType>VmxNet3</rasd:ResourceSubType>
157         <rasd:ResourceType>10</rasd:ResourceType>
158         <vmw:Config ovf:required="false" vmw:key="slotInfo.pciSlotNumber" vmw:value="34" />
159         <vmw:Config ovf:required="false" vmw:key="wakeOnLanEnabled" vmw:value="true" />
160       </Item>
161       <Item>
162         <rasd:AddressOnParent>10</rasd:AddressOnParent>
163         <rasd:AutomaticAllocation>true</rasd:AutomaticAllocation>
164         <rasd:Connection>NET3</rasd:Connection>
165         <rasd:Description>VmxNet3 ethernet adapter on "NET3"</rasd:Description>
166         <rasd:ElementName>Ethernet 4</rasd:ElementName>
167         <rasd:InstanceID>13</rasd:InstanceID>
168         <rasd:ResourceSubType>VmxNet3</rasd:ResourceSubType>
169         <rasd:ResourceType>10</rasd:ResourceType>
170         <vmw:Config ovf:required="false" vmw:key="slotInfo.pciSlotNumber" vmw:value="35" />
171         <vmw:Config ovf:required="false" vmw:key="wakeOnLanEnabled" vmw:value="true" />
172       </Item>
173       <Item>
174         <rasd:AddressOnParent>11</rasd:AddressOnParent>
175         <rasd:AutomaticAllocation>true</rasd:AutomaticAllocation>
176         <rasd:Connection>NET4</rasd:Connection>
177         <rasd:Description>VmxNet3 ethernet adapter on "NET4"</rasd:Description>
178         <rasd:ElementName>Ethernet 5</rasd:ElementName>
179         <rasd:InstanceID>14</rasd:InstanceID>
180         <rasd:ResourceSubType>VmxNet3</rasd:ResourceSubType>
181         <rasd:ResourceType>10</rasd:ResourceType>
182         <vmw:Config ovf:required="false" vmw:key="slotInfo.pciSlotNumber" vmw:value="36" />
183         <vmw:Config ovf:required="false" vmw:key="wakeOnLanEnabled" vmw:value="true" />
184       </Item>
185       <Item>
186         <rasd:AddressOnParent>12</rasd:AddressOnParent>
187         <rasd:AutomaticAllocation>true</rasd:AutomaticAllocation>
188         <rasd:Connection>NET5</rasd:Connection>
189         <rasd:Description>VmxNet3 ethernet adapter on "NET5"</rasd:Description>
190         <rasd:ElementName>Ethernet 6</rasd:ElementName>
191         <rasd:InstanceID>15</rasd:InstanceID>
192         <rasd:ResourceSubType>VmxNet3</rasd:ResourceSubType>
193         <rasd:ResourceType>10</rasd:ResourceType>
194         <vmw:Config ovf:required="false" vmw:key="slotInfo.pciSlotNumber" vmw:value="37" />
195         <vmw:Config ovf:required="false" vmw:key="wakeOnLanEnabled" vmw:value="true" />
196       </Item>
4

2 回答 2

1

我猜Linux是VM内部的操作系统。

我不是 Linux 管理员,但最近我尝试解决与我同事的问题类似的问题。在我们的情况下,原本是 eth0 的 NIC 在部署后变成了 eth1。这是因为 eth(x) 名称是由 NIC 的 MAC 地址分配的。部署ovf模板后MAC地址总是不同的(如果将该模板部署到同一环境,则必须更改以避免冲突;如果环境不同-则默认情况下MAC地址中的第一段不同)。我不是 linux 管理员,所以我不确定(在每个发行版中)总是相同的映射 NIC->eth(x) 策略。

因此,您必须检查操作系统如何将 NIC 映射到 eth(x) 名称。如果有任何方法可以根据 PCI 位置进行映射,那么您可以这样做,因为该信息在 ovf 文件中。如果仅基于 MAC 地址进行映射,则无法正确映射,因为 MAC 地址未写入 ovf 文件。

于 2017-02-08T13:46:28.430 回答
0

问题不是vmware,而是你的vm。当你克隆一个虚拟机,或者如果你的 ova 没有正确准备好,eth0 将无法使用,因为 mac 地址在 /etc/sysconfig/network-scripts/ifcfg-eth0 脚本以及 /etc/ udev/rules.d/70-persistent-net.rules 文件。你有2个选择。

  1. 更改 70-persistent-net.rules 和 ifcfg-eth0 中的 mac 以匹配您的新 mac
  2. 删除 70-persistent-net.rules 并从 ifcfg-eth0 中删除 HWADDR

重新启动后,您应该让 eth0 再次工作。

于 2017-10-02T13:08:34.540 回答