|
本帖最后由 一动不动是王八 于 2023-6-11 20:35 编辑
发帖纪录一下最近安装esxi遇到的一个问题:
多网口小主机的ETH0、ETH1、ETH2、ETH3和ESXI里面的vmnic0、vmnic1、vmnic2、vmnic3无法一一对应,顺序是错乱的。
这个和esxi的默认排序策略有关系,PVE是按MAC地址排序的,esxi不是,所以就可能导致一些主机上面安装了esxi以后网口和实际的对应不上。
解决这个问题最好先别安装虚拟机,改好了再装虚拟机。
准备工作:
先把小主机拆机查看ETH0、1、2、3物理网口对应的MAC地址是多少(一般会有贴纸贴在主板那边的网口插座上),记下来。
然后进入ESXI的网页设置窗口,查看【网络-物理网卡】选项卡,记下vmnic0、1、2、3和MAC地址的对应关系,这样就知道了vmnic0、1、2、3对应的是哪个物理网口了,不好记可以在纸上画个表格。
启用esxi的ssh,用putty连接上。
运行如下命令:
# 查看当前网卡分配别名情况
localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias list
得到结果:
Bus type Bus address Alias
--------------------------------------
pci m00008501 vmnic0
pci m00008901 vmhba0
pci p0000:04:00.0 vmnic2
pci p0000:02:00.0 vmnic1
pci s00000000:00.00 vmnic3
logical pci#p0000:04:00.0#0 vmnic2
logical pci#m00008901#0 vmhba0
logical pci#m00008501#0 vmnic0
logical pci#p0000:02:00.0#0 vmnic1
logical pci#s00000000:00.00#0 vmnic3
记下Bus address和实际的vmnic0、1、2、3对应关系,例如我这里的对应关系是:
s00000000:00.00=vmnic3=ETH0、p0000:02:00.0=vmnic1=ETH1、m00008501=vmnic0=ETH2、p0000:04:00.0=vmnic2=ETH3
接下来把对应关系修改为自己需要的顺序:
s00000000:00.00=vmnic0=ETH0、p0000:02:00.0=vmnic1=ETH1、m00008501=vmnic2=ETH2、p0000:04:00.0=vmnic3=ETH3
具体修改方法就是执行如下命令(请不要照搬我的命令,要根据自己的实际情况修改末尾的Bus address):
# 为了保险起见建议尽量一次性全部修改完,即使本来就是正确的也重新定义一下,避免出现重启后依然乱序的问题。
localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias store --bus-type pci --alias vmnic0 --bus-address s00000000:00.00
localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias store --bus-type pci --alias vmnic1 --bus-address p0000:02:00.0
localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias store --bus-type pci --alias vmnic2 --bus-address m00008501
localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias store --bus-type pci --alias vmnic3 --bus-address p0000:04:00.0
# 以下是修改bus-type参数为logical,跟上面一样一一对应即可。
localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias store --bus-type logical --alias vmnic0 --bus-address pci#s00000000:00.00#0
localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias store --bus-type logical --alias vmnic1 --bus-address pci#p0000:02:00.0#0
localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias store --bus-type logical --alias vmnic2 --bus-address pci#m00008501#0
localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias store --bus-type logical --alias vmnic3 --bus-address pci#p0000:04:00.0#0
改完运行reboot重启即可。
参考资料:https://sukimoe.net/tutorial/esxi-network-card-sort.html
|
|