> 其它学习 > OpenStack >

openstack实例多网络问题(串网卡)

centos 7实例,连接多个接口。之前说过路由冲突引起的问题。

这次碰到的是由于接口分离再连接导致的网卡索引号问题。(索引号改变和串网卡)

问题分为两种

1、接口分开再连接,网卡名没变,但是通过ip a命令查看,可以看到网卡的网卡索引号改变了。

网卡索引号,累加,添加了一个当前最大索引号加1的网卡。ip a可以看到分离再添加的网卡排到了最后。

通过网卡索引号,来识别网卡的程序,碰到了问题。

此时我改为使用通过网卡名,来获取索引号的方式,来识别网卡。使应用程序正常工作。

 

2、接口分开再连接,关闭实例之后,再开机,出现串网卡的问题。

reboot不影响,不会产生串网卡问题。实例内部使用ip a查看IP地址和mac地址,

对应所挂网络,发现分开再连接的网络接口,变成了最后一块网卡。

查找资料,发现,centos实例开机加载网卡的顺序保存在openstack的nova数据库instance_info_caches表中。

每次重挂网络时,改变表中network_info字段顺序,即可。

此字段为json格式。

[{"profile": {}, "ovs_interfaceid": "ce6a61ff-15b9-4102-9ba8-1755ad4840a1", "preserve_on_delete": false, "network": {"bridge": "br-int", "subnets": [{"ips": [{"meta": {}, "version": 4, "type": "fixed", "floating_ips": [], "address": "192.168.1.10"}], "version": 4, "meta": {"dhcp_server": "192.168.1.2"}, "dns": [], "routes": [], "cidr": "192.168.1.0/24", "gateway": {"meta": {}, "version": 4, "type": "gateway", "address": "192.168.1.1"}}], "meta": {"injected": false, "tenant_id": "40026f6973464ee9a19ad04f6221e213", "mtu": 1500}, "id": "d6fcefec-8216-4c24-a8a5-fa32c498d615", "label": "network_7260"}, "devname": "tapce6a61ff-15", "vnic_type": "normal", "qbh_params": null, "meta": {}, "details": {"port_filter": true, "datapath_type": "system", "ovs_hybrid_plug": false}, "address": "fa:16:3e:6e:34:44", "active": true, "type": "ovs", "id": "ce6a61ff-15b9-4102-9ba8-1755ad4840a1", "qbg_params": null}]

将其装换后,修改顺序,就能回去之前顺序。
(责任编辑:IT)