O'Reilly logo

JUNOS Cookbook by Aviva Garrett

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

1.19. Backing Up Filesystems on M-Series and T-Series Routers

Problem

You are preparing to load a different release of the JUNOS software or reload the current release and you want to save the files that are already on the router.

Solution

On M-series and T-series routers, use the following command to back up the files in the router's filesystems:

	aviva@router1>  
request system snapshot

Discussion

Before you install any JUNOS software, either upgrading, downgrading, or reinstalling the current software version, you should always back up the files in the router's filesystem. This operation is sometimes called taking a snapshot of the software. The request system snapshot command copies the files and filesystems from the current running active partitions to standby partitions. Specifically, it copies the / (root) filesystem to /altroot, and the /config filesystem to /altconfig. You see information about the copying as the command is running:

	aviva@router1> request system snapshot
	Copying '/' to '/altroot' .. (this may take a few minutes)
	Copying '/config' to '/altconfig' .. (this may take a few minutes)
	The following filesystems were archived: / /config

You can take a snapshot of the software at any time, but you should always do so before installing a new JUNOS software version so that you can recover to a known, stable environment in case something goes wrong when you load the software. You should also always run it after you have successfully loaded a new version of the software.

Why do you need to back up the JUNOS filesystems? One seasoned administrator has said that the less you know about the JUNOS filesystems, the more sane you will be—but still, you have to know at least a little bit. Routers have two internal storage areas, the flash drive (by default, the primary boot device) and the hard disk (the secondary boot device). A copy of the JUNOS software is stored in both. The flash drive has two filesystems (or partitions): /config, which contains the active and most recent backup configurations, the rescue configuration, and software licenses, and /, which contains the JUNOS software (everything installed by the jinstall or jbundle command), the router's SSH keys, and a few other files generated from the configuration. The hard disk has one filesystem, /var, which is a large partition that contains system logfiles, diagnostic dump files, archived configuration files, and user home directories.(Also on the hard disk are the /altroot and /altconfig partitions, which contain a copy of the JUNOS software and related files and a swap partition.) When booting from the flash drive, the router uses the software and files on the flash drive. If the boot fails, it automatically tries the software and files on the hard disk. For the boot failover process to work, you must have already created a snapshot from a working version of the software.

There is one additional filesystem on the router, /tmp, which is a RAM disk (a memory filesystem).

To verify that the snapshot was successful, you might want to list the contents of the filesystems (with the file list command). However, the /altroot and /altconfig filesystems are not mounted, so they are not visible even though the underlying directories are still present:

	aviva@router1> show system storage
	Filesystem     Size       Used      Avail    Capacity    Mounted on
	/dev/ 
ad0s1a     77M        39M        32M         55%   /devfs
	                16K        16K         0B        100%   /dev/
	/dev/vn0        13M        13M         0B        100%   /packages/mnt/jbase
	/dev/vn1        37M        37M         0B        100%   /packages/mnt/jkernel-7.4R1.7
	/dev/vn2        12M        12M         0B        100%   /packages/mnt/jpfe-M40-7.4R1.7
	/dev/vn3       2.3M       2.3M         0B        100%   /packages/mnt/jdocs-7.4R1.7
	/dev/vn4        14M        14M         0B        100%   /packages/mnt/jroute-7.4R1.7
	/dev/vn5       5.1M       5.1M         0B        100%   /packages/mnt/jcrypto-7.4R1.7
	/dev/ad0s1e     12M        16K        11M          0%   /config
	procfs         4.0K       4.0K         0B        100%   /proc
	/dev/ 
ad1s1f    9.4G       1.2G       7.4G         14%   /var

