Wednesday, 19 October 2016

Understanding Junos OS with Upgraded FreeBSD

Starting with Junos OS Release 15.1, certain hardware platforms run a Junos OS based on an upgraded FreeBSD kernel instead of older versions of FreeBSD. Basing Junos OS on the newer kernel provides Junos OS with sophisticated processing, efficiency, and security features which do not then have to be reproduced in Junos OS.

Junos OS with an upgraded FreeBSD kernel provides a clean-slate implementation of Junos OS on top of a pristine (minimally modified) and current version of the FreeBSD OS.

The platforms currently running Junos OS with upgraded FreeBSD are listed in Table 1.
Table 1: Upgraded FreeBSD Kernel Support by Hardware Platform
Platforms
CPU Type
Release Introduced
MX240, MX480, MX960, MX2010, MX2020
Intel
15.1
EX9200
Intel
15.1
QFX5200
Intel
15.1X53-D30
The major processing changes are as follows:
  • Interactions between Junos OS and the upgraded FreeBSD kernel use well-established interfaces because Junos OS is now layered on a minimally modified and current version of FreeBSD.
  • Symmetric multiprocessing (SMP) is enabled by default.
  • FreeBSD provides a consistent runtime environment for all Junos OS platforms.
There are also major changes in file structures and software packages. These changes are as follows:
  • New packages use XML description files instead of scripts.
  • Hybrid packages are used to install legacy or replacement build images in the general form junos-upgrade-x.tgz, where x is a variable such as mx-x86-64-15.1-20150114 (the whole package name is junos-upgrade-mx-x86-64-15.1-20150114.tgz).
  • Multiple package sets (a collection of installed packages) are stored on the router at the same time. Sets can be either active (the currently used set), pending (the set that should be used at the next reboot), or previous (a formerly active set). Non-recovery snapshots (but not recoverable image snapshots) are available for the package sets to preserve package content lists.
There is now a separate Operations, Administration, and Maintenance (OAM) volume (oam) distinct from the Junos OS volume (junos). This provides support for downgrades from replacement build images (that is, those using the upgraded FreeBSD kernel) to the legacy Junos OS with a different kernel. The OAM volume allows you to recover the Junos OS volume using recovery snapshots.
One major change is the distinction between recovery snapshots and non-recovery snapshots.
The major characteristics of the recovery snapshots are as follows:
  • Recovery snapshots are full copies of the packages and configuration taken at the time the snapshot command is issued.
  • Recovery snapshots reside on the OAM volume or USB medium.
The major characteristics of the non-recovery snapshots are as follows:
  • Non-recovery snapshots are snapshots residing on the Junos OS volume that refer to the current running set of packages and a copy of the configuration at the time the snapshot command is issued.
  • Non-recovery snapshots do not need to copy the whole Junos OS installation and so are very fast.
  • Non-recovery snapshots can be requested as the boot image for the next reboot.
The upgraded FreeBSD kernel requires changes to several commands and statements and their related parameters. The new and changed actions are summarized in Table 2. For details on the changes, see the topics covering the specific command or statement.
Table 2: New and Changed Commands and Statements for Junos OS with Upgraded FreeBSD
Command or Statement
Release Introduced
Change
request system snapshot delete snapshot
15.1
New action
request system snapshot recovery
15.1
New action
request system snapshot load snapshot
15.1
New action
request system recover volume
15.1
New action: volume is either /junos-volume or /oam-volume
request system snapshot
15.1
Changed action
show system snapshot
15.1
Changed action
request system reboot media
15.1
Changed action with new media options
The new FreeBSD kernel also requires that several commands and statements are now deprecated. In some cases, these commands and statements generate an error, and, in other cases, the result is appropriate for the new kernel. The deprecated commands and statements are summarized in Table 3. For details, see the topics covering the specific command or statement.
Table 3: Deprecated Commands and Statements for Junos OS with Upgraded FreeBSD
Deprecated Command or Configuration Statement
Release Deprecated
Deprecated Command
request system partition abort
15.1
request system partition compact-flash
15.1
request system partition hard-disk
15.1
request system snapshot <config-partition>
15.1
request system snapshot <root-partition>
15.1
request system snapshot <slice>
15.1
request system software delete-backup
15.1
request system software rollback <force>
15.1
show system processes providers
15.1
show system snapshot <slice>
15.1
Deprecated Configuration Statement
set system mirror-flash-on-disk
15.1
loading...