Configure a Virtual Chassis on Juniper QFX5100-48S-6Q

Step-by-step configuration of a preprovisioned two-member Virtual Chassis on Juniper QFX5100 switches, from serial numbers and VC ports to per-member management addresses.

Contents

Configuring a Virtual Chassis (VC) in Junos can look daunting at first, but taken step by step it is straightforward. This is how I configure a two-member VC on Juniper QFX5100-48S-6Q switches.

Find the serial numbers

A preprovisioned VC is defined by the serial number of each member. Mine start with VF:

greg@SWITCH> show chassis hardware | match FPC
FPC 0            REV 20   650-064383   VF1234567890      QFX5100-48S-6Q
  CPU            BUILTIN  BUILTIN                        FPC CPU
FPC 1            REV 08   650-064383   VF1234567891      QFX5100-48S-6Q
  CPU            BUILTIN  BUILTIN                        FPC CPU

Configure the VC

set virtual-chassis preprovisioned
set virtual-chassis no-split-detection
set virtual-chassis member 0 role routing-engine
set virtual-chassis member 0 serial-number VF1234567890
set virtual-chassis member 1 role routing-engine
set virtual-chassis member 1 serial-number VF1234567891

Use no-split-detection only in a VC with exactly two members.

Form the VC

Convert the ports that connect the two switches into VC ports:

request virtual-chassis vc-port set pic-slot 0 port 48
request virtual-chassis vc-port set pic-slot 0 port 49

The PIC slot and port numbers depend on your cabling; show chassis hardware shows them. Then watch the VC form with show virtual-chassis. FPC 0 and FPC 1 (Flexible PIC Concentrators) are the two switches, PIC 0 (Physical Interface Card) is the physical card, and the port is the port number.

Check that it is healthy

{master:0}
greg@SWITCH> show virtual-chassis

Preprovisioned Virtual Chassis
Virtual Chassis ID: 221a.4b12.128b
Virtual Chassis Mode: Enabled
                                                Mstr           Mixed Route Neighbor List
Member ID  Status   Serial No    Model          prio  Role      Mode  Mode ID  Interface
0 (FPC 0)  Prsnt    VF1234567890 qfx5100-48s-6q 129   Master*      N  VC   1  vcp-255/0/48
                                                                           1  vcp-255/0/49
1 (FPC 1)  Prsnt    VF1234567891 qfx5100-48s-6q 129   Backup       N  VC   0  vcp-255/0/48
                                                                           0  vcp-255/0/49

Both members are present (Prsnt) with their serial numbers. One holds the master role (Master*) and the other is the backup.

Management addresses and commit synchronisation

Once the VC is up, I give each member its own management address on em0 and add a shared address that always follows the master. You are not supposed to log in to a member directly, so the shared address is the one to use. I also enable commit synchronisation to keep both members in sync.

set system commit synchronize
set groups member0 when member member0
set groups member0 system host-name SW1
set groups member0 interfaces em0 unit 0 family inet address 192.168.1.1/24
set groups member0 interfaces em0 unit 0 family inet address 192.168.1.3/24 master-only
set groups member1 when member member1
set groups member1 system host-name SW2
set groups member1 interfaces em0 unit 0 family inet address 192.168.1.2/24
set groups member1 interfaces em0 unit 0 family inet address 192.168.1.3/24 master-only
set apply-groups member0
set apply-groups member1

192.168.1.1 is member 0, 192.168.1.2 is member 1, and 192.168.1.3 is always the current master. Always connect through that address, unless you know what you are doing.

Join the discussion

Comments are hosted on comments.vciso.ch, a server I run myself. Nothing is loaded from it until you press the button below. Loading comments connects your browser to that server, and signing in with GitHub sets a cookie there. See the privacy page for details.

Type to search.

↑ ↓ to move, Enter to open, Esc to close