激動人心!OpenStack社區(qū)正式接受UnitedStack有云Steth項(xiàng)目
由UnitedStack網(wǎng)絡(luò)組提出并創(chuàng)建的Steth項(xiàng)目,在上周日(1月17日)正式并入Big Tent,成為OpenStack正式項(xiàng)目。該項(xiàng)目主要針對網(wǎng)絡(luò)故障排查和部署前的硬件網(wǎng)絡(luò)環(huán)境檢查。
這是自Big Tent模式確認(rèn)以來,UnitedStack有云***個(gè)并入Big Tent的項(xiàng)目,也是繼Scalpels項(xiàng)目和pandaman之后,來自中國的項(xiàng)目再次被社區(qū)接納。作為OpenStack開源社區(qū)的一員,我們既是受益者,也是社區(qū)的建設(shè)者和所有人。
Steth項(xiàng)目因何而來?——解救忙碌的網(wǎng)絡(luò)工程師
Steth項(xiàng)目是怎么出現(xiàn)的?因?yàn)榫W(wǎng)絡(luò)工程師實(shí)在太累了。這種感覺不是一個(gè)人,而是在UnitedStack有云網(wǎng)絡(luò)團(tuán)隊(duì)每個(gè)人的認(rèn)知。
“我們每周都會有新項(xiàng)目或者新POC,很多時(shí)間都花在了調(diào)試硬件網(wǎng)絡(luò)的連通性或者性能上。Steth的初衷就是為了解決這些問題。”Steth項(xiàng)目的核心貢獻(xiàn)者、UnitedStack有云SDN網(wǎng)絡(luò)部工程師萇智如是說。
Steth項(xiàng)目的核心貢獻(xiàn)者、UnitedStack有云SDN網(wǎng)絡(luò)部工程師萇智
當(dāng)前,UnitedStack有云業(yè)務(wù)爆發(fā)式增長,部署規(guī)模逐步擴(kuò)大,背后是研發(fā)和支持團(tuán)隊(duì)高效運(yùn)轉(zhuǎn)和鼎力支持。但是,讓網(wǎng)絡(luò)工程師最懊惱的是在部署過程中遇到的很多問題和Neutron 沒有任何關(guān)系。比如 Vlan 配錯(cuò)了、交換機(jī)上Vlan 沒放行、Floating IP 網(wǎng)關(guān)沒有起、甚至用于 VxLan 隧道的 Endpoint IP配錯(cuò)了,此外一些奇怪的現(xiàn)網(wǎng)還會帶來一些例如策略路由造成的簡單檢查無法暴露但虛擬機(jī)卻無法發(fā)送廣播報(bào)文、光纖質(zhì)量引發(fā)的跨機(jī)柜通信帶寬異常等等問題。
這些“簡單的小問題”在傳統(tǒng)網(wǎng)絡(luò)中也會遇到一些,只是當(dāng)網(wǎng)絡(luò)遇到OpenStack,問題疊加,就更難診斷。但是這些問題會占用工程師的大量時(shí)間,需要逐一排查解決。
Steth項(xiàng)目的核心貢獻(xiàn)者、UnitedStack有云SDN網(wǎng)絡(luò)部工程師姚威
“對于新部署的Region,我們總會遇到很多莫名的網(wǎng)絡(luò)配置或性能問題,Steth能夠迅速抓包分析數(shù)據(jù)包路徑,定位問題所在;對于生產(chǎn)Region,可能會被虛擬網(wǎng)絡(luò)連通性困擾,Steth能夠在虛擬設(shè)備上發(fā)包快速模擬問題現(xiàn)場。”Steth項(xiàng)目的核心貢獻(xiàn)者、UnitedStack有云SDN網(wǎng)絡(luò)部工程師姚威如是說,正是這樣的愿景誕生了Steth。
Steth項(xiàng)目解析——如何完成網(wǎng)絡(luò)檢查
網(wǎng)絡(luò)的的穩(wěn)定性是是OpenStack云平臺穩(wěn)定可用的基石。Steth的出發(fā)點(diǎn)很簡單,就是在Neutron 內(nèi)置有一個(gè) sanity test,用于檢查本機(jī)的情況,Steth 可以作為 Sanity 的分布式補(bǔ)充,檢查 Neutron 運(yùn)行的整個(gè)環(huán)境。
具體來說,Steth集成了一系列實(shí)用的腳本和第三方工具(包括iperf、tcpdump等),并能夠模擬虛擬機(jī)發(fā)出 DHCP 請求、ARP 請求,幫助網(wǎng)絡(luò)運(yùn)營者實(shí)時(shí)追蹤VM網(wǎng)絡(luò)的狀態(tài)。
在上面的架構(gòu)圖中,可以看到Steth是無狀態(tài)的CLI和控制器,通過 Agent可以讀取配置文檔。通過與OpenStack的交互,在需要時(shí)向相關(guān)的Agent發(fā)送RPC請求。此外,Steth的Agent需要安裝在每一個(gè)計(jì)算節(jié)點(diǎn)和網(wǎng)絡(luò)節(jié)點(diǎn)之上,Steth的控制器中的配置文件為其指定IP地址。“通過Steth我們可以使用CLI遠(yuǎn)程調(diào)用運(yùn)行在個(gè)節(jié)點(diǎn)的Steth-Agent提供的API,快速定位網(wǎng)絡(luò)問題,為運(yùn)維人員提供準(zhǔn)確的排查思路,從而節(jié)省運(yùn)維人員花費(fèi)在定位網(wǎng)絡(luò)問題上的時(shí)間。”萇智解釋道。
需要指出的是,Steth項(xiàng)目除了可以應(yīng)用在OpenStack環(huán)境以外,還可以使用在其他的分布式網(wǎng)絡(luò)環(huán)境中。這個(gè)監(jiān)測工具,基于C/S模式運(yùn)行,能夠在OpenStack網(wǎng)絡(luò)環(huán)境部署前或者運(yùn)營過程中對網(wǎng)絡(luò)問題進(jìn)行精準(zhǔn)定位。目前,Steth僅適用于ML2網(wǎng)絡(luò)。
網(wǎng)絡(luò)監(jiān)測——為什么不能借用其他項(xiàng)目?
如果說自動化是解決大規(guī)模部署之后,網(wǎng)絡(luò)監(jiān)測的必由之路,那么在OpenStack的眾多項(xiàng)目中是否有一款適合的呢?事實(shí)上,找成熟項(xiàng)目也是UnitedStack有云網(wǎng)絡(luò)組最初的想法,但是很快大家就發(fā)現(xiàn),這條路行不通。
Steth項(xiàng)目的核心貢獻(xiàn)者、UnitedStack有云SDN網(wǎng)絡(luò)部門PTL 王為
“在設(shè)計(jì)Steth之前,我們考察了Zabbix和Scalpals等同類工具。但感覺現(xiàn)有的工具仍然無法滿足我們在大規(guī)模部署過程中的網(wǎng)絡(luò)運(yùn)維需求。”Steth項(xiàng)目的核心貢獻(xiàn)者、UnitedStack有云SDN網(wǎng)絡(luò)部PTL王為說,“實(shí)際上,Mirantis也同樣遇到了網(wǎng)絡(luò)自動化運(yùn)維的問題,他們在FUEL中集成了 network-checker,這個(gè)工具后來被剝離出來成為獨(dú)立項(xiàng)目。但network-checker相對簡單、代碼質(zhì)量和把控比較糟糕,無法滿足我們的需求。Zabbix的技術(shù)架構(gòu)相對僵化,Scalpals在解決新集群部署方面還有一些局限。”
既然沒有合適的項(xiàng)目,那我們就開發(fā)自己的項(xiàng)目并且快速開源,幫助每一個(gè)業(yè)務(wù)快速增長的公司擺脫疲于奔命的現(xiàn)狀吧。姚威說:“我們想要提供一條OpenStack網(wǎng)絡(luò)的無痛部署和運(yùn)維的途徑,節(jié)約老手時(shí)間,免除新手煩惱。”
花絮——Steth項(xiàng)目并入BigTent
在正式解讀了Steth項(xiàng)目之后,創(chuàng)造這一項(xiàng)目的UnitedStack有云網(wǎng)絡(luò)組集體登場,熱烈歡迎,
Steth項(xiàng)目的核心貢獻(xiàn):王為、萇智、姚威(右起)
Steth項(xiàng)目的審閱時(shí)間非常短,只有四天的時(shí)間,期間還因?yàn)橹孛膯栴}耽誤了一天半。因?yàn)镾teth的使命正是社區(qū)亟待解決的問題,所以快速得到了認(rèn)可。
除了Steth項(xiàng)目,UnitedStack有云還有另外一個(gè)項(xiàng)目正在準(zhǔn)備向社區(qū)提交,敬請期待好消息。
此外,Steth項(xiàng)目從成立到現(xiàn)在只有不到兩個(gè)月的時(shí)間,它還有很多不成熟的地方。我們希望有更多的OpenStack開發(fā)者可以加入,讓我們共同打造一個(gè)快速交付,持續(xù)運(yùn)維的OpenStack網(wǎng)絡(luò)!