Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

升级版 FreeBSD 的 Junos OS 的升级和降级

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

注意:

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

升级前,请安装 os-package

在使用升级版 FreeBSD 在不同版本的 Junos OS 之间进行升级之前,应安装作系统包软件,以帮助更顺利地进行升级。绝大多数升级问题都是由于正在执行安装的已经在运行的软件的限制造成的,而不是由于正在安装的新软件造成的。os-package 软件包含最新版本的软件包系统。软件可以安装在运行升级版 FreeBSD 版本(FreeBSD 10 或更高版本)的任何 Junos OS 上。

好处:

  • os-package 促进了 FreeBSD 的主要升级(即从版本 10 到版本 11 或从版本 11 到版本 12)。

  • os-package 的目标是向后兼容所有先前的 JUNOS BSDx 版本。

  • OS-package 与架构无关。

安装 os-package 后无需重新启动设备。只需几秒钟即可完成添加,并可立即获得计划升级的帮助。添加后,os-package 会检查 os-kernel 中是否有功能切换,这表明使用活动集中的 os-package 重新启动是安全的。如果缺少切换开关,将发出以下说明:

注意:

OS 软件包未与 Junos OS 22.2R1 及更早版本捆绑在一起。仅当设备上运行的附带 JUNOS 软件包需要更新时,才需要 os-package。您应该在每次升级之前安装最新的软件包,无论设备上以前是否安装了 os-package。即使 os-package 与 Junos OS(22.3R1 及更高版本)捆绑在一起,您也应该在升级之前获取并安装最新的 os-package,以减少出现影响升级的问题的可能性。

安装 os-package 之前:

  • 按平台确定哪些 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-package 副本,并将副本保存到设备的 /var/tmp 文件夹。
    os-package 的原始文件名类似于以下示例: os-package-20221105.013526_builder_stable_12.tgz。在此过程中,我们将使用文件名 os-package.tgz 来引用包。
  2. 安装 os-package。
    注意:

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

    当已经有一个“挂起”集时,不要添加 os-package,否则您将无法从 os-package 中获得任何好处。因此,如果在添加 os-package 后看到以下通知,则需要回滚软件:

  3. 如果由于挂起的集合而不得不在上一步中回滚软件,则需要重复步骤 1 和 2 以安装 os-package。

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

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

谨慎:

如果进行介质安装(USB 或网络),系统将被擦除并完全重新分区。开始之前,如果您有重要文件,请在升级设备之前将它们从设备复制到安全位置。

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

  1. 在 CLI 的作模式下输入request system software add package-name validate reboot命令:
    注意:

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

    • no-validate

    • validate-on-host

    • validate-on-routing-engine

    注意:

    no-copy 选项将被忽略。

    将和validatereboot选项用于request system software add命令。默认情况下,命令使用选项validate。我们建议用户在从 Junos OS 升级到 Junos OS,或从具有升级版 FreeBSD 的 Junos OS 升级到具有升级版 FreeBSD 的 Junos OS 时,使用选项进行验证validate

    如果省略了该 reboot 选项,则可以在单独的重新启动步骤中处理。

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

  2. 验证已使用升级版 FreeBSD 安装的 Junos OS
    注意:

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

  3. 如果您之前在步骤 1 中遗漏了该reboot选项,请重新启动设备以使用request system reboot命令启动新软件:
    注意:

    您必须重新启动设备才能在设备上加载新安装的带有升级版 FreeBSD 的 Junos OS 版本。

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

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

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

升级到 具有升级版 FreeBSD 的 Junos OS 版本

本主题讨论如何升级到具有升级版 FreeBSD 的 Junos OS 版本。

注意:

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

本节介绍如何从基于 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 并配备升级版 FreeBSD 的 Junos OS 时。另一种情况是,当您使用升级版的 FreeBSD 在不同版本的 Junos OS 之间进行更新时,而最新版本的 FreeBSD 使用了早期版本的 FreeBSD 中所不具备的系统调用。

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

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

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

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

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

该过程包括从基于 FreeBSD 6.1 的 Junos OS 版本升级到具有升级版 FreeBSD 的 Junos OS 版本。要确定是否在可以使用直接验证的版本之间进行升级,请参阅 升级到具有升级版 FreeBSD 的 Junos OS 版本

注意:

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

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

要确定要安装哪个软件包来升级到具有升级版 FreeBSD 的 Junos OS,您需要查阅功能浏览器和 表 1

升级(或降级)时,跳过的版本不得超过两个。这意味着您只能升级到当前版本之后的三个版本之一。如果要升级超过此版本的版本,则需要执行多次升级。

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

要确定所需的安装包和过程,请执行以下作:

  1. 请参阅 Feature Explorer 中的 Junos 内核升级到 FreeBSD 10+ 条目。

    单击链接或转至 https://apps.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 的最早版本

    升级路径

    路由和交换

    当前支持的所有路由器和交换机都运行具有升级版 FreeBSD 的 Junos OS。

    当前支持的所有路由器和交换机都运行具有升级版 FreeBSD 的 Junos OS。

    一步升级。

    要从版本 23.4R1 升级,请直接升级到版本 24.2R1 或 24.4R1。

    安全

    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 版。

    (仅限 SRX300、SRX320、SRX340、SRX345、SRX380)、23.4R2-S3 或 24.2R2

    24.4R1

    一步升级。

    有关升级说明,包括从早于 23.4R2-S3 的版本升级的说明,请参阅 KB85650

    注意:

    您也可以从具有升级版 FreeBSD 的 Junos OS 版本降级到基于 FreeBSD 6.1 的 Junos OS 版本,只要该路径符合最多跳过两个早期版本的 Junos OS 策略即可。

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

    有关列出软件包前缀的表,请参阅 Junos OS 和 Junos OS 演化版安装包名称

  4. 使用本主题中的过程继续在设备上安装软件包: 在现有 Junos OS 版本上安装具有升级版 FreeBSD 的 Junos OS

