ONIE開(kāi)源項(xiàng)目

1. 概述

1.1. 項(xiàng)目概述

Open Network Install Environment (ONIE)是一個(gè)開(kāi)源計(jì)劃魄健,為現(xiàn)代網(wǎng)絡(luò)硬件定義了一個(gè)開(kāi)放的安裝環(huán)境。ONIE造就了一個(gè)開(kāi)放的網(wǎng)絡(luò)硬件生態(tài)系統(tǒng)莺债,使得最終用戶可以在不同的網(wǎng)絡(luò)操作系統(tǒng)中進(jìn)行選擇逮刨。
在ONIE出現(xiàn)之前,以太網(wǎng)交換機(jī)使用預(yù)裝的專有操作系統(tǒng),這中網(wǎng)絡(luò)設(shè)備將最終用戶鎖定到設(shè)備的垂直供應(yīng)鏈上井誉。
最初,ONIE通過(guò)向多個(gè)操作系統(tǒng)供應(yīng)商開(kāi)放硬件開(kāi)啟了“白盒”和“裸機(jī)”網(wǎng)絡(luò)交換機(jī)生態(tài)系統(tǒng)整胃。隨著時(shí)間的推移颗圣, ONIE的知名度不斷提高,現(xiàn)在ONIE已經(jīng)成為網(wǎng)絡(luò)硬件行業(yè)的主流安裝環(huán)境屁使。
現(xiàn)代網(wǎng)絡(luò)交換機(jī)都具有一個(gè)管理子系統(tǒng)在岂,該系統(tǒng)基于各種CPU架構(gòu),通常包括串行控制臺(tái)蛮寂,帶外以太網(wǎng)和大容量的存儲(chǔ)器蔽午。該子系統(tǒng)可以獨(dú)立于“前面板”以太網(wǎng)接口關(guān)聯(lián)的交換ASIC獨(dú)立工作。
ONIE定義了一個(gè)開(kāi)源的安裝環(huán)境酬蹋,該安裝環(huán)境運(yùn)行在這個(gè)管理子系統(tǒng)的Linux內(nèi)核和BusyBox環(huán)境上及老。這個(gè)環(huán)境允許最終用戶和渠道合作伙伴安裝目標(biāo)NOS。
ONIE使得交換機(jī)硬件供應(yīng)商范抓,分銷商和經(jīng)銷商能夠基于少量的硬件庫(kù)存管理其操作骄恶。反過(guò)來(lái)又在制造、分銷匕垫、庫(kù)存和RMA方面創(chuàng)造了規(guī)模經(jīng)濟(jì)僧鲁,從而使得網(wǎng)絡(luò)硬件和操作系統(tǒng)的替代品得以蓬勃發(fā)展。
亮點(diǎn)

  • 將引導(dǎo)加載程序與現(xiàn)代Linux內(nèi)核和BusyBox結(jié)合在一起
  • 提供了一個(gè)安裝任何NOS的環(huán)境
  • 革命性地將用戶從預(yù)先安裝的操作系統(tǒng)中解放出來(lái)
  • 幫助實(shí)現(xiàn)大規(guī)模數(shù)據(jù)中心交換機(jī)的配置自動(dòng)化
  • 可以像管理Linux服務(wù)器一樣管理交換機(jī)

1.2. 設(shè)計(jì)概述

完整的設(shè)計(jì),請(qǐng)參考設(shè)計(jì)規(guī)格文檔寞秃。

ONIE是bootloader和一個(gè)小型操作系統(tǒng)的組合斟叼,該操作系統(tǒng)為網(wǎng)絡(luò)交換機(jī)自動(dòng)配置提供環(huán)境。ONIE使用交換機(jī)的控制面CPU蜕该,但是不使用轉(zhuǎn)發(fā)面犁柜,如下圖所示:
典型網(wǎng)絡(luò)交換機(jī)CPU組合—ONIE使用其中高亮的部分

1.2.1. 初次系統(tǒng)引導(dǎo)

當(dāng)一臺(tái)新設(shè)備第一次啟動(dòng)時(shí),ONIE定位到并執(zhí)行廠商提供的NOS堂淡,如下圖所示:
執(zhí)行流程—First Time Boot Up

1.2.2. 后續(xù)系統(tǒng)引導(dǎo)

后續(xù)系統(tǒng)的每次啟動(dòng)都不使用ONIE。初次引導(dǎo)之后扒腕,后面系統(tǒng)啟動(dòng)直接進(jìn)入NOS绢淀,繞過(guò)ONIE。如下圖所示:
后續(xù)開(kāi)機(jī)—NOS安裝之后

