TF實戰Q&A丨這個問題,我以前也遇到過
在TF
中文社群,
愛折騰的“實戰派”們經常探討有關
SDN和
Tungsten Fabric
的各種問題,
我們將其中的
精華部分
整理出來,形成 “ TF Q&A ”
欄目,
他們碰到
的困惑
、踩過的坑
,也許正是你
想要
瞭解的——
Q : 最近在做的小實驗,OpenStack+Tungsten Fabric 模式的網路效能以及穩定性問題,但是因為沒有瞻博的路由器,沒有 gateway , VM 無法訪問外部網路。想請問有沒有 OpenStack+ Tungsten Fabric 模式,有沒有其他替代的訪問外部網路的方式,並且有沒有這方面的文件?
楊雨: 可以用vMX 或者更簡單的 vSRX 。
也可以用來做測試。
Q : Tungsten Fabric 如何支援多個 VXLAN fabric ?(物理網建了 VXLAN fabric ,他們各自有各自的 gateway , Tungsten Fabric 要跟這幾個物理網的 fabric 打通,也就是說 Tungsten Fabric 裡面管理的這些宿主機裡面的 VM 或者容器的例項,能夠跟物理 VXLAN 裡面 BMS 裸金屬伺服器通起來,同時它能把不同的 fabric 裡面的這些虛機連線到一起)
Edward Ting:
這個是可以做的,但它有一個plug in
,要自己寫。因為物理的
Facebook
的
switch
或者
VXLAN fabric
,它們目前只支援
Juniper
的,但社群的版本是隻支援
Juniper
的,然後怎麼去配置這些東西,它在
5.1
版是用
ansible
或一些自動化的指令碼做,社群的
UI
不能做這些事情。
Q : 有大神知道這個咋解決的嗎(Disk for DB is too low )?
wenrui : /etc/contrail/common.env ,需要把 config database 的 docker compose 重啟一下,自己做 lab 的話,這個問題可以忽略,不影響功能。
Q : 對於 Tungsten Fabric , Overlay 隧道可以是基於 GRE/UDP 的 MPLS 隧道,也可以是 VXLAN 隧道。為什麼要用 GRE/UDP 的 MPLS ?
JianXun-KkBLuE :一個原因是之前 vxlan 還不夠成熟,第二個是考慮可能 SP (運營商)的場景。
Wenrui
:
Tungsten Fabric
一開始就是
vRouter
組網,是
L3 overlay
,
Juniper
又比較擅長
MPLS
,另外十多年前
vxlan
也不太成熟,所以
vxlan
是後來支援的。
Q : 諮詢大家一個小白問題,DPDK 有沒有 flow 模式和 packet 模式 ?
錢譽:
可能未必是你所想的模式。有流分類庫和資料包分發器庫。
我的理解是這樣的,因為在contrail
裡預設就是基於
flow
的模式,跟
DPDK
網路卡配置沒有關係。預設情況下每個
vrouter
都有一個流標的。
contrail
還提供另一種包模式。
因為流不是無限的,而且很多時候我們不需要那麼嚴格的流功能,那麼流的意義就失去了,另一個主要原因就在於流是很廢資源的,會在使用中竊取負載資源。
當然這個裡面其實有利有弊存在,比如說包模式的優點在於出現故障時候能快速收斂,不需要時間去建立流,vrouter
上沒有
SYN FLOOD
這種
DDOS
,因為
vrouter
不需要保持狀態,當然缺點就是沒有留就少了分析,網路策略不能實現
ACL
,不能進行映象或者
steering
,僅僅支援單個
SI
服務鏈,也沒有
RPF
等等。
[root@openshift-comp01 ~]# vif --get 3Vrouter Interface Tablevif0/3 OS: tap233eefc1-94 Type:Virtual HWaddr:00:00:5e:00:01:00 IPaddr:5.5.5.4Vrf:2 Mcast Vrf:2 Flags:PL3L2DUufEr QOS:-1 Ref:6[root@openshift-comp01 ~]# vif --get 3Vrouter Interface Tablevif0/3 OS: tap233eefc1-94 Type:Virtual HWaddr:00:00:5e:00:01:00 IPaddr:5.5.5.4Vrf:2 Mcast Vrf:2 Flags:L3L2DUufEr QOS:-1 Ref:6
開了包模式後你看Flags:
這個裡面第一個
P
消失了。
Q : Tungsten Fabric 目前能對接多少個 OpenStack 叢集啊? instances.yaml 配置檔案中看不出可以定義多組的樣子,難道是 1:1 然後做聯盟?
楊雨:1:1
。
Q : 請教下,Cloudify 已經比較成熟了嗎?已經有一些公司在使用的成功案例嗎?
楊雨:Cloudify 都大改過一次了, NFV 方面用來做 NFVO 還是比較多的,
https://www.mirantis.com/blog/which-nfv-orchestration-platform-best-review-osm-open-o-cord-cloudify/
Q : Tungsten Fabric 支援 vlan aware vm 接入嗎?
王峻:可以建立一個子介面port ,測試一下。
Q : 哪位專家有Tungsten Fabric 體系架構文件 ?
陳剛:中文版本
Q : 有Tungsten Fabric 原始碼編譯成 deb 或 rpm 包的連結或文件嗎?
Shuqiang
:現在
Tungsten Fabric
直接下載
image
,
ansible
部署好之後就可以用了,都用不著編譯。可以從這裡下載映象
Q : Tungsten Fabric 有 rest api 文件嗎?有沒有寫怎麼傳遞引數?
Edward Ting:
http://configuration-schema-documentation.s3-website-us-west-1.amazonaws.com/R3.2/tutorial_with_rest.html
這個
3.2
基本類似,
2005
版也可以。有一些開放的庫可以用,你不一定需要自己寫。這個
api
文件裡面,有一些引數,可以直接把
vnc-api
庫拿過來用就行。
Q : 閱讀vRouter 的程式碼,想分析下資料層的資料流程,有參考資料嗎?
楊雨:vRouter
的資料轉發是在
kernel
層實現的,可以去
GitHub
搜尋
contrail-vrouter
找到原始碼。
Q : vRouter ,是說的 EDGE 這個麼?
Wenrui : EDGE 是 nsx 裡的 gateway ,就像 Tungsten Fabric 裡的 VMX 。 Tungsten Fabric 在 VMware 環境的 vRouter 不是 EDGE 的作用,主要是用於內部 VN 。
Q : DLR 這個是分散式路由器麼? NSX-T 和 NSX 又不一樣。
Wenrui : Tungsten Fabric 裡的 vRouter 跟 dlr 比較像,在 VMware 裡不太一樣,是一個 VM ,實現方式是透過 portgroup 把 VM 的埠連到 vRouter VM 。
其實Tungsten Fabric
和
VMware
環境先後有三種整合方式,
vCenter as compute
(
contrail VM
),
vRO
整合,
CVFM
(商業版),現在商業版主要是做
CVFM
了。
Q : Tungsten Fabric 的 vRouter 裡, vhost0. 和 pkt0. 分別是什麼作用?
錢譽:vhost0 是主機作業系統和 vRouter 之間的 Tap 介面。 vhost0 是主機作業系統使用的第 3 層介面。作為設定的一部分, Tungsten Fabric 軟體會將 IP 配置從乙太網埠遷移到 vhost0 。當主機作業系統的網路堆疊在 vhost0 介面上傳送資料包時,它們將 vRouter 模組接收。 vRouter 依次路由資料包。當 vRouter 需要將資料包傳送到 host-os 的網路堆疊時,它將透過 vhost0 介面進行傳輸。 pkt0 是 vRouter 和 vrouter-agent 之間的 Tap 介面。 vRouter 在該介面上捕獲需要控制處理(例如流設定)的資料包。另外,當代理使用 pkt0 介面傳輸控制資料包(例如 ARP )時。詳細可參考:
Q : 請問有vRouter 詳細一點的資料嗎 ?
錢譽:
Q : 如果OpenStack 整合了 Tungsten Fabric 控制器,那這個 OpenStack 能否透過 Ironic 元件部署裸機?
楊雨:可以,Contrail Command
可以實現,目前開源版本還沒有這個功能,得自己改。簡單的描述一下:
1. PXE OS Provision
時,要把物理機的
PXE
口對應交換機的口改到
Provision
的虛擬機器網路,完成
TFTP
裝機;
2.
裝完機,把
PXE
口對應交換機的口改到業務虛擬網路;
3.
物理機下架或維護,需要報網口切換到用於清理的虛擬網路,完成清理;
OVSDB
是過去時,現在是用
EVPN-VXLAN
。
Q : PXE OS Provision 網路和 Ironic 的 tftp 是怎麼配置才能互通呢?
楊雨:
https://www.juniper.net/documentation/en_US/contrail19/topics/concept/how-bms-manager-works.html
Q : OpenStack project 刪除了,但是 Tungsten Fabric 還有,就會出現錯誤…… UI 很多錯誤都二次封裝了。導致看不到原來的錯誤。
Edward Ting:
以前的
5.1
有
bug
,我以前也遇到過這個問題。
UI
介面
bug
很多,
5.2
和
5.1
都是有這個問題,
5.1
比
5.2
好一些,但都有些
bug
,得自己修。我建議不要用
UI
。有兩個原因,第一它有很多
bug
,第二它沒有漢化。所以用
UI
大家可能會浪費更多時間,倒不如自己寫
UI
。
Q : nova_compute 和 nova_libvirt 一直 restarting , docker logs 也看不到任何報錯。 VT-x 已經開了,請問怎麼排障啊?
陳剛:找到方法了,VM
上
systemctl disable libvirtd.service
,
systemctl disable dnsmasq
之後,兩個
docker
容器就正常了。
Q : 有人用vqfx 遇到過這個問題嗎?總是提示要登入 vc-m 。虛擬的還分主備引擎嗎?
錢譽:用這個方法試試
Q : 同網段跨節點交換mac 路由嗎?類似於 l2vni ,還是隻用 l3vni ,同網段用 arp proxy ?
JianXun-KkBLuE
:
L3
。
Q : 如果路由模式, VNF 可以配置一個網路卡嗎?還是必須 left 和 right 兩個?
Wenrui :必須是兩個,分別連兩個 VNF 。路由模式 VM 的閘道器也不在 VNF 上。
Q : 兩個網路卡,是不是虛擬機器的兩個網路卡都要配置IP ?
Wenrui :嗯, VNF 是 L2 或 L3 都可以,但是需要連線不同子網。其實有沒有地址對 Tungsten Fabric 來說都一樣,即使是 L3 ,業務 VM 的閘道器也不在 VNF 上。
Q : nat 也一樣,對吧?
Wenrui : nat 不太一樣,是用在內外網的場景。
Q : 如果服務鏈中vnf 做 nat 也可以實現?就是 waf 反向代理。
Wenrui
:對,
in-netwrok nat
就是這種方式。
Q : 宿主機有兩塊網路卡,TF 建立的幾個 network 總是使用跟 vhost 一起的 eth1 ,怎麼才能讓 VM 的兩塊網路卡中的一個使用宿主機的 eth0?
楊雨:可以看看這個
Q : 專家們,你們怎麼解決neutron l3 router 的效能瓶頸?
錢譽:Tungsten Fabric
的
pkt0
跟
openflow
的首包沒什麼關係,因為
Tungsten Fabric
是
overlay
方式,報文不需要上送控制器,另外控制器主動下發
Virtual Overlay vSwitch/vRouter
,依靠現有的協議來建立
IP Fabric
的連通性。
Underlay
拓撲變化不會影響
overlay
,
Tungsten Fabric
不會保留任何
Overlay Per-Tenant
狀態資訊。
Q : Tungsten Fabric 支援高可用 ( HA )嗎?
Edward Ting:
它有支援,而且很容易做。它的設計是要有三個節點,
3
、
5
、
7
個節點,那
HA
就有了。
Q : 分析服務可選部署,減少佔用小環境裡使用不合適?
Edward Ting:
https://www.juniper.net/documentation/en_US/contrail20/information-products/pathway-pages/contrail-service-provider-feature-guide.pdf
你可以分開部署,它有個東西叫做
remote computer
,就是遠端計算,它是把分析服務放在
central office
裡,然後控制的伺服器可以放在邊緣,所以邊緣的那些節點上並不需要分析伺服器,你可以用運營商的
central office
裝分析伺服器,部署,然後分析所有邊緣的伺服器,這樣的話,比如說有
1000
臺節點,但是你的分析伺服器都在
central office
裡頭,這樣可以減少環境的一些浪費。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69981760/viewspace-2718195/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- TF實戰Q&A丨不是一句話可以搞定的
- 這些Kubernetes常見安全問題,你遇到過幾個?
- Vue中的EventBus使用時你遇到過這個問題嗎???Vue
- TF實戰丨使用Vagrant安裝Tungsten Fabric
- 這個Maven依賴的問題,你敢說你沒遇到過Maven
- 我曾經遇到過的一個SAP gateway系統cache的問題Gateway
- 我遇到的小白問題
- ASR專案實戰-交付過程中遇到的核心崩潰問題
- 看過無數Java GC文章,這5個問題你也未必知道!JavaGC
- 你可能也罵過這兩個面試題!面試題
- ASR專案實戰-交付過程中遇到的疑似記憶體洩漏問題記憶體
- 皮膚開發過程中遇到的3個問題
- 爬蟲過程中遇到的問題爬蟲
- 我擦 遇到個大坑啊 C和C++混合編譯問題C++編譯
- 大佬們幫小弟看看這個單列模式哪裡有問題,因為啟動瀏覽器會出現兩個,且第一個為 data,以前遇到過但是忘記解決方案了模式瀏覽器
- 請教個問題執行 httprunner 遇到的問題HTTP
- 這個太簡單了,我也不會
- 使用imp/exp遇到兩個問題
- 請教一個讓我這個菜雞不解的問題
- Python學習者可能存在的幾個問題,你遇到過嗎?Python
- 請教一個技術問題,又沒有人遇到過這樣的需求?求分享解決方案
- MyBatis面試題集合,90%會遇到這些問題MyBatis面試題
- 個推大資料降本提效實戰分享-Q&A精選大資料
- PYTORCH安裝過程以及遇到的問題PyTorch
- 學習vue過程中遇到的問題Vue
- 微軟內推常見問題 Q&A微軟
- Tungsten Fabric知識庫丨這裡有18個TF補丁程式,建議收藏
- 3 月書訊丨如果我早點看到這套書,數學也不會學成這個鬼樣子
- jmeter 遇到的一個場景問題JMeter
- SparkStreaming推測機制:面試被問遇到什麼問題,說這個顯水平!Spark面試
- 搶火車票這個事吧,其實我也能做!(python黑科技)Python
- CSM|在企業中推行敏捷,這些常見的問題你遇到過嗎?敏捷
- JMeter 介面測試實戰分享,這7個問題你一定要知道!JMeter
- 【分享】Postman介面測試實戰分享,這5個問題你必須得知道!Postman
- 關於ubuntu安裝中過程遇到問題Ubuntu
- 不是遇到圖片就只能用SDWebImage,我們自己也可以實現Web
- 遇到奇葩問題
- 實際專案中遇到的問題