Open Network Install Environment工程概述

Open Network Install Environment (ONIE) 为现代网络硬件设备提供开放“安装环境”,打破预装受控操作系统限制。它组合启动引导程序等,可定位安装镜像、执行安装程序。ONIE还提供自身及机器固件升级机制,构建了与网络操作系统的接口,助力网络硬件生态发展。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

工程概述

开源倡议Open Network Install Environment (ONIE) 旨在为现代网络硬件设备提供一个开放的"安装环境"。ONIE塑造了一个开放的网络硬件生态,终端用户可自由选择不同的网络操作系统。

在ONIE出现之前,市面上的以太网交换设备有着预装的,受控的操作系统,以及实质上完成的网络应用,所有这些将终端用户固定在了一个垂直的供应链上。

最初,ONIE依靠对多个操作系统厂商开放硬件开启了“白盒” 与 “裸机”的网络交换生态系统,一段时间后ONIE变得流行起来,现在对于网络硬件工业而言,ONIE已经成为了事实上的"安装环境"标准。

现代网络交换机的管理子系统,建立在各种处理器建构的基础上,这些处理器包含典型的串口、带外以太网口和存储设备。此子系统可以独立运行,不受到关联着前面板以太网接口的交换芯片ASICs所影响。

ONIE定义了运行在管理子系统之上的开源"安装环境",利用了Linux内核中提供的设施和BusyBox环境。作为数据中心配置的一部分,此"安装环境"允许终端用户和渠道合作伙伴以配置服务器的方式,安装特定的目标网络操作系统(NOS)。

ONIE使交换机硬件供应商、分销商和贩卖商可基于少量的硬件SKUs运作。这反过来将创建一个在制造,分销、库存和RMA(退货审查)等方面的规模经济,进而催生一个多样网络硬件和操作系统组成的繁荣生态系统。

亮点:

  • 组合了启动引导程序、现代Linux内核和BusyBox
  • 提供了安装任何NOS的环境
  • 破坏性的;将用户从受控的预装NOS中解放出来
  • 帮助自动化大型数据中心进行交互设备配置
  • 使你能够像管理Linux服务器一样管理你的交互设备

设计概述

注意
完整的设计信息,请参考 Design Specification.

ONIE是启动引导程序和工作于网络交换设备的小型操作系统的组合,意在提供自动化配置环境。ONIE使用交换设备的处理器综合体,而不是转发数据平面,如下图所示:

在这里插入图片描述
Typical Network Switch CPU Complex – ONIE uses the elements highlighted on the left

初始系统启动

当新机器第一次启动时,ONIE定位并执行NOS厂商的安装程序,以下所示:

在这里插入图片描述
Execution Flow – First Time Boot Up

后续系统启动

ONIE并不是每次启动都用到。在初始安装之后,后续启动时,跳过ONIE直接加载NOS运行。参见下图所示:

在这里插入图片描述
Subsequent Boots – After the NOS Is Installed

系统存在重新进入安装阶段的机制。定义了API接口,以便网络操作系统可控制系统重新进入安装阶段。

定位安装镜像

ONIE使用许多方法定位NOS安装程序,包括但不限于以下:

  • 启动引导程序中静态配置
  • 本地连接的存储设备,比如USB硬盘
  • DHCPv4 / DHCPv6
  • IPv4 / IPv6 本地链路邻居
  • mDNS (multicast DNS) / DNS-SD (Service Discovery)
  • PXE-like (Preboot Execute Environment) TFTP and HTTP waterfalls

首选的镜像下载方式为HTTP,因为其可为大尺寸的镜像文件提供稳定的下载性能。TFTP虽然也支持,但是由于HTTP的存在,不鼓励使用。

一旦定位镜像文件,ONIE开始继续执行NOS安装程序。

下图示例展示了镜像定位和执行步骤:

在这里插入图片描述
Image Discovery Methods

上图中的"Less Exact Methods"图块,包含其它定位镜像的探测技术机制,例如:

  • IPv4 / IPv6 本地链路邻居
  • PXE-like TFTP and HTTP waterfalls

安装器执行环节

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

以下为导出到安装程序中的信息示例,包括:

  • 安装程序URL
  • 硬件厂商标识
  • 硬件平台标识
  • 硬件序列号
  • 以太网管理口MAC地址
  • IP 地址 (由 DHCP 获取)
  • 主机名 (由 DHCP 获取)

安装程序将这些变量与其它自动化流程和编排结合在一起,立即尝试将产品序号、MAC地址和网络操作系统NOS版本对应起来。

安装程序概述

安装程序的责任是将操作系统永久的安装进硬件中。在履行这一角色时,ONIE兼容的NOS安装程序有很大的灵活性。

安装程序可做什么的一些例子:

  • 通过HTTP获取额外的二进制文件和配置文件
  • 通过HTTP与库存控制系统通信
  • 下载新的 kernel+initramfs 和 kexec(8)

网络操作系统接口

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

  • 重新安装一个不同的NOS
  • 卸载/擦除系统
  • 救援和恢复
  • 升级ONIE
  • 升级机器的CPLD/FPGAs 和 BIOS 固件

此环境构造了一个ONIE与NOS之间的接口。

升级ONIE

ONIE提供了更新自身的机制。此机制的执行过程与网络安装程序发现和执行阶段非常相似,但在本例中,镜像文件是一个ONIE更新文件。一旦定位,ONIE更新镜像被下载和执行。

固件升级

ONIE提供了更新机器固件的机制。在此情况下,固件是指诸如CPLD/FPGA代码和BIOS固件之类的软件。此机制的执行过程与更新ONIE本身非常相似,但在本例中,镜像是ONIE固件更新文件。一旦定位,将下载并执行ONIE更新镜像文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值