當(dāng)然瘾腰,系統(tǒng)提供了一個(gè)重新進(jìn)入安裝階段的機(jī)制皆的。定義了一個(gè)API,這樣網(wǎng)絡(luò)操作系統(tǒng)可以提示系統(tǒng)重新進(jìn)入安裝階段蹋盆。

1.2.3. 找到安裝鏡像

ONIE使用多種方法來(lái)定位到NOS安裝程序的位置费薄,包括但不限于:

  • 通過(guò)bootloader進(jìn)行靜態(tài)配置
  • 本地連接的存儲(chǔ)器,例如USB存儲(chǔ)設(shè)備
  • DHCPv4/DHCPv6
  • IPv4/IPv6鏈路本地鄰居
  • mDNS/DNS-SD
  • 類似PXE的TFTP和HTTP流程

鏡像下載的首選方法是HTTP 栖雾,因?yàn)樗哂休^好的性能楞抡。TFTP方式也支持,但是不能和HTTP共存析藕。
一旦找到鏡像召廷,ONIE就會(huì)繼續(xù)執(zhí)行NOS的安裝流程。

下圖舉例說(shuō)明了NOS定位和安裝執(zhí)行過(guò)程:
鏡像位置確認(rèn)

在上圖中账胧,"Less Exact Methods" 方框指的是使用探測(cè)技術(shù)來(lái)發(fā)現(xiàn)NOS的機(jī)制竞慢,如:

  • IPv4 / IPv6 本地鏈路鄰居
  • 類似于PXE的TFTP和HTTP過(guò)程

1.2.4. 安裝執(zhí)行環(huán)境

在執(zhí)行安裝程序時(shí),ONIE會(huì)導(dǎo)出一些環(huán)境變量供安裝程序使用治泥。這些變量包括系統(tǒng)標(biāo)識(shí)信息及在鏡像發(fā)現(xiàn)過(guò)程中學(xué)習(xí)到的信息筹煮。
導(dǎo)出給安裝程序的信息包括但不限于:

  • 安裝程序URL
  • 硬件供應(yīng)商標(biāo)識(shí)
  • 硬件平臺(tái)標(biāo)識(shí)
  • 硬件系列號(hào)
  • 以太網(wǎng)管理口MAC地址
  • IP地址(DHCP獲取)
  • Hostname (DHCP獲取)
    這些變量允許安裝程序與其他自動(dòng)化流程進(jìn)行集成,立即將產(chǎn)品系列號(hào)居夹,MAC地址和NOS版本捆綁在一起败潦。
    1.2.5. 安裝程序概述
    安裝程序負(fù)責(zé)將操作系統(tǒng)永久地安裝到硬件中。為了實(shí)現(xiàn)這個(gè)功能吮播,兼容ONIE的NOS安裝程序具有很大的靈活性变屁。
    安裝程序可以實(shí)現(xiàn)的一些功能如下:
  • 通過(guò)HTTP獲取額外的二進(jìn)制文件和配置文件
  • 通過(guò)HTTP與庫(kù)存控制系統(tǒng)進(jìn)行交流
  • 下載一個(gè)新的kernel+initramfs and kexec(8)

1.2.6. 網(wǎng)絡(luò)操作系統(tǒng)接口

ONIE為NOS提供了執(zhí)行系統(tǒng)配置和維護(hù)操作的環(huán)境,包括:

  • 重新安裝不同的NOS
  • 卸載/清除系統(tǒng)
  • 應(yīng)急和恢復(fù)
  • 更新ONIE
  • 更新設(shè)備的CPLD/FPGAs及BIOS固件
    這個(gè)環(huán)境構(gòu)成了ONIE和NOS的接口意狠。

1.2.7. 更新ONIE

ONIE提供了一個(gè)自我升級(jí)的機(jī)制粟关。這種機(jī)制很像網(wǎng)絡(luò)操作系統(tǒng)的定位和執(zhí)行階段,但是這種情況下鏡像是ONIE鏡像。一旦找到闷板,ONIE鏡像就被下載并執(zhí)行澎灸。

1.2.8. 固件升級(jí)

ONIE提供了固件升級(jí)機(jī)制。在這種情況下遮晚,固件指的是類似于CPLD/FPGA軟件代碼及BIOS固件性昭。這種機(jī)制就像更新ONIE本身一樣,指示鏡像換成了固件鏡像县遣。一旦找到糜颠,鏡像就被下載并執(zhí)行。

2. 下載源碼

2.1. 發(fā)布版本

