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}]

將其裝換後,修改順序,就能回去之前順序。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章