在现有 Junos OS 版本上安装具有升级版 FreeBSD 的 Junos OS

升级到具有升级版 FreeBSD 的 Junos OS 版本会重新格式化文件系统。除非您采取预防措施将重要文件保存在其他位置,否则大多数文件和目录将被删除。默认情况下,升级过程仅保留以下目录及其中的文件:

  • /config

  • /etc/localtime

  • /var/db

  • /var/etc/master.passwd

  • /var/etc/inetd.conf

  • /var/etc/pam.conf

  • /var/etc/resolv.conf

  • /var/etc/syslog.conf

  • /var/etc/localtime

  • /var/etc/exports

  • /var/etc/extensions.allow

  • /var/preserve

  • /var/tmp/baseline-config.conf

  • /var/tmp/preinstall_boot_loader.conf

注意:

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

注意:

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

  • /etc/localtime

  • /var/etc/localtime

  • /var/etc/exports

  • /var/preserve

  • /var/tmp/preinstall_boot_loader.conf

开始之前,如果目录中有未保留的重要文件,请在升级设备之前将它们从设备复制到安全位置。

谨慎:

如果进行介质安装(USB 或网络),系统将被擦除并完全重新分区。开始之前,如果您有重要文件,请在升级设备之前将它们从设备复制到安全位置。

要在普通 Junos OS 上安装具有升级版 FreeBSD 的 Junos OS 版本:

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

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

    no-validate将选项与命令一起request system software add使用。如果省略该no-validate选项,命令将默认使用该validate选项,并且对于基于旧版本的 FreeBSD 内核从 Junos OS 升级到 FreeBSD 的 Junos OS 不起作用。

    注意:

    您也可以将选项与request system software add命令一起使用reboot,但是从基于 FreeBSD 6.1 的 Junos OS 升级到具有升级版 FreeBSD 的 Junos OS 时,不建议单步执行此作。

    注意:

    要验证从 Junos OS 升级到 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命令以验证安装的软件版本。
    注意:

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

从具有升级版 FreeBSD 的 Junos OS 降级

本主题讨论从具有升级版 FreeBSD 的 Junos OS 版本降级的不同过程。

某些硬件平台运行的 Junos OS 是基于升级版的 FreeBSD 内核,而不是旧版本的 FreeBSD。要查找哪些平台支持具有升级版 FreeBSD 的 Junos OS,请参阅 功能浏览器,进入 freebsd,然后选择将 Junos 内核升级到 FreeBSD 10+

注意:

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

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

过程之间的主要区别在于是否在命令中使用validaterequest system software addno-validate 选项。如果在两个版本的旧版 Junos OS 之间降级,validate则有效。同样,如果将 FreeBSD 18.1 或更高版本的 Junos OS 降级到 17.4 或更高版本,validate也可以。但是,在一组情况下,在具有升级版 FreeBSD 的 Junos OS 之间降级时必须使用该no-validate选项,那就是从具有升级版 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 策略即可。

注意:

对于 SRX300、SRX320、SRX340、SRX345 和 SRX380 防火墙,必须先降级到 Junos OS 23.4R2-S3 或 24.2R2 版本,然后再降级到任何其他版本。此外,如果您有机箱群集,则不能使用带内群集升级 (ICU) 方法进行此特定降级。您可以使用中 KB85650 概述的程序,也可以使用 KB17947(Minimal_Downtime_Upgrade_Branch_Mid PDF 文件)中记录的最短停机时间程序。您必须使用 request system software add package-name no-validate 命令降级软件。

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

要从具有升级版 FreeBSD 的 Junos OS 降级到旧版 Junos OS:

  1. 在 CLI 的作模式下输入 request system software add package-name no-validate reboot 命令。

    将和no-validatereboot选项用于request system software add命令。如果省略该no-validate选项,则命令将默认使用该validate选项,并且对于从具有升级版 FreeBSD 的 Junos OS 降级到旧版 Junos OS 不起作用。

    如果省略了该 reboot 选项,则可以在单独的重新启动步骤中处理。

    以下示例使用选项 re0

  2. 验证软件包的降级。

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

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

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

注意:

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

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

  1. 在 CLI 的作模式下输入 request system software add package-name no-validate reboot 命令:

    将和no-validatereboot选项用于request system software add命令。如果省略该no-validate选项,则命令将默认使用该validate选项,并且对于从具有升级版 FreeBSD 17.4 或更高版本的 Junos OS 降级到具有升级版 FreeBSD 的 Junos OS 早期版本不起作用。

    如果省略了该 reboot 选项,则可以在单独的重新启动步骤中处理。

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

  2. 验证安装了具有升级版 FreeBSD 的 Junos 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. 在 CLI 的作模式下输入 request system software add package-name validate reboot 命令:

    将和validatereboot选项用于request system software add命令。默认情况下,命令使用选项validate。如果省略了该reboot选项,则可以在单独的重新启动步骤中处理。

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

  2. 验证安装了具有升级版 FreeBSD 的 Junos OS

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

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

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

注意:

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

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

  1. 在 CLI 的作模式下输入 request system software add package-name validate reboot 命令:

    将和validatereboot选项用于request system software add命令。默认情况下,命令使用选项validate。如果省略了该reboot选项,则可以在单独的重新启动步骤中处理。

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

  2. 验证安装了具有升级版 FreeBSD 的 Junos OS

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