Next Generation Routing Engine Technical Introduction: JTAC White Paper Technote ID: TN303 April 2016
Next Generation Routing Engine Technical Introduction: JTAC White Paper Technote ID: TN303 April 2016
Technical Introduction
NG-RE is a new RE model sharing common infrastructure for multiple platforms such as MX
and PTX.
RE-S-X6-64G: 6-core Haswell CPU, Wellsburg PCH based routing engine with 64GB
DRAM and 2x 64GB SSD storage for MX240/MX480/MX960
REMX2K-X8-64G: 8-core Haswell CPU, Wellsburg PCH based routing engine with
64GB DRAM and 2x 64GB SSD storage for MX2020 and MX2010
The main purpose of the NG-RE is to support Enhanced Scale and Performance, Junos OS
Virtualization and Secure boot compared to current RE-1800x Routing Engine. (Note: Secure
Boot supported RE will FRS with new SKUs.)
The NG-RE has a virtualized architecture where Junos OS runs as a virtual machine over a
Linux based host (VMHost). When the system boots, Junos OS is automatically launched. At
the end of the boot, a login prompt is seen.
At the time of FRS, Junos OS will be the only VM operating in the administrative context,
although the scope is available for expansion with other VMs in the future.
Component Description
CPU 6 virtual CPUs on PTX, MX2K Series and 4 on MX; The virtual CPUs shall be tied
to cores*.
Disk qemu raw disks, one for /, and swap and one for /config and /var.
Serial Ports 4 virtual serial ports; One each for console and Aux and two for cty
Management Port One Para-virtualized 1Gb Ethernet interface(fxp0 on MX/ MX2K Series y and em0
on ptx)
Interconnection One 10Gb hardware-assisted Ethernet link to local CB switch. The CB to MPC
with MPCs link as per CB version.
Interconnection One 1Gb hardware-assisted Ethernet interface for MX(igb0); One 10Gb
with the other RE hardware-assisted Ethernet interface for MX2K Series/PTX(ixlv1 on ptx/ MX2K
Series)
The usable storage space per disk is about 50GB for a 64GB disk due to large over
provisioning done to ensure performance and reliability.
The partition sizes may vary based on storage device or software release in use.
NG-RE has two SSDs: SSD1 and SSD2. The first disk connected with channel 0 is the primary
disk. The other disk is considered as backup. There are two sets of software boot images on
the primary disk. We boot with one set, and when an upgrade is needed, it switches to use
the other set. Similarly, on rollback, we switch to the other set.
Until an upgrade/rollback is done, the BIOS is programmed to boot from the same set of the
SSD for any unplanned to planned VMhost reboot.
When a fresh installation (using USB) is done on a system, the following directories are
populated with Junos OS image on both SSDs:
Current.p
Backup.p
Backup.b
Current.b in both SSDs remain empty. Images in Backup directories are in compressed form
and is used in-case there is any Corruption in Current directory image.
All the logs and SSH keys will be preserved across software upgrades/rollbacks as long as the
NG-RE boots from any of the sets (P or B) as all the information is stored on a common
location accessible to either of the boot images.
All the contents along with partition details are erased only when an SSD is recovered using
the alternate disk or a USB.
Internal
Storage Disks
Primary Backup
The following output shows the NG-RE that was booted from the primary disk using set p:
labroot@lab2_diya1> show vmhost version
Version: set p
kernel: 3.10.79-ovp-rt74-WR6.0.0.20_preempt-rt
Version: set b
kernel: 3.10.79-ovp-rt74-WR6.0.0.20_preempt-rt
Performing the code upgrade using the following command, NG-RE will boot from the
primary disk using set b:
> request vmhost software add junos-vmhost-install-x86-64-15.1F4.14.tgz
The following output shows the NG-RE that was booted from the primary disk using set b,
which was booted using the set p prior to upgrade:
labroot@lab2_diya1> show vmhost version
Version: set p
kernel: 3.10.79-ovp-rt74-WR6.0.0.20_preempt-rt
Version: set b
kernel: 3.10.79-ovp-rt74-WR6.0.0.20_preempt-rt
The following rollback option enables the NG-RE boot using the same set used prior to the
upgrade:
> request vmhost software rollback
sh /etc/install/mk-mtre-rollback.sh jrootp_P p
The following capture shows the NG-RE boot up using set p after the rollback command was
executed and was booted using set b:
labroot@lab2_diya1> show vmhost version
Version: set p
kernel: 3.10.79-ovp-rt74-WR6.0.0.20_preempt-rt
Version: set b
kernel: 3.10.79-ovp-rt74-WR6.0.0.20_preempt-rt
The Junos VM auto recovery is enabled by default. If the Junos OS VM launch is failed from
the Current .img from the active set, then the host will try to launch the Junos OS VM from
another .img available in the backup/other set/other disk directory. If the user does not
want the host to recover the Junos OS VM automatically, then he can disable it using the
following command:
#set vmhost no-auto-recovery
The following flow-chart explains recovery attempts made if there are any corruptions in
the current boot image when the auto-recovery knob is enabled.
On MX960, MX480, MX240 and PTX5000, NG-RE will be supported from 15.1F3, 16.1R1 and
higher.
On MX2K, NG-RE will be supported from 15.1F5, 16.1R2, 16.2R1 and higher.
On MX240, 480 and 960, the NG-RE is supported only from SCBE2. The SCB is mechanically
incompatible. The SCBE will be auto powered off when installed with NG-RE.
RE+CB on MX2010 and MX2020 are single entity. So, there will not be any hardware
compatibility issue.
2.2 Software Image differentiation between current generation RE and NG-RE:
In the current generation of RE, there are two types of Junos OS available. They are 32-bit
and 64-bit versions.
For the NG-RE, only 64-bit version is available and 32-bit version of Junos OS is not
supported. There is a change in the domestic and export version naming convention for NG-
RE. There is no domestic version in NG-RE, it’s just a normal version. But the export version
will be named as “limited”.
${package-prefix}[-${media}]-${platform}-${arch}-${abi}-${release}[-${edition}].[tgz|img.gz]
Where,
${media} is present only when it’s a media image. It’s “usb” for images installed from USB
drive and “net” for images installed over network.
${arch} is x86 – if non x86 platforms are supported, then they will have a different value for
this field, such as “ppc”.
${abi} is either “32” for 32-bit images or “64” for 64-bit images.
${edition} is an empty string “” for “domestic” images. For “export” (WW) images,
${edition} will be “limited” (See more details on this in following slides). Other images could
have a different value in this field.
Note: As of now PTX images are valid for PTX5K platform only.
On MX-series platforms:
3. Upgrade/Downgrade Procedures:
When the node upgrade happens via VMHost package and it is a full upgrade, by way of
build components will be compatible with each other. However, a subcomponent/package
upgrade subsequently e.g. in image Junos upgrade, it is important to check the installed
base version and ensure the compatibility. For this, each relevant sub-package has the logic
to fetch VMHost version and compare it with the supported version as specified during the
build. A suitable warning is thrown and install is aborted if a version compatibility mismatch
is found. Only a major version number is used for compatibility checking.
Regular Field upgrade/downgrade run time install The Junos VM will do the dependency
package check to identify which all contents need
to be upgraded/downgraded to ensure
compatibility
A fresh install scenario is one in which installation doesn’t depend on the presence or absence
of valid installation on the SSD. This procedure can be used for a fresh installation as well as
for recovery from a corruption. A fresh installation can be done using the install media
package that will install the host Operating System, tools and the Junos VMs using NET boot
or USB disk.
A fresh install will prompt for install continuation before modifying internal boot media. This
is to avoid unintentional formatting of the boot media. On timeout or explicit “no” by the
user, it will fall to a shell.
3.2.2 Regular Install:
A regular installation uses regular install package on the currently running Junos VM to
upgrade/downgrade relevant components.
Junos upgrade can be achieved via regular junos-install-x.tgz image upgrade as on existing
REs. This will be more common and straight forward.
Junos OS upgrade needs a regular package to be specified via the “request system software
add” command. If the host/hypervisor’s software does not meet the minimum version as
specified in the regular upgrade package, then the host upgrade would be needed as well.
A complete snapshot of the Host Image along with the Junos OS can be taken using the
following command:
If the device is booted from SSD1, on executing the above command snapshot will be
created on the SSD2 for backup purpose.
The following command output shows the RE has booted from primary disk (disk1):
The following are details of the snapshot getting created on the secondary disk (disk2):
/dev/sdb:
Issuing SECURITY_SET_PASS command, password="PaSsWoRd", user=user, mode=high
security_password="PaSsWoRd"
/dev/sdb:
Issuing SECURITY_ERASE command, password="PaSsWoRd", user=user
real 0m4.830s
user 0m0.000s
sys 0m0.001s
Information: You may need to update /etc/fstab.
*****************
LVM partition information:
JLVMROOTFS partition size : 3432 MiB (/dev/jvg_S/jlvmrootrw) (jlvmrootrw)
(jlvmrootrw)
JLVMJUNOSFS partition size : 32784 MiB (/dev/jvg_S/jlvmjunos) (jlvmjunos)
(jlvmjunos)
JLVMVMFS partition size : 6440 MiB (/dev/jvg_S/jlvmvm) (jlvmvm) (jlvmvm)
The following output shows the details of a snapshot created on the secondary disk:
Version: set p
VMHost Version: 2.932
VMHost Root: vmhost-x86_64-15.1I20160130_0011_rbu-builder
VMHost Core: vmhost-core-x86_64-15.1I20160130_0011_rbu-builder
kernel: 3.10.79-ovp-rt74-WR6.0.0.20_preempt-rt
Junos Disk: junos-install-x86-64-15.1F-20160131.0
Version: set b
VMHost Version: 2.912
VMHost Root: vmhost-x86_64-15.1I20151223_0011_rbu-builder
VMHost Core: vmhost-core-x86_64-15.1I20151223_0011_rbu-builder
kernel: 3.10.79-ovp-rt74-WR6.0.0.20_preempt-rt
Junos Disk: junos-install-x86-64-15.1-20151224_mfg_15q1_gld.1
VMHost Diag: vmhost-diag-x86_64-15.1I20151223_0011_rbu-builder
The following command can be used to boot the RE from a snapshot created on the
secondary disk (disk2).
The following command confirms that VMHost was booted from the secondary disk:
The Following alarm also indicates the RE booted from the secondary disk (disk2):
The router will be booted from the alternate set in the following conditions:
The following alarm also indicates the RE booted from the secondary set:
labroot@lab> show chassis alarms
1 alarms currently active
Alarm time Class Description
2016-02-26 02:09:19 PST Minor VMHost 0 Boot from alternate set
Note: When the device is booted from SSD2, the following must be used to take a complete
VMhost snapshot along with partition details to SSD1. This option would be used to recover
SSD1 having a corrupted image.
Note: When a regular install is attempted while the RE is booted from SSD2 (disk2), the
image upgrade is done on the SSD1, not on the other set in the same disk.
It’s always recommended to take the complete snapshot of the Host along with the Junos
OS before the upgrade.
The regular software upgrade command supports option re0 | re 1 to enable the upgrade
software on both REs. This option will be leveraged to carry out required software upgrade
on the other RE. The procedure would be the same as local RE upgrade, except the package
will be pushed from another RE.
NG-RE USB installation will install both Linux and Junos OS. This installation will erase all
files in Linux and Junos. Create back up files if needed before proceeding with installation.
NOTE: For NG-RE USB installation, you need a USB with at least 8GB.
1. Copy junos-vmhost-install-usb-x86-64-15.1-
xxxx_rainier_paradise.0.img.gz to RE.
2. Unzip the copied file in RE.
3. Write the above image to USB via the dd command
(dd if=/path/to/downloaded.img of=/dev/devicenode bs=4M)
from BSD shell prompt as root user [Device node can be identified by giving ls
/dev/da*. Mostly it is /dev/da0].
4. Insert USB on NG-RE and reboot via CLE "request vmhost reboot" or power
cycle RE.
5. Press Y to install image from USB to SSDs. After installation is completed, Press Y
again to reboot the router.
6. For any reason, if the user key is in a different character, then it will fall to shell. The
user is requested to do an exit from the shell in order for the installation to proceed.
When prompted to install, press Y to continue. Once completed, press Y again to
reboot the router.
7. After successful Junos OS boot, remove the USB from RE. Don’t remove USB in-
between, as it might corrupt file systems of USB.