首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为esx生成70-持久化-esx.规则?

如何为esx生成70-持久化-esx.规则?
EN

Server Fault用户
提问于 2015-04-22 07:22:38
回答 1查看 1K关注 0票数 0

我从一个卵子上建立了300+的ubuntu虚拟机。在vm上有5个网络适配器。我需要从内部vm重命名他们有关的VMware ESX订单。

例如,在不同的场景中命名:

  • 第一= eth1,第二= eth2,第三= em0等
  • 第一= em0,第二= em9,第三= br0等
  • 第一= phys1,第二= phys2,第三= eth0等等。

我的问题是lspci\grep“以太网控制器”没有向他们显示顺序:

代码语言:javascript
复制
04:00.0 Ethernet controller: VMware VMXNET3 Ethernet Controller (rev 01)
0b:00.0 Ethernet controller: VMware VMXNET3 Ethernet Controller (rev 01)
0c:00.0 Ethernet controller: VMware VMXNET3 Ethernet Controller (rev 01)
13:00.0 Ethernet controller: VMware VMXNET3 Ethernet Controller (rev 01)
1b:00.0 Ethernet controller: VMware VMXNET3 Ethernet Controller (rev 01)

04:00.0应该是eth1,但它是eth4 --我用macs比较

它确实是有序的:/etc/udev/rules.d.d/70-persistent-net.ules。

代码语言:javascript
复制
SUBSYSTEM=="net", ACTION=="add", KERNELS=="0000:0b:00.0", ATTR{dev_id}=="0x0", NAME="eth1"
SUBSYSTEM=="net", ACTION=="add", KERNELS=="0000:13:00.0", ATTR{dev_id}=="0x0", NAME="eth2"
SUBSYSTEM=="net", ACTION=="add", KERNELS=="0000:1b:00.0", ATTR{dev_id}=="0x0", NAME="eth3"
SUBSYSTEM=="net", ACTION=="add", KERNELS=="0000:04:00.0", ATTR{dev_id}=="0x0", NAME="eth4"
SUBSYSTEM=="net", ACTION=="add", KERNELS=="0000:0c:00.0", ATTR{dev_id}=="0x0", NAME="eth5"

这是来自ESXi上的ubuntu的信息:

代码语言:javascript
复制
 cat ubuntu.vmx|grep eth|more
ethernet0.present = "TRUE"
ethernet0.virtualDev = "vmxnet3"
ethernet0.wakeOnPcktRcv = "FALSE"
ethernet0.networkName = "_clients_network_1"
ethernet0.addressType = "vpx"
ethernet1.present = "TRUE"
ethernet1.virtualDev = "vmxnet3"
ethernet1.wakeOnPcktRcv = "FALSE"
ethernet1.networkName = "_servers_network_1"
ethernet1.addressType = "vpx"
ethernet2.present = "TRUE"
ethernet2.virtualDev = "vmxnet3"
ethernet2.wakeOnPcktRcv = "FALSE"
ethernet2.networkName = "_clients_network_1"
ethernet2.addressType = "vpx"
ethernet3.present = "TRUE"
ethernet3.virtualDev = "vmxnet3"
ethernet3.wakeOnPcktRcv = "FALSE"
ethernet3.networkName = "_servers_network_1"
ethernet3.addressType = "vpx"
ethernet4.present = "TRUE"
ethernet4.virtualDev = "vmxnet3"
ethernet4.wakeOnPcktRcv = "FALSE"
ethernet4.networkName = "VM Network"
ethernet4.addressType = "vpx"
ethernet0.generatedAddress = "00:50:56:a8:66:24"
ethernet0.pciSlotNumber = "192"
ethernet1.generatedAddress = "00:50:56:a8:32:78"
ethernet1.pciSlotNumber = "224"
ethernet2.generatedAddress = "00:50:56:a8:7e:2c"
ethernet2.pciSlotNumber = "256"
ethernet3.generatedAddress = "00:50:56:a8:56:91"
ethernet3.pciSlotNumber = "1184"
ethernet4.generatedAddress = "00:50:56:a8:67:ad"
ethernet4.pciSlotNumber = "1216"
ethernet0.generatedAddressOffset = "0"
ethernet1.generatedAddressOffset = "10"
ethernet2.generatedAddressOffset = "20"
ethernet3.generatedAddressOffset = "30"
ethernet4.generatedAddressOffset = "40"
EN

回答 1

Server Fault用户

回答已采纳

发布于 2015-04-22 10:30:59

Idea 1

VM的目的是将其与主机完全隔离开来,因此这种设计将使这种监督变得困难。

但是,您可以使用来宾信息功能来完成这个任务。您需要编写主机端的脚本,以填充来宾硬件拓扑信息(PowerShell等)的映射。他们使用vmtools从客户内部获取这些信息(在此过程中使用了udev黑客)。

http://www.virtuallyghetto.com/2011/01/how-to-extract-host-information-from.html

我认为,要使这个工作正常,您可能需要首先为VM启用一些功能,但我不确定是什么。

对于以下命令,您得到了什么?我得到了错误,但上面的链接表明,您应该能够从VM之外获得设置的信息。

代码语言:javascript
复制
# vmtoolsd -l –cmd "info-get"
[Apr 22 22:30:34.545] [ warning] [vmsvc] Error in the RPC receive loop: RpcIn: Unable to send.
[Apr 22 22:30:35.546] [ warning] [vmsvc] Error in the RPC receive loop: RpcIn: Unable to send.
...

Idea 2

您可以使用ethtool --driver IFNAME获取总线信息。也许那是最简单的。下面是一个e1000的示例

代码语言:javascript
复制
# ethtool --driver eth0
driver: e1000
version: 7.3.21-k8-NAPI
firmware-version:
bus-info: 0000:02:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no

对于vmxnet3来说

代码语言:javascript
复制
# ethtool --driver eth0
driver: vmxnet3
version: 1.1.30.0-k-NAPI
firmware-version:
bus-info: 0000:0b:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no

我想知道注册转储是否有用..。看上去不像,但那样的话,巫术就没什么意义了。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/684560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档