ONIE开源项目

1. 概述

1.1. 项目概述

Open Network Install Environment (ONIE)是一个开源计划,为现代网络硬件定义了一个开放的安装环境。ONIE造就了一个开放的网络硬件生态系统,使得最终用户可以在不同的网络操作系统中进行选择。
在ONIE出现之前,以太网交换机使用预装的专有操作系统,这中网络设备将最终用户锁定到设备的垂直供应链上。
最初,ONIE通过向多个操作系统供应商开放硬件开启了“白盒”和“裸机”网络交换机生态系统。随着时间的推移, ONIE的知名度不断提高,现在ONIE已经成为网络硬件行业的主流安装环境。
现代网络交换机都具有一个管理子系统,该系统基于各种CPU架构,通常包括串行控制台,带外以太网和大容量的存储器。该子系统可以独立于“前面板”以太网接口关联的交换ASIC独立工作。
ONIE定义了一个开源的安装环境,该安装环境运行在这个管理子系统的Linux内核和BusyBox环境上。这个环境允许最终用户和渠道合作伙伴安装目标NOS。
ONIE使得交换机硬件供应商,分销商和经销商能够基于少量的硬件库存管理其操作。反过来又在制造、分销、库存和RMA方面创造了规模经济,从而使得网络硬件和操作系统的替代品得以蓬勃发展。
亮点

  • 将引导加载程序与现代Linux内核和BusyBox结合在一起
  • 提供了一个安装任何NOS的环境
  • 革命性地将用户从预先安装的操作系统中解放出来
  • 帮助实现大规模数据中心交换机的配置自动化
  • 可以像管理Linux服务器一样管理交换机

1.2. 设计概述

完整的设计,请参考设计规格文档。

ONIE是bootloader和一个小型操作系统的组合,该操作系统为网络交换机自动配置提供环境。ONIE使用交换机的控制面CPU,但是不使用转发面,如下图所示:
典型网络交换机CPU组合—ONIE使用其中高亮的部分

1.2.1. 初次系统引导

当一台新设备第一次启动时,ONIE定位到并执行厂商提供的NOS,如下图所示:
执行流程—First Time Boot Up

1.2.2. 后续系统引导

后续系统的每次启动都不使用ONIE。初次引导之后,后面系统启动直接进入NOS,绕过ONIE。如下图所示:
后续开机—NOS安装之后

当然,系统提供了一个重新进入安装阶段的机制。定义了一个API,这样网络操作系统可以提示系统重新进入安装阶段。

1.2.3. 找到安装镜像

ONIE使用多种方法来定位到NOS安装程序的位置,包括但不限于:

  • 通过bootloader进行静态配置
  • 本地连接的存储器,例如USB存储设备
  • DHCPv4/DHCPv6
  • IPv4/IPv6链路本地邻居
  • mDNS/DNS-SD
  • 类似PXE的TFTP和HTTP流程

镜像下载的首选方法是HTTP ,因为它具有较好的性能。TFTP方式也支持,但是不能和HTTP共存。
一旦找到镜像,ONIE就会继续执行NOS的安装流程。

下图举例说明了NOS定位和安装执行过程:
镜像位置确认

在上图中,"Less Exact Methods" 方框指的是使用探测技术来发现NOS的机制,如:

  • IPv4 / IPv6 本地链路邻居
  • 类似于PXE的TFTP和HTTP过程

1.2.4. 安装执行环境

在执行安装程序时,ONIE会导出一些环境变量供安装程序使用。这些变量包括系统标识信息及在镜像发现过程中学习到的信息。
导出给安装程序的信息包括但不限于:

  • 安装程序URL
  • 硬件供应商标识
  • 硬件平台标识
  • 硬件系列号
  • 以太网管理口MAC地址
  • IP地址(DHCP获取)
  • Hostname (DHCP获取)
    这些变量允许安装程序与其他自动化流程进行集成,立即将产品系列号,MAC地址和NOS版本捆绑在一起。
    1.2.5. 安装程序概述
    安装程序负责将操作系统永久地安装到硬件中。为了实现这个功能,兼容ONIE的NOS安装程序具有很大的灵活性。
    安装程序可以实现的一些功能如下:
  • 通过HTTP获取额外的二进制文件和配置文件
  • 通过HTTP与库存控制系统进行交流
  • 下载一个新的kernel+initramfs and kexec(8)

1.2.6. 网络操作系统接口

ONIE为NOS提供了执行系统配置和维护操作的环境,包括:

  • 重新安装不同的NOS
  • 卸载/清除系统
  • 应急和恢复
  • 更新ONIE
  • 更新设备的CPLD/FPGAs及BIOS固件
    这个环境构成了ONIE和NOS的接口。

1.2.7. 更新ONIE

ONIE提供了一个自我升级的机制。这种机制很像网络操作系统的定位和执行阶段,但是这种情况下镜像是ONIE镜像。一旦找到,ONIE镜像就被下载并执行。

1.2.8. 固件升级

ONIE提供了固件升级机制。在这种情况下,固件指的是类似于CPLD/FPGA软件代码及BIOS固件。这种机制就像更新ONIE本身一样,指示镜像换成了固件镜像。一旦找到,镜像就被下载并执行。

2. 下载源码

2.1. 发布版本

已发布的版本可以直接下载使用: opencomputeproject/onie。

2.2. 最新开发版本

可以使用Git从ONIE工程中下载最新的源码:

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

3. 社区

可以参与ONIE社区开发并保持连续。

3.1. 代码库

浏览源码,问题文件和贡献: 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. 贡献

浏览源码,发布并贡献给Github上托管的 ONIE Project。
克隆最新的开发版本:

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

3.4. OCP Wiki

参考 OCP ONIE wiki 获取更多的信息。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,012评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,628评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,653评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,485评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,574评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,590评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,596评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,340评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,794评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,102评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,276评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,940评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,583评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,201评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,441评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,173评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,136评论 2 352

推荐阅读更多精彩内容

  • 前言前言 随着科学技术的飞速发展和科学技术的日新月异,产品更新换代的速度也越来越快,复杂零件的个数也越来越多,产...
    穆山阅读 1,868评论 0 10
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,009评论 25 707
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,239评论 9 467
  • 此时此刻的想法 2016年12月7日 下午3点07分 我坐在办公室的桌子上,手头边堆满了杂乱的草稿纸,求职者的...
    里奥mt阅读 185评论 0 0
  • 如果你想致富,最好的方法就是自己创业,或者加入创业公司,几百年来,这一直是致富的可靠途径。 财富不等于金钱,金钱只...
    cyfloel阅读 479评论 0 2