一個網工的openstack探索之旅
4 人贊了文章
概述
本人是網工中普通的一員,這篇文字簡要記錄了本人以一個網路工程師對vxlan技術與數據中心網路技術產生的種種疑問為切入點,引申出了對openstack基本架構的學習和著重對neutron組件的學習;為了不只是把以上研究停留在紙面上,同時搭建了各種實驗環境進行了驗證與測試。
spine-leaf數據中心網路架構
是怎麼樣的?
為什麼是這樣的,它解決了哪些問題?
underlay路由網路,避免二層環路同時網路路由冗餘
overlay隧道網路,提供了大二層的隧道組網
虛機遷移所需要的大二層網路
傳統大二層網路面臨的挑戰:
1.環路與廣播域大
2.設備表相瓶頸
3.因為大二層網路VLAN標籤無法多租戶復用,租戶數量超過4096後,
它的核心的技術是什麼,核心技術工作的原理是什麼?
VXLAN
一種隧道技術,二層報文再次封裝到UDP
缺少控制面,原始的vxlan技術單純利用二層轉發機制轉發vxlan報文。
純網路實驗環境
華為ENSP
華為的vxlan實現方式
1.靜態配置轉發麵-集中式網關
略
2.協議控制轉發麵-EVPN-集中式網關
配置待補充
3.協議控制轉發麵-EVPN-分散式網關
組網完畢後,測試過程中感覺出現了軟體bug,具體細節待補充
4.SDN-EVPN-分散式網關
折騰不出實驗環境
華為硬體VTEP方案思考
一.使用VLAN對應VNI,可分配的VNI數量依然關聯於VLAN,是否依然存在可劃分的二層域不足的情況?
vlan在每個宿主機內或二層Vtep下不能重複,在不同的宿主機或二層Vtep下可重複使用,意味著第4097個租戶可以重新使用vlan1作為local vlan。
二.openstack軟體形式VXLAN組網也是採用Internal VLAN 與 vni對應進行數據轉發,是否依然存在可劃分的二層域不足的情況?
vlan在每個宿主機內或二層Vtep下不能重複,在不同的宿主機或二層Vtep下可重複使用,意味著第4097個租戶可以重新使用vlan1作為local vlan。
三.openstack租戶雲主機的網關是分配在neutron VRouter上,分為以下兩種情況:
1.普通VRouter,租戶雲主機跨子網流量與南北向流量經過VRouter所在的network-node轉發。
2.分散式VRouter,對於做了一對一靜態nat轉換的雲主機(openstack中稱作被分配了floating IP的 instance),雲主機的跨子網流量與南北向流量(SNAT)經過本地compute-node的分部署路由轉發;對於那些未明確指定inside-local address與inside-global address 綁定的雲主機(openstack 中稱為 instances with a fixed IP address,我覺得加一個only理解會更容易),雲主機的跨子網流量經過本地分散式路由賺翻,南北向(SNAT)流量依然經過network-node的VRouter進行轉發。
以上可以看出無論是普通路由還是分散式路由,租戶雲主機的網關都是在openstack虛擬網路中維護的,而在華為和華三的硬體VTEP組網中是存在L3 VXLAN GATEWAY概念的,並且此網關地址就是租戶主機的網關地址,用於租戶雲主機的跨子網訪問。
問題1:openstack VRouter網關與硬體方案的 L3 VXLAN GATEWAY是共存的嗎?如果不能共存是否需要改變openstack的組網類型(改自服務為運營商)?不確定
問題2:openstack 的neutron使用什麼樣的網路類型(flat,vlan)來配合硬體類型VTEP方案? 應該是vlan
問題3:硬體組網的vxlan vni與如何與openstack租戶配合使用?
一個vni對應一個vpc子網的vlan
自建openstack綜合實驗環境描述:
版本 V1.0 非分散式路由,物理網路為VLAN大二層
拓撲圖:
1台組裝機,主要配置:i7-8700k、48G內存、2T硬碟
外層虛擬化環境 :vsphere esxi 6.5 ,創建EVE-NG Host虛擬機、controller-node虛擬機、nova-node虛擬機、network-node虛擬機
物理網路設備模擬器:EVE-NG,模擬普通VLAN類型的物理網路
網路模擬器與虛擬宿主機橋接網路:vsphere vswith
虛擬宿主機,組建openstack環境:3個節點分別為controller-node、nova-node、network-node,根據官方文檔手工組建pike 版本openstack,成功!
(一句話包含搭建中千言萬語的坑,搭建完畢又面臨一堆的坑nova_vnc故障、dhcp故障、AZ劃分後instance 無法創建故障以及各種自己給自己挖的坑 )。
版本V2.0 分散式路由、物理網路VXLAN組網
學習過程中對於華為的組網方案比較熟悉,奈何EVE-NG無法模擬華為12800,,最終會選擇了Arista VEOS 4.14.5F來組建vxlan網路(不太熟悉,看了手冊好像不支持BGP-EVPN方式組網,比較鬱悶)。
拓撲圖待續。。
精力有限,以上的記錄尚待補充各種細節
總結
本人目前供職於一家集成公司,目前專門做網路安全集成項目(是的,其實我現在做網路安全),但是對於網路技術一直保持熱情並且對openstack技術一直很好奇,目前的項目也涉及到雲、網、安的融合,所以自己組裝了一台電腦專門用作對openstack的學習,期間各種艱辛與挫敗不多描述,從3月下旬開始到4月底每天下班後繼續折騰到後半夜周六日不休息,付出了大量的精力,我想說的是沒有平台、沒有指引、英文水平一般的話搞點前沿的技術真tm難。
最後真的感謝知乎各路網路技術話題牛人、雲技計算網路肖老師、李宗標老師等等,在學習的這段時間裡學習參考了好多前輩的分析的課程、書籍,博客,為我探索過程中的指路燈塔。
推薦閱讀: