Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

通过升级版 FreeBSD 升级和降级至 Junos

您可以使用升级版 FreeBSD 来升级或降级 Junos OS。您可以基于 FreeBSD 6.1 从 Junos OS 使用升级版 FreeBSD 来升级 Junos OS,还可以在具有升级版 FreeBSD 的 Junos OS 不同版本之间升级。在具有升级版 FreeBSD 的不同版本的 Junos OS 之间进行升级之前,您应该安装 os 软件包软件,以帮助升级更顺利。

升级之前,请安装操作系统软件包

在具有升级版 FreeBSD 的不同版本的 Junos OS 之间进行升级之前,您应该安装 os 软件包软件,以帮助升级更顺利。绝大多数升级问题都是由于已经运行且正在执行安装的软件中的限制或错误,而不是由于正在安装的新软件。os 软件包软件包含最新版本的软件包系统,可安装在 Junos OS 15.1 或更高版本的任何 BSDX 版本(FreeBSD 10 或更高版本)。

好处:

  • os 软件包有利于主要 FreeBSD 升级(即版本 10 到版本 11 或版本 11 到版本 12)。

  • OS 软件包的目标是向后兼容 JUNOS 之前的所有 BSDx 版本。

  • os-package 是架构中立的。

安装 os-package 后,您不需要重新启动设备。添加后只需几秒钟,即可立即获得升级帮助。添加后,os 软件包会检查操作系统内核中是否有功能切换,这表示使用活动集中的 os 软件包重新启动是安全的。如果缺少切换开关,将发出以下警告:

注意:

OS 软件包未与 Junos OS 22.2R1 及更早版本捆绑在一起。仅在需要更新设备上运行的已发运 JUNOS 软件包以方便升级时,才需要操作系统软件包。无论之前是否在设备上安装了 os 软件包,都必须在每次升级之前安装最新软件包。即使操作系统软件包与 Junos OS 捆绑在一起(版本 22.3R1 及更高版本),也应该在升级之前获取和安装最新的操作系统软件包,以降低影响升级的问题的可能性。

安装操作系统软件包之前:

  • 按平台确定哪些 Junos OS 版本具有 BSDx: 将 Junos 内核升级到 FreeBSD 10+

  • 知道您拥有哪一个 Junos OS BSDx 版本后,请找到适合它的操作系统软件包:

    • Junos OS 18.x 及更高版本: os-package。(例如, os-package-20221105.013526_builder_stable_12.tgz

    • Junos OS 17.x 及更低版本: os-package-sha1。(例如, os-package-sha1-20221105.013526_builder_stable_12.tgz

  1. 下载设备和 Junos OS 版本的最新 OS 软件包副本,并将其保存到设备的 /var/tmp 文件夹中。
    os-package 的原始文件名类似于: os-package-20221105.013526_builder_stable_12.tgz。在将文件下载到 /var/tmp 文件夹时,您可能需要将文件重命名为更简单的文件名。
  2. 安装操作系统软件包。

    在此示例中,为下载的软件包命名为 /var/tmp/os-package.tgz。

    注意:

    它只需几秒钟即可运行,无需重新启动。

    当已有一个“待定”集时,不要添加操作系统包,否则操作系统软件包不会带来任何好处。因此,如果在添加操作系统软件包后看到以下通知,则需要回滚软件:

  3. 如果由于待定集而不得不在上一步中回滚软件,则需要重复步骤 1 和 2 才能安装操作系统软件包。

成功安装 os-软件包后,您就可以继续升级到更高版本的 Junos OS。如果系统在升级 Junos OS 之前重新启动,操作系统软件包将自行停用,您必须再次安装操作系统软件包。如果想要删除操作系统软件包,可以使用 request system software delete os-package CLI 命令。

使用升级版 FreeBSD 升级 Junos OS

注意:

如果要在虚拟机主机上升级或安装 Junos OS,请参阅 虚拟机主机的安装、升级、备份和恢复

从 Junos OS 15.1 版开始,某些硬件平台运行升级版 FreeBSD 内核(FreeBSD 10.x 或更高版本),而不是 FreeBSD 6.1。本节中的信息是关于从没有升级版 FreeBSD(即基于 FreeBSD 6.1)的 Junos OS 升级到具有升级版 FreeBSD 的 Junos OS。它不能使用 ISSU 解决升级问题。升级到具有升级版 FreeBSD 的 Junos OS 时,使用 ISSU 存在某些限制。有关使用 ISSU 的更多信息,请参阅 示例:执行统一 ISSU

升级到不同版本的 Junos OS 时,通常使用 request system software add validate 命令。该 validate 选项会根据设备的当前配置检查候选软件,以确保它们兼容。(当要添加的软件包版本不同时,验证是默认行为。)但是,在某些情况下,您无法以这种方式验证正在运行的配置。其中一种情况就是,您正通过基于 FreeBSD 6.1 从 Junos OS 升级版 FreeBSD 升级到 Junos OS。另一种情况是,当您在具有升级版 FreeBSD 的 Junos OS 不同版本之间更新时,最新版本的 FreeBSD 使用在早期版本的 FreeBSD 中不可用的系统调用。

如果要在无法使用直接验证的版本之间进行升级,则需要在升级时对 request system software add 操作模式命令指定以下其中一项:

  • 选项 no-validate — 此选项不会针对当前配置验证软件包。因此,升级系统后,当前配置可能会失败。首次升级至新版本时,选择此选项。

  • 选项 validate-on-host — 此选项通过将软件包与远程 Junos OS 主机上运行的配置进行比较来验证软件包。请务必选择已升级到新版本软件的主机。

  • 选项 validate-on-routing-engine —(对于具有冗余 RE 的系统),此选项通过将软件包与相同机箱中路由引擎上的运行配置进行比较来验证软件包。如果已将另一个路由引擎升级到更新版本,请使用此选项。

如果要在无法使用直接验证的版本之间进行升级,则另一种方法是在其他主机上进行验证。只要您可以通过 SSH 使用 NETCONF 访问它,其他主机在哪里并不重要(请参阅 为 NETCONF 会话建立 SSH 连接)。目标系统使用网络与另一个主机联系,运行验证和身份验证,然后返回结果。

以下部分包含两个过程和一个矩阵。这些过程包括 (1) 基于 FreeBSD 6.1 从 Junos OS 通过升级版 FreeBSD 升级到 Junos OS,以及 (2) 在具有升级版 FreeBSD 的 Junos OS 不同版本之间升级。要确定是否在可使用直接验证的版本之间进行升级,请参阅 使用升级版 FreeBSD 升级 Junos OS

注意:

在添加一个或多个自定义 YANG 数据模型的设备上安装软件之前,请从活动配置中备份并移除与自定义 YANG 数据模型对应的配置数据。有关更多信息,请参阅 在软件升级或降级期间管理 YANG 软件包和配置

确定要安装哪一个或多个软件包

要确定要安装哪个软件包以升级到具有升级版 FreeBSD 的 Junos OS,您需要查询功能浏览器和 表 1。在使用 表 1 时,请注意以下几点:

  • 升级(或降级)时,您只能跳过两个以上版本。这意味着,您只能升级到当前版本之后的三个版本中的一个版本。如果想要跨更多版本进行升级,则需要执行多次升级。

  • 请注意, 表 1 在安全设备与路由或交换设备之间分隔其信息。这是因为安全设备的发布顺序与路由和交换设备不同,这反过来又决定了跳过不超过两个版本会构成什么。路由和交换平台在每个主要版本中都发布了软件,但安全平台只有以下版本:17.4、17.3、15.1X49 和 12.3X48。例如,要从 12.3 版升级到支持具有升级版 FreeBSD(版本 15.1)的 Junos OS 的第一个版本,路由器需要多次升级。但是,如果安全设备要从 12.3 版升级到支持具有升级版 FreeBSD 的 Junos OS(版本 17.3)的第一个版本,则只需要升级一次。

建议使用升级版 FreeBSD 将 Junos OS 升级到 64 位映像。在早于 15.1 的 Junos OS 版本中,分区交换页会计为内存文件系统分区的一部分。使用此方法时,保留 4 GB 内存作为理论上可访问的 32 位映像的最大内存。但是,当运行具有升级版 FreeBSD 的 Junos OS 时,系统只会计算实际分区大小,这时会留下大约 3.4 GB 的可用物理地址空间或 3 GB 的可用 RAM。

要确定您需要的安装软件包和过程:

  1. 请参阅功能浏览器中的 Junos 内核升级到 FreeBSD 10+ 条目。

    单击该链接或转至 https://pathfinder.juniper.net/feature-explorer/,键入 freebsd并选择 Junos 内核升级到 FreeBSD 10+

    您将看到一个平台列表,其中运行具有升级版 FreeBSD 的 Junos OS 及其介绍的软件版本。不同的平台首先支持不同版本具有升级版 FreeBSD 的 Junos OS。使用此列表查找需要为设备安装哪个版本才能升级到具有 FreeBSD 的 Junos OS。

  2. 请参阅 表 1 ,确定要遵循的升级路径。

    • 确定设备当前正在运行哪个版本。

      首先查看版本序列,然后查看第二列,查找设备上运行的版本。

    • 确定需要安装哪个版本。

      第三列将为您提供为平台类型安装以运行具有升级版 FreeBSD 的 Junos OS 的最早版本。

    表 1:使用升级版 FreeBSD 将路径升级到 Junos OS

    发布序列

    当前路由器的 Junos OS 版本

    支持具有升级版 FreeBSD 的 Junos OS 的早期版本

    升级路径

    例子

    路由和交换

    早于 12.3 版

    15.1

    分多个步骤进行升级,一次升级跳过不超过两个版本。

    要从 12.1 版升级,请首先升级到 13.1 版,然后升级到 14.1 版,然后从该版本升级到 15.1 版或 16.1 版。

    12.3 到 13.2

    15.1

    分两步升级。

    要从 12.3 版升级,请首先升级到 13.3 版,然后升级到 15.1 版。

    要从 13.2 版升级,请首先升级到 14.2 版,然后升级到 15.1 版。

    13.3 到 14.2

    15.1

    升级只需一步。

    要从 13.3 版升级,请直接升级到 15.1 版。

    要从 14.2 版升级,请直接升级到 15.1 版或 16.1 版。

    安全

    12.3 到 17.2

    17.3

    升级只需一步。

    要从 12.3X48 版升级,请直接升级到 17.3 版。

    15.1 到 17.2

    17.3

    升级只需一步。

    要从版本 15.1X49 升级,请直接升级到 17.3 版。

    15.1 到 17.3

    17.4

    升级只需一步。

    要从版本 15.1x49-D80 升级,请直接升级到 17.4 版。

    注意:

    您还可以通过升级版 FreeBSD 从 Junos OS 版本降级为基于 FreeBSD 6.1 的 Junos OS,前提是该路径符合 Junos OS 最多在两个早期版本跳过的策略。

  3. 下载具有升级版 FreeBSD 软件包的 Junos OS。

    有关列出软件包前缀的表格,请参阅 Junos OS 和 Junos OS 演化安装包名称。有关软件包名称的更多信息,请参阅 具有升级版 FreeBSD 的 Junos OS 的包名称更改

  4. 使用以下过程之一继续在设备上安装软件包:

通过 Junos OS 使用升级版 FreeBSD 安装 Junos OS

使用升级版 FreeBSD 升级到 Junos OS 会重新对文件系统进行格式化。除非采取预防措施,否则只会保留特定文件和目录。默认情况下,升级过程仅保留以下目录:

  • /配置

  • /等/当地时间

  • /var/db

  • /var/等/master.passwd

  • /var/等/inetd.conf

  • /var/等/pam.conf

  • /var/等/解析.conf

  • /var/等/syslog.conf

  • /var/等/本地时间

  • /var/等/导出

  • /var/等/扩展.allow

  • /var/保留

  • /var/tmp/baseline-config.conf

  • /var/tmp/preinstall_boot_loader.conf

注意:

/var/db/config 中,最多会保存 10 个回滚配置,具体取决于配置文件的大小。

注意:

在 EX2300 和 EX3400 交换机上,以下目录不适用:

  • /等/当地时间

  • /var/等/本地时间

  • /var/等/导出

  • /var/保留

  • /var/tmp/preinstall_boot_loader.conf

开始之前,如果其他目录中的重要文件未保留,请先将其从路由器或交换机复制到安全位置,然后再升级路由器或交换机。

谨慎:

如果安装介质(USB 或网络),系统将彻底擦除并重新分区。开始之前,如果有重要文件,请先从设备复制到安全位置,然后再升级设备。

要通过普通 Junos OS 安装具有升级版 FreeBSD 的 Junos OS:

  1. request system software add install-package-name.tgz no-validate CLI 中从操作模式输入命令:
    注意:

    默认情况下,选项 no-copy 处于启用状态。

    no-validate 选项与命令一 request system software add 起使用。如果省掉选项 no-validate ,则命令将默认使用 validate 选项,并且对运行的配置进行直接验证不适用于从 Junos OS 升级版 FreeBSD(基于旧版 FreeBSD 内核)升级到 Junos OS。

    注意:

    您也可以将 reboot 选项与命令一起 request system software add 使用,但建议不要在从基于 FreeBSD 6.1 的 Junos OS 升级到具有升级版 FreeBSD 的 Junos OS 时一次性完成。

    注意:

    要验证通过 Junos OS 升级版 FreeBSD 的 Junos OS 的当前配置,请使用 请求系统软件验证(具有升级版 FreeBSD 的 Junos OS) 命令。

    设备上已安装新的 Junos OS 映像。

  2. 重新启动设备,使用 request system reboot 命令启动新软件:
    注意:

    您必须重新启动设备,才能在设备上加载新安装的 Junos OS 版本。

    要终止安装,请勿重新启动设备。而是完成安装,然后发出 request  system software delete install-package-name.tgz 命令。这是您停止安装的最后机会(不适用于 EX2300 和 EX3400 平台)。

    重新启动系统时,软件将加载。安装可能需要 5 到 10 分钟。然后,设备将从刚刚安装软件的启动设备重新启动。重新启动完成后,设备将显示登录提示。

    升级软件时,用于安装路由的路由引擎不会路由流量。

  3. 登录并发出 show version 命令以验证已安装的软件版本。
    注意:

    输出显示设备上安装的 OS 内核、OS 运行时和其他软件包。

通过 Junos OS 使用不同版本的升级版 FreeBSD,通过 Junos OS 安装具有升级版 FreeBSD 的 Junos OS

谨慎:

如果安装介质(USB 或网络),系统将彻底擦除并重新分区。开始之前,如果有重要文件,请先从设备复制到安全位置,然后再升级设备。

要通过不同版本的升级版 FreeBSD 通过 Junos OS 安装具有升级版 FreeBSD 的 Junos OS:

  1. request system software add package-name validate reboot CLI 中从操作模式输入命令:
    注意:

    由于 Junos OS 21.2R1 版本在 FreeBSD 12 上运行,其使用在 FreeBSD 10 或 11 上不可用的系统调用,因此安装软件包时必须包含以下选项之一,而不是 validate 命令 request system software add 上的选项:

    • no-validate

    • validate-on-host

    • validate-on-routing-engine

    注意:

    默认情况下,选项 no-copy 处于启用状态。

    validate and reboot 选项与命令一起 request system software add 使用。默认情况下, validate 命令使用选项。我们鼓励用户从 Junos OS 升级到 Junos OS 或从具有升级版 FreeBSD 的 Junos OS 升级到具有升级版 FreeBSD 的 Junos OS 时,使用 validate 选项进行验证。

    如果不考虑该 reboot 选项,则可以在单独的重新启动步骤中完成这一操作。

    设备上已安装新的 Junos OS 映像。

  2. 验证是否安装了升级版 FreeBSD 的 Junos OS。
    注意:

    输出显示设备上安装的 OS 内核、OS 运行时和其他软件包。

通过升级版 FreeBSD 从 Junos OS 降级

从 Junos OS 15.1 版开始,某些硬件平台基于升级版 FreeBSD 内核(而非旧版本的 FreeBSD)运行 Junos OS。要查找哪些平台支持具有升级版 FreeBSD 的 Junos OS,请参阅 功能浏览器,输入 freebsd并选择 将 Junos 内核升级到 FreeBSD 10+

本主题讨论从具有升级版 FreeBSD 的 Junos OS 版本降级的不同过程。其中一个过程介绍如何降级为旧有 Junos OS。其他过程介绍如何降级为具有升级版 FreeBSD 的 Junos OS 早期版本。

过程之间的主要区别在于是否对命令使用 validateno-validate 选项 request system software add 。如果您在旧有 Junos OS 的两个版本之间降级,就 validate 行了。同样,如果您从升级版 FreeBSD 18.1 或更高版本的 Junos OS 降级到 17.4 或更高版本, validate 则效果很好。但是, no-validate 在具有升级版 FreeBSD 的 Junos OS 之间降级时,必须使用选项,也就是说,从具有 FreeBSD 17.4 或更高版本的 Junos OS 降级到 17.4 以上的版本时,即 Junos OS 15.1 版到 17.3 版。

选择并执行符合您的环境条件的过程。

从升级版 FreeBSD 的 Junos OS 降级为传统 Junos OS

如果您之前使用升级版 FreeBSD 升级到 Junos OS,只要降级符合最多两个早期版本的 Junos OS,就可以降级到早期版本的 Junos OS(即旧有 Junos OS)。

此示例使用软件包 /var/tmp/jinstall-13.3R2.7-domestic-signed.tgz 在主路由引擎 (re0) 上安装旧有 Junos OS。

要从已升级 FreeBSD 的 Junos OS 降级为传统 Junos OS:

  1. request system software add package-name no-validate reboot CLI 中从操作模式输入命令。

    no-validate and reboot 选项与命令一起 request system software add 使用。如果省掉该 no-validate 选项,则命令会默认使用该 validate 选项,并且对运行的配置进行直接验证不适用于从具有升级版 FreeBSD 的 Junos OS 降级为旧版 Junos OS。

    如果不考虑该 reboot 选项,则可以在单独的重新启动步骤中完成这一操作。

    以下示例使用 re0 选项:

  2. 验证软件包的降级。

    输出显示设备上安装的 OS 内核、OS 运行时和其他软件包。

从升级版 FreeBSD 17.4 或更高版本的 Junos OS 降级到 15.1 至 17.3 版

从具有升级版 FreeBSD 17.4 或更高版本的 Junos OS 降级到具有升级版 FreeBSD 的 Junos OS 早期版本时,此过程适用。

注意:

如果其他目录中有重要文件,请将其从路由器或交换机复制到安全位置,然后再升级路由器或交换机。

要从升级版 FreeBSD 17.4 或更高版本的 Junos OS 降级到 15.1 到 17.3 版:

  1. request system software add package-name no-validate reboot CLI 中从操作模式输入命令:

    no-validate and reboot 选项与命令一起 request system software add 使用。如果省掉选项 no-validate ,则命令将默认使用 validate 选项,则对运行的配置进行直接验证不适用于从具有升级版 FreeBSD 17.4 或更高版本的 Junos OS 降级为具有升级版 FreeBSD 的 Junos OS 早期版本。

    如果不考虑该 reboot 选项,则可以在单独的重新启动步骤中完成这一操作。

    设备上已安装新的 Junos OS 映像。

  2. 验证是否安装了升级版 FreeBSD 的 Junos OS:

    输出显示设备上安装的 OS 内核、OS 运行时和其他软件包。

从升级版 FreeBSD 17.3 或更低版本的 Junos OS 降级到 15.1 至 17.2 版

从具有升级版 FreeBSD 17.3 到 15.1 的 Junos OS 降级到具有升级版 FreeBSD 的 Junos OS 早期版本时,此过程适用。

注意:

如果其他目录中有重要文件,请将其从路由器或交换机复制到安全位置,然后再升级路由器或交换机。

要从具有升级版 FreeBSD 17.3 或更低版本的 Junos OS 降级为具有升级版 FreeBSD 的 Junos OS 早期版本:

  1. request system software add package-name validate reboot CLI 中从操作模式输入命令:

    validate and reboot 选项与命令一起 request system software add 使用。默认情况下, validate 命令使用选项。如果不考虑该 reboot 选项,则可以在单独的重新启动步骤中完成这一操作。

    设备上已安装新的 Junos OS 映像。

  2. 验证是否安装了升级版 FreeBSD 的 Junos OS:

    输出显示设备上安装的 OS 内核、OS 运行时和其他软件包。

从升级版 FreeBSD 18.1 或更高版本的 Junos OS 降级到 17.4 或更高版本

从具有升级版 FreeBSD 18.1 或更高版本的 Junos OS 降级到具有升级版 FreeBSD 17.4 或更高版本的 Junos OS 时,此过程适用。

注意:

如果其他目录中有重要文件,请将其从路由器或交换机复制到安全位置,然后再升级路由器或交换机。

要从具有升级版 FreeBSD 18.1 或更高版本的 Junos OS 降级为具有升级版 FreeBSD 17.4 或更高版本的 Junos OS:

  1. request system software add package-name validate reboot CLI 中从操作模式输入命令:

    validate and reboot 选项与命令一起 request system software add 使用。默认情况下, validate 命令使用选项。如果不考虑该 reboot 选项,则可以在单独的重新启动步骤中完成这一操作。

    设备上已安装新的 Junos OS 映像。

  2. 验证是否安装了升级版 FreeBSD 的 Junos OS:

    输出显示设备上安装的 OS 内核、OS 运行时和其他软件包。