通过升级版 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 软件包重新启动是安全的。如果缺少切换开关,将发出以下警告:
WARNING: do NOT reboot with os-package in 'active' set!
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
)
-
成功安装 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 软件包和配置。
- 确定要安装哪一个或多个软件包
- 通过 Junos OS 使用升级版 FreeBSD 安装 Junos OS
- 通过 Junos OS 使用不同版本的升级版 FreeBSD,通过 Junos OS 安装具有升级版 FreeBSD 的 Junos OS
确定要安装哪一个或多个软件包
要确定要安装哪个软件包以升级到具有升级版 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。
要确定您需要的安装软件包和过程:
请参阅功能浏览器中的 Junos 内核升级到 FreeBSD 10+ 条目。
单击该链接或转至 https://pathfinder.juniper.net/feature-explorer/,键入 freebsd并选择 Junos 内核升级到 FreeBSD 10+。
您将看到一个平台列表,其中运行具有升级版 FreeBSD 的 Junos OS 及其介绍的软件版本。不同的平台首先支持不同版本具有升级版 FreeBSD 的 Junos OS。使用此列表查找需要为设备安装哪个版本才能升级到具有 FreeBSD 的 Junos OS。
请参阅 表 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 最多在两个早期版本跳过的策略。
下载具有升级版 FreeBSD 软件包的 Junos OS。
有关列出软件包前缀的表格,请参阅 Junos OS 和 Junos OS 演化安装包名称。有关软件包名称的更多信息,请参阅 具有升级版 FreeBSD 的 Junos OS 的包名称更改。
使用以下过程之一继续在设备上安装软件包:
通过 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:
通过 Junos OS 使用不同版本的升级版 FreeBSD,通过 Junos OS 安装具有升级版 FreeBSD 的 Junos OS
如果安装介质(USB 或网络),系统将彻底擦除并重新分区。开始之前,如果有重要文件,请先从设备复制到安全位置,然后再升级设备。
要通过不同版本的升级版 FreeBSD 通过 Junos OS 安装具有升级版 FreeBSD 的 Junos 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 早期版本。
过程之间的主要区别在于是否对命令使用 validate
或 no-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 17.4 或更高版本的 Junos OS 降级到 15.1 至 17.3 版
- 从升级版 FreeBSD 17.3 或更低版本的 Junos OS 降级到 15.1 至 17.2 版
- 从升级版 FreeBSD 18.1 或更高版本的 Junos OS 降级到 17.4 或更高版本
从升级版 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:
从升级版 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 版:
从升级版 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 早期版本:
从升级版 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: