1. 程式人生 > >openstack 填坑筆記5:openstack虛擬機器上再構建內層openstack(雲上雲)網路除錯

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

up

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