已發(fā)布的版本可以直接下載使用: opencomputeproject/onie萧求。

2.2. 最新開(kāi)發(fā)版本

可以使用Git從ONIE工程中下載最新的源碼:

git clone https://github.com/opencomputeproject/onie.gitss

3. 社區(qū)

可以參與ONIE社區(qū)開(kāi)發(fā)并保持連續(xù)其兴。

3.1. 代碼庫(kù)

瀏覽源碼,問(wèn)題文件和貢獻(xiàn): opencomputeproject/onie夸政。

3.2. Mailing List

This is a low volume list for questions, comments and general announcements.
Send questions, bugs, comments and ideas to opencompute-onie@lists.opencompute.org.
Join the mailing list: http://lists.opencompute.org/mailman/listinfo/opencompute-onie
Browse the archives: http://lists.opencompute.org/pipermail/opencompute-onie

3.3. 貢獻(xiàn)

瀏覽源碼元旬,發(fā)布并貢獻(xiàn)給Github上托管的 ONIE Project。
克隆最新的開(kāi)發(fā)版本:

git clone https://github.com/opencomputeproject/onie.git

3.4. OCP Wiki

參考 OCP ONIE wiki 獲取更多的信息守问。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末匀归,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子耗帕,更是在濱河造成了極大的恐慌穆端,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,284評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件兴垦,死亡現(xiàn)場(chǎng)離奇詭異徙赢,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)探越,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門狡赐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人钦幔,你說(shuō)我怎么就攤上這事枕屉。” “怎么了鲤氢?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,614評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵搀擂,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我卷玉,道長(zhǎng)哨颂,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,671評(píng)論 1 293
  • 正文 為了忘掉前任相种,我火速辦了婚禮威恼,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己箫措,他們只是感情好腹备,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著斤蔓,像睡著了一般植酥。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上弦牡,一...
    開(kāi)封第一講書(shū)人閱讀 51,562評(píng)論 1 305
  • 那天友驮,我揣著相機(jī)與錄音,去河邊找鬼驾锰。 笑死喊儡,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的稻据。 我是一名探鬼主播,決...
    沈念sama閱讀 40,309評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼买喧,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼捻悯!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起淤毛,我...
    開(kāi)封第一講書(shū)人閱讀 39,223評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤今缚,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后低淡,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體姓言,經(jīng)...
    沈念sama閱讀 45,668評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評(píng)論 3 336
  • 正文 我和宋清朗相戀三年蔗蹋,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了何荚。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,981評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡猪杭,死狀恐怖餐塘,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情皂吮,我是刑警寧澤戒傻,帶...
    沈念sama閱讀 35,705評(píng)論 5 347
  • 正文 年R本政府宣布,位于F島的核電站蜂筹,受9級(jí)特大地震影響需纳,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜艺挪,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評(píng)論 3 330
  • 文/蒙蒙 一不翩、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦慌盯、人聲如沸周霉。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,904評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)俱箱。三九已至,卻和暖如春灭必,著一層夾襖步出監(jiān)牢的瞬間狞谱,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,023評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工禁漓, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留跟衅,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,146評(píng)論 3 370
  • 正文 我出身青樓播歼,卻偏偏與公主長(zhǎng)得像伶跷,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子秘狞,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 前言前言 隨著科學(xué)技術(shù)的飛速發(fā)展和科學(xué)技術(shù)的日新月異叭莫,產(chǎn)品更新?lián)Q代的速度也越來(lái)越快,復(fù)雜零件的個(gè)數(shù)也越來(lái)越多烁试,產(chǎn)...
    穆山閱讀 1,879評(píng)論 0 10
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,139評(píng)論 25 707
  • Ubuntu的發(fā)音 Ubuntu,源于非洲祖魯人和科薩人的語(yǔ)言支示,發(fā)作 oo-boon-too 的音刊橘。了解發(fā)音是有意...
    螢火蟲(chóng)de夢(mèng)閱讀 99,271評(píng)論 9 467
  • 此時(shí)此刻的想法 2016年12月7日 下午3點(diǎn)07分 我坐在辦公室的桌子上,手頭邊堆滿了雜亂的草稿紙悼院,求職者的...
    里奧mt閱讀 185評(píng)論 0 0
  • 如果你想致富伤为,最好的方法就是自己創(chuàng)業(yè),或者加入創(chuàng)業(yè)公司据途,幾百年來(lái)绞愚,這一直是致富的可靠途徑。 財(cái)富不等于金錢颖医,金錢只...
    cyfloel閱讀 479評(píng)論 0 2