openstack 填坑筆記5:openstack虛擬機器上再構建內層openstack(雲上雲)網路除錯
openstack 最複雜的部分是網路,這兩天除錯了網路問題,解決經驗值得記錄備用
我的需求是在學生實踐中需要在openstack環境的虛擬機器中再構建openstack環境,以供實踐實習使用,
構建基礎是:
三個網路在外層openstack構建:
vxlan101 192.168.101.0/24 外層openstack的虛擬vxlan網路 接入外層openstack路由,可以供內層openstack例項訪問外網
vxlan103 192.168.103.0/24 外層openstack的虛擬vxlan網路 不連線外層openstack路由,作為內層openstack管理網路
vxlan104 192.168.104.0/24 外層openstack的虛擬vxlan網路 不連線外層openstack路由,作為內層openstack例項租戶網路
網路ip分配:(在外層openstack檢視)
192.168.101.10 是作為內層openstack的租戶出口
192.168.101.9 是作為compute1計算節點安裝軟體直接訪問外網使用,安裝完也可以刪除這個ip介面
注意的是 在vm中虛擬網絡卡ens3,ens4,ens5對應哪個網路和ip,需要注意看硬體mac地址,才能對應上,這個是先加入的介面是ens3,接著是ens4,如果你刪掉ens3, 在重新加入介面,原來的ens4網絡卡變成了ens3,ens5變成了ens4,原來的ens3重新接入變成了ens5,這個容易引起混亂,要注意
注意比對mac地址確定
在openstack web介面可以檢視到
上圖可以檢視到ip地址對應的mac地址,對照vm中的地址
因為在內層openstack中建立了虛擬網路,ens5不再直接繫結IP地址,而是繫結到了橋上
可以看到這個mac地址和ip地址繫結到了橋上
我的問題就在於這個橋的mac地址,不是在外層openstack的mac地址,而是內層openstack生成的mac地址,造成內層openstack網路不能和外層的openstack網路聯通
用瞭如下命令修正這個網橋的mac地址
ifconfigbrqd5d35b37-4bdown
ifconfigbrqd5d35b37-4bhwether fa:16:3e:9b:c6:28
ifconfigbrqd5d35b37-4b
router add default gw 192.168.101.1
route -n
或
brctl delif brqd5d35b37-4b ens5
brctl addif brqd5d35b37-4b ens5
systemctl restart networking
檢視虛擬路由器路由表
通過修改網橋mac地址,外層openstack定義的網路才能連通這個網橋
另外,注意修改 /etc/neutron/plugins/ml2/ml2_conf.ini檔案
網路別名和虛擬網絡卡的對應關係
在controller節點,default:ens5是虛擬網路對外出口,public:ens4是租戶vxlan網路
還有一點容易忽略,就是內層openstack中定義的外網,分配的內層路由器介面等,要能與外層路由器聯通,需要在外層openstack的對應介面註冊
如我在外層openstack的虛擬機器介面是192.168.101.4 在這臺虛擬機器上安裝內層的openstack,把這個虛擬網絡卡作為網橋連線內層openstack虛擬路由器,
內層openstack路由器外網介面是192.168.101.202,網橋地址是192.168.101.4,這時,網橋192.168.101.4可以連線外部openstack構建的網路,
但是192.168.101.202在外層openstack網路環境沒有註冊,不能在外層openstack中使用,導致內層openstack不能路由到外層openstack網路。
解決辦法是在外層openstack中註冊192.168.101.202
可以查到內層openstack路由器上介面192.168.101.202 的mac地址
在外層openstack的網路管理中,介面192.168.101.4新增可用地址對,把內層openstack的路由器外網介面加上
到此,外層的openstack的虛擬網路和和例項中構建的內層openstack的虛擬網路可以相互連通了
問題解決。
歸結注意兩點:
1:虛擬機器上構建的內層openstack定義的外網對應的網絡卡轉為網橋後,網橋和關聯的網絡卡 注意mac地址一致。
2:內層openstack的路由器外網介面 ip地址和MAC對 注意要在外層openstack網路定義中註冊。
對網橋的理解參考:https://wenku.baidu.com/view/be5482cca8956bec0875e339.html
處理方法可參考:https://www.cnblogs.com/myiaas/p/4161305.html