How do you know from the output of this command which partition is where? /dev/ad0s1a refers to a portion of a disk. It is drive ad0 (the storage device) slice 1 (the first "slice," and there's generally just one slice), partition a (which is the first partition on a disk and always refers to the root partition). Similarly, /dev/ad1s1f refers to drive ad1, slice 1, partition f.

On most M-and T-series routers, ad0 is the flash disk. In the case of router1, an M20 router that has an RE-2.0, ad0 is the flash disk and ad1 is the hard disk:

	aviva@router1> show chassis hardware detail
	Hardware inventory:
	Item             Version      Part number   Serial number    Description
	Chassis                                     25708            M20
	Backplane        REV 03       710-002334    BB9738           M20 Backplane
	Power  
Supply A   REV 06       740-001465    005234           AC Power Supply
	Display          REV 04       710-001519    BA4681           M20 FPM Board
	Routing Engine 0 REV 06       740-003239    1000224893       RE-2.0
	Routing Engine 0                            58000007348d9a01 RE-2.0
	  ad0      91 MB  SanDisk     SDCFB-96      i3238140903      Compact Flash
	  ad1   11513 MB IBM-DARA-212000            AH0AHGN1017      Hard Disk
	Routing Engine 1 REV 06 740-003239          9000022146       RE-2.0
	Routing Engine 1                            d800000734745701 RE-2.0
	  ad0      91 MB  SanDisk SDCFB-96          ggbsc410020      Compact Flash
	  ad1    8063 MB  TOSHIBA MK2016GAP         Y0T39909T        Hard Disk

The output of this command also shows the manufacturer of the disks.

Use the show system storage command to find out the drive names:

	aviva@router1> show system storage
	Filesystem              Size        Used     Avail  Capacity    Mounted on
	/dev/ad0s1a              77M         40M       31M       56%   /
	devfs                    16K         16K        0B      100%   /dev/
	/dev/vn0                 13M         13M        0B      100%   /packages/mnt/jbase
	/dev/vn1                 37M         37M        0B      100%   /packages/mnt/jkernel-
	7.3-20050504.0
	/dev/vn2                 12M         12M        0B      100%   /packages/mnt/jpfe-M40-
	7.3-20050504.0
	/dev/vn3                2.3M        2.3M        0B      100%   /packages/mnt/jdocs-7.
	3-20050504.0
	/dev/vn4                 14M         14M        0B      100%   /packages/mnt/jroute-7.
	3-20050504.0
	/dev/vn5                5.1M        5.1M        0B      100%   /packages/mnt/jcrypto-
	7.3-20050504.0
	mfs:102                 1.5G         12K      1.4G        0%   /tmp
	/dev/ad0s1e              12M         24K       11M        0%   /config
	procfs                  4.0K        4.0K        0B      100%   /proc
	/dev/ad1s1f             9.4G        2.4G      6.2G       28%   /var

You see that /dev/ad0s1a is mounted at /, and you know that's the flash disk. /config is also on ad0 (the flash disk again) but on a different partition, and /var is on ad1 (the hard disk). The /dev/vn0 devices refer to the software installed on the router. All these partitions are stored on / (and /altroot).

The show system storage command output is cluttered and contains more information than you normally care about. You can shorten by filtering out the installed software devices:

	aviva@router1> show system storage | except /dev/vn
	Filesystem               Size         Used      Avail   Capacity    Mounted on
	/dev/ad0s1a               77M          39M        32M        55%   /
	devfs                     16K          16K         0B       100%   /dev/
	mfs:102                  1.5G         8.0K       1.4G         0%   /tmp
	/dev/ad0s1e               12M          16K        11M         0%   /config
	procfs                   4.0K         4.0K         0B       100%   /proc
	/dev/ad1s1f              9.4G        1013M       7.6G        11%   /var

or even more:

	aviva@router1> show system storage | match ad
	/dev/ad0s1a               77M          39M        32M        55%   /
	/dev/ad0s1e               12M          16K        11M         0%   /config
	/dev/ad1s1f              9.4G        1013M       7.6G        11%   /var

If the router boots from the hard disk or if you manually reboot from the hard disk (take a fresh snapshot first, though), you'll notice that ad0 is still the flash disk and ad1 is still the hard disk, but the root filesystem is now on the hard disk because you're running on alternate media:

	aviva@router1> request system reboot media disk
	aviva@router1> show system storage
	Filesystem                 Size       Used      Avail   Capacity    Mounted on
	/dev/ad1s1a                107M        37M        61M        38%   /
	.
	.
	.
	mfs:172                    1.9G       4.0K       1.8G         0%   /tmp
	/dev/ad1s1e                 12M        21K        11M         0%   /config
	procfs                     4.0K       4.0K         0B       100%   /proc
	/dev/ad1s1f                 25G       3.5G        19G        15%   /var

The request system reboot media disk command takes a fairly long time to complete, and you need to log back in to the router when it completes.

See Also

Recipe 1.20

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required