使用升级版 FreeBSD 升级和降级到 Junos
您可以使用升级版的 FreeBSD 升级或降级 Junos OS。您可以从基于 FreeBSD 6.1 的 Junos OS 升级具有升级版 FreeBSD 的 Junos OS,也可以在具有升级版 FreeBSD 的 Junos OS 的不同版本之间进行升级。在使用升级版 FreeBSD 在不同版本的 Junos OS 之间进行升级之前,应安装 OS 软件包软件,以帮助升级更加顺利。
升级之前,请安装操作系统包
在使用升级版 FreeBSD 在不同版本的 Junos OS 之间进行升级之前,应安装 OS 软件包软件,以帮助升级更加顺利。绝大多数升级问题是由于执行安装的已在运行的软件中的限制或错误造成的,而不是由于正在安装的新软件造成的。操作系统软件包软件包含最新版本的软件包系统,可安装在 Junos OS 15.1 或更高版本的任何 BSDX 版本(FreeBSD 10 或更高版本)上。
好处:
-
os-package 方便了主要的 FreeBSD 升级 (即, 版本 10 到 版本 11 或版本 11 到 版本 12)。
-
操作系统包的目标是向后兼容所有以前的 BSDx JUNOS 版本。
-
操作系统包与架构无关。
安装 OS 包后,您无需重新启动设备。只需几秒钟即可添加,并可立即获得有关计划升级的帮助。添加后,操作系统包会检查操作系统内核中的功能切换,这表示使用活动集中的操作系统包重新启动是安全的。如果缺少切换开关,将发出以下警告:
WARNING: do NOT reboot with os-package in 'active' set!
操作系统软件包未与 Junos OS 22.2R1 及更早版本捆绑在一起。仅当需要更新设备上运行的随附 JUNOS 软件包以促进升级时,才需要操作系统包。每次升级之前,都必须安装最新的程序包,无论以前是否在设备上安装了操作系统程序包。即使操作系统软件包与 Junos OS(版本 22.3R1 及更高版本)捆绑在一起,您也应在升级之前获取并安装最新的操作系统软件包,以降低出现问题影响升级的可能性。
在安装操作系统包之前:
-
按平台确定哪些 Junos OS 版本具有 BSDx: 将 Junos 内核升级到 FreeBSD 10+。
-
知道您拥有的是哪个 Junos OS BSDx 版本后,请为其找到正确的操作系统软件包:
-
Junos OS 版本 18.x 及更高版本: 操作系统包。(例如。
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
如果要在 VM 主机上升级或安装 Junos OS,请参阅 安装、升级、备份和恢复 VM 主机。
从 Junos OS 15.1 版开始,某些硬件平台运行升级版的 FreeBSD 内核(FreeBSD 10.x 或更高版本),而不是 FreeBSD 6.1。本节中的信息是关于从未升级 FreeBSD 的 Junos OS(即基于 FreeBSD 6.1)升级到具有升级版 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
- 在具有升级版 FreeBSD 的 Junos OS 上安装具有升级版 FreeBSD 的 Junos OS
确定要安装的一个或多个软件包
要确定要安装哪个软件包以升级到具有升级版 FreeBSD 的 Junos OS,您需要查阅功能浏览器和 表 1。在使用 表 1 时,请注意以下事项:
升级(或降级)时最多只能跳过两个版本。这意味着您只能升级到当前版本之后的三个版本之一。如果要跨多个版本进行升级,则需要执行多个升级。
请注意, 表 1 在安全设备与路由或交换设备之间分隔了其信息。这是因为安全设备的发布顺序与路由和交换设备不同,这反过来又决定了跳过不超过两个版本的构成。路由和交换平台在每个主要版本中都发布了软件,而安全平台只有以下版本:17.4、17.3、15.1X49 和 12.3X48。因此,例如,路由器要从 12.3 版升级到支持 Junos OS 和升级版 FreeBSD(15.1 版)的第一个版本,则需要多次升级。但是,对于从 12.3 版升级到支持 Junos OS 和升级版 FreeBSD(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 会重新格式化文件系统。除非采取预防措施,否则仅保留特定的文件和目录。默认情况下,升级过程仅保留以下目录:
/配置
/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:
在具有升级版 FreeBSD 的 Junos OS 上安装具有升级版 FreeBSD 的 Junos OS
如果执行介质安装(USB 或网络),系统将被擦除并完全重新分区。在开始之前,如果您有重要文件,请在升级设备之前将它们从设备复制到安全位置。
要在具有升级版 FreeBSD 的 Junos OS 上安装具有升级版 FreeBSD 的 Junos OS,请执行以下操作:
使用升级版 FreeBSD 从 Junos OS 降级
从 Junos OS 15.1 版开始,某些硬件平台运行的 Junos OS 基于升级的 FreeBSD 内核,而不是旧版本的 FreeBSD。要查找哪些平台支持具有升级版 FreeBSD 的 Junos OS,请参阅功能浏览器,输入 ,然后选择 freebsdJunos 内核升级到 FreeBSD 10+。
本主题讨论从具有升级版 FreeBSD 的 Junos OS 版本降级的不同过程。其中一个过程介绍如何降级到旧版 Junos OS。其他过程描述如何降级到具有升级版 FreeBSD 的 Junos OS 早期版本。
过程之间的主要区别在于是否将 or no-validate
选项与命令一起使用。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 降级到 17.4 或更高版本至 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 在主路由引擎上安装旧版 Junos OS (re0
)。
要从具有升级版 FreeBSD 的 Junos OS 降级到旧版 Junos OS:
从具有升级版 FreeBSD 的 Junos OS 降级到 17.4 或更高版本至 15.1 至 17.3 版
当从具有升级版 FreeBSD 的 Junos OS 17.4 或更高版本降级到具有升级版 FreeBSD 的 Junos OS 早期版本时,此过程适用。
如果其他目录中有重要文件,请在升级路由器或交换机之前将其从路由器或交换机复制到安全位置。
要从具有升级版 FreeBSD 17.4 或更高版本的 Junos OS 降级到 15.1 至 17.3 版:
从具有升级版 FreeBSD 17.3 或更早版本的 Junos OS 降级到 15.1 至 17.2 版
从具有升级版 FreeBSD 的 Junos OS 17.3 至 15.1 版降级到具有升级版 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: