ONIE——开放网络安装环境

时间:2024-03-16 15:12:20

近日,著名市场调研机构Gartner 发布了2018年度数据中心分析报告。有三家白盒交换机操作系统NOS软件厂商入选魔力象限。分别是Cumulus、BigSwitch和Pluribus。
ONIE——开放网络安装环境

目前,这些NOS都通过ONIE安装到的白盒交换机中。

1.ONIE发展历史

开放网络安装环境 (Open Network Install Environment ,ONIE发音为oh-nee)是一个网络操作系统安装程序。使用ONIE将网络操作系统(NOS)加载到白盒交换机交换机上。
ONIE——开放网络安装环境
ONIE由Cumulus在2013年孵化并开源。2013年5月,Cumulus的工程师在麻省理工学院举行的开放计算项目(Open Compute Project , OCP)研讨会上介绍并演示了ONIE,引发了极大的反响。在研讨会结束后,OCP孵化委员会将ONIE正式引入了开放计算网络项目。从此,能够安装不同操作系统的开放网络交换机如雨后春笋般大量出现。

本质上,ONIE是一个基于Linux的小型操作系统,可以在交换机上启动并发现本地网络上可用的安装程序映像,同时能够将合适的映像传输到交换机,然后提供一个安装环境,以便安装程序可以将网络操作系统加载到交换机。

推出支持ONIE的网络设备厂商(硬件厂商)包括Accton/Edge-Core、Agema、Alpha Networks、QCT、Inventec、Dell和Mellanox等。一些传统网络设备大厂,例如Juniper也推出了支持ONIE的交换机OCX1100。推出支持ONIE的网络操作系统的厂商(软件厂商)则更多,包括Big Switch、Cumulus、Pica8、IP Infusion、Pluribus、EstiNet、Facebook和微软等。

2.ONIE的重要意义

 它允许交换机和网络操作系统供应商专注于交换机和操作系统,而不需要在网络操作系统加载到特定交换机平台上的工作投入过多的研发资源。
 满足了部分客户的需求: 不更换交换机硬件,就能使用到其它厂家的兼容的网络操作系统。

3. 支持ONIE的交换机

一个支持ONIE的交换机由以下部分组成:

  • 支持ONIE的硬件平台
  • 支持ONIE的Linux kernel
  • 可被ONIE发现并安装的操作系统,即NOS

交换机硬件要求

由于ONIE是基于Linux的,而Linux支持各种CPU架构,所以ONIE基本上对主流的CPU架构都能够很好支持。当前的ONIE版本支持主流x86、PowerPC 32/64-bit及ARM 32/64-bit CPU架构。

PowerPC、ARM CPU架构的白盒交换机是用U-boot作为bootloader。
X86 架构的白盒交换机使用GRUB作为bootloader。

NOS对硬件的要求多一些,即必须支持各种OCP硬件规范。也就是说,只有那些满足条件的NOS才会能被ONIE安装到交换机上。

4.ONIE和NOR Flash

支持ONIE交换机一般有1个NOR Flash(闪存)芯片:

  • 这块NOR闪存容量不会很大,一般是16MB或32MB;
  • 用于存储启动交换机所需的基本软件,比如Bootloader(U-Boot或GRUB)和ONIE、环境变量等。
  • 通常情况下,这块闪存上的数据由交换机厂商写死。因为NOR闪存上的数据对交换机的正常启动非常重要,所以一般情况下不建议用户对其进行写入或更新操作。
  • 这块Nor flash有一般4个分区,各个分区的存储的数据如下(不同厂商、不同型号的交换机可能存在一定差异):
    Partition 1: U-Boot(PowerPC或ARM平台) 或GRUB(X86平台)
    Partition 2: 环境变量
    Partition 3: ONIE
    Partition 4: 未使用的空间
    ONIE——开放网络安装环境