kakkotetsu

vQFX10000 を KVM+GNS3 で動かす (original : 2017/01/02)

この記事は某所で 2017/01/02 に書いた記事のコピーです。
そのため 2017/05/11 時点ではやや古い情報も含まれています。(以下一例)

  • Juniper さんの vQFX ダウンロード規約が変わっていそう (詳細は未確認)
  • 201705 に GNS3 ver2.0 stable が出た

.

最初に

個人メール/名義で Juniper vQFX10000 trial 版 のダウンロード権限申請をしたら、ちょっとしたメールのやりとりの後に権限を頂けました。
Juniper さんへの感謝を込めて、幾つか記事を投稿しておきます。

本項でやること

  • Juniper QFX10000 シリーズの仮想版であるところの Juniper vQFX10000 を KVM+GNS3 で動かして、簡単な L2 疎通確認をするところまで
  • 公式サイトで案内されている Installation Guide (Juniper 公式 gitbuh | Juniper/vqfx10k-vagrant) では vagrant でのインストール手順のみが公開されている(2016/12/22現在)が、OSイメージとしては vmdk 版も配布されているし(&自分のメイン環境が KVM なので)、という都合
  • KVM や GNS3 の導入手順、Junos 操作の基礎は省略 (ある程度知っている人向け)

Juniper vQFX?

  • Juniper QFX10000 シリーズの仮想版(trial)
  • 少なくとも 2016/07 時点では「github 上に Installation Guide はあがっているけれど、OSイメージは公開されていない」という状況だった
    • 2016/12現在、いつのまにか Free Trial が始まっていたことに気付いた
    • そして上記の Installation Guide が公式なものになっている
  • 例によって、ダウンロードするためには権限申請が必要
    • 今回も個人アカウントで申請したのですが Juniper の方とちょっとしたメールのやりとりで承認して頂けました。本当にありがとうございます。

環境情報

軽く

  • KVM 母艦
    • Ubuntu16.04.1-server-amd64
    • apt で降ってくる KVM と GNS3 一式
  • vQFX10000
    • PFE も RE も 2016/12/22 時点で trial ダウンロード可能な最新版
      • PFE は vqfx10k-pfe-20160609-2.vmdk
      • RE は vqfx10k-re-15.1X53-D60.vmdk
$ uname -a
Linux vkvm02 4.4.0-57-generic #78-Ubuntu SMP Fri Dec 9 23:50:32 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.1 LTS"

$ virsh -v
1.3.1

$ qemu-system-x86_64 --version
QEMU emulator version 2.5.0 (Debian 1:2.5+dfsg-5ubuntu10.6), Copyright (c) 2003-2008 Fabrice Bellard

$ gns3 --version
1.5.2

Install 手順

KVM 一式や GNS3 は以下あたりを参考に導入済みであること。(雑)

vQFX イメージファイル入手 ~ 配置 ~ format 変換

イメージファイル入手~KVM母艦に配置

  1. 前述の公式から飛べる vQFX Evaluation - Download Software
  2. 2016/12/22 現在ダウンロード可能な最新版一式(今回は Formatvmdk の 2 ファイルのみで OK)をダウンロード
    • VQFX10K PFE Disk Image
    • VQFX10K RE Disk Image
  3. KVM母艦に配置
$ md5sum vm_images/vqfx10k-pfe-20160609-2.vmdk
faa6905fd8e935c6e97859191143e8c3  vm_images/vqfx10k-pfe-20160609-2.vmdk
$ cat vm_images/vqfx10k-pfe-20160609-2_md5.txt
faa6905fd8e935c6e97859191143e8c3

$ md5sum vm_images/vqfx10k-re-15.1X53-D60.vmdk
758669e88213fbd7943f5da7f6d7bd59  vm_images/vqfx10k-re-15.1X53-D60.vmdk
$ cat vm_images/vqfx10k-re-15.1X53-D60_md5.txt
758669e88213fbd7943f5da7f6d7bd59

vmdk を qcow2 に format 変換

いつも通り

$ cd ~/vm_images/
$ mkdir qemu
$ ls -al
total 917640
drwxrwxr-x  3 kotetsu kotetsu      4096 Dec 25 11:32 .
drwxr-xr-x 12 kotetsu kotetsu      4096 Dec 25 11:08 ..
drwxrwxr-x  2 kotetsu kotetsu      4096 Dec 25 11:32 qemu
-rw-r--r--  1 kotetsu kotetsu        32 Dec 24 10:59 vqfx10k-pfe-20160609-2_md5.txt
-rw-r--r--  1 kotetsu kotetsu 584086528 Dec 24 10:42 vqfx10k-pfe-20160609-2.vmdk
-rw-r--r--  1 kotetsu kotetsu        32 Dec 24 11:00 vqfx10k-re-15.1X53-D60_md5.txt
-rw-r--r--  1 kotetsu kotetsu 355542528 Dec 24 10:50 vqfx10k-re-15.1X53-D60.vmdk

$ qemu-img convert -f vmdk -O qcow2 vqfx10k-pfe-20160609-2.vmdk qemu/vqfx10k-pfe-20160609-2.qcow2
$ qemu-img convert -f vmdk -O qcow2 vqfx10k-re-15.1X53-D60.vmdk qemu/vqfx10k-re-15.1X53-D60.qcow2

$ ls -al qemu/
total 1585044
drwxrwxr-x 2 kotetsu kotetsu       4096 Dec 25 11:37 .
drwxrwxr-x 3 kotetsu kotetsu       4096 Dec 25 11:32 ..
-rw-r--r-- 1 kotetsu kotetsu 1144782848 Dec 25 11:37 vqfx10k-pfe-20160609-2.qcow2
-rw-r--r-- 1 kotetsu kotetsu  478412800 Dec 25 11:37 vqfx10k-re-15.1X53-D60.qcow2

GNS3 上でテンプレートイメージとして登録

ここは、各人が使っている KVM 管理ソフトウェアに読み替えて下さい。 CPU/Memory の要件は、前述の Installation Guide に書いてあります。

PFE

以下でとりあえず(自分の検証用途では問題なく)動いてます。

f:id:kakkotetsu:20170511222203p:plain

RE

以下でとりあえず(自分の検証用途では問題なく)動いてます。 ここの Adapters 数は、最低 2 個必要で 4 個目からが xe-0/0/0~マッピングされます。上限数はちゃんと確認していないものの、6 個しか割り当てなくても固定で xe-0/0/11 まで見えるし、12個の筈。

f:id:kakkotetsu:20170511222238p:plain

GNS3 でテンプレートからデプロイ ~ 結線 ~ 起動

登録したテンプレートから PFE と RE を 1 セットドラッグアンドドロップでデプロイします。 一応、ついでに適当な疎通確認用のノードも 2 個くらい作っておきました。

結線時、各仮想マシンの外から見える Adapters のカウントと OS 内のインターフェース対応は以下の感じです。PFE の 2 個目と RE の 2 個目を接続しておけば、最低限 PFE を認識するところまでは動きます。

コンポーネント 外から見えるインターフェース番号(GNS3 デフォルト名) OSでの使われ方 備考
PFE 1 (Ethernet0) eth0 初期設定で DHCP になっている管理インターフェースなので、必要に応じて外界と接続
PFE 2 (Ethernet1) eth1 (169.254.0.1/24) RE との Dedicated Link
RE 1 (Ethernet0) em0 初期設定で DHCP になっている管理インターフェースなので、必要に応じて外界と接続したり固定アドレスに変更したり
RE 2 (Ethernet1) em1 (169.254.0.2/24) PFE との Dedicated Link
RE 3 (Ethernet2) 不明 使ったことないけどたぶん em2 かと
RE 4~ (Ethernet3~) xe-0/0/0~

というわけで、例えば以下の感じで。

f:id:kakkotetsu:20170511222305p:plain

絵でいうところの SW1Cloud というやつは外界 (母艦KVMlinux bridge へ)に接続して、既存環境と相互通信(管理用)させています。その辺はまあ、環境に合わせて。

余談ですが、GNS3 1.5.2 では github gns3-gui issues | QEMU link Packet Captures の通り qemu 同士の結線ではパケットキャプチャできないので、複数デプロイして RE 同士を接続する場合には、間に GNS3 の Ethernet Switch を挟んだり、vQFX 側で port mirroring したりとかの工夫をすることになるかと思います。(ということで GNS3 2.0 stable 以降を使おう!)

あとは RE と PFE を GNS3 から Start してしばらく待ちます。 RE が起動してから結構待つと、PFE と勝手に繋がって PFE が見えるようになります。気長に待ちましょう。

~$ ps aux | grep [Q]FX
root      4819 56.8  7.0 1907744 1165860 pts/10 Sl+ Dec25  63:24 /usr/bin/qemu-system-x86_64 -name vQFX_RE_15.1X53-D60-1 -m 1024M -smp cpus=1 -enable-kvm -boot order=c -drive file=/home/kotetsu/GNS3/projects/vqfx/project-files/qemu/f8b3330f-b59c-4035-970e-77368631a1f5/hda_disk.qcow2,if=ide,index=0,media=disk -serial telnet:127.0.0.1:5001,server,nowait -monitor tcp:127.0.0.1:55276,server,nowait -net none -device e1000,mac=00:86:2b:a1:f5:00,netdev=gns3-0 -netdev socket,id=gns3-0,udp=127.0.0.1:10011,localaddr=127.0.0.1:10010 -device e1000,mac=00:86:2b:a1:f5:01,netdev=gns3-1 -netdev socket,id=gns3-1,udp=127.0.0.1:10000,localaddr=127.0.0.1:10005 -device e1000,mac=00:86:2b:a1:f5:02 -device e1000,mac=00:86:2b:a1:f5:03 -device e1000,mac=00:86:2b:a1:f5:04,netdev=gns3-4 -netdev socket,id=gns3-4,udp=127.0.0.1:10004,localaddr=127.0.0.1:10003 -device e1000,mac=00:86:2b:a1:f5:05,netdev=gns3-5 -netdev socket,id=gns3-5,udp=127.0.0.1:10002,localaddr=127.0.0.1:10001 -nographic

root      4826 99.3  9.3 2468864 1533164 pts/10 Sl+ Dec25 110:45 /usr/bin/qemu-system-x86_64 -name vQFX_PFE_20160609-1 -m 1536M -smp cpus=1 -enable-kvm -boot order=c -drive file=/home/kotetsu/GNS3/projects/vqfx/project-files/qemu/21773ec6-55f8-4c3f-9cfb-fedd5f0f38da/hda_disk.qcow2,if=ide,index=0,media=disk -serial telnet:127.0.0.1:5000,server,nowait -monitor tcp:127.0.0.1:44622,server,nowait -net none -device e1000,mac=00:86:2b:38:da:00 -device e1000,mac=00:86:2b:38:da:01,netdev=gns3-1 -netdev socket,id=gns3-1,udp=127.0.0.1:10005,localaddr=127.0.0.1:10000 -nographic

Junos 側の確認

RE 確認

Juniper 公式 gitbuh | Juniper/vqfx10k-vagrant にも書いてありますが、アカウント: root パスワード: Juniper でログインしたら、いつも通り cli コマンドで JUNOS shell へ入ります。

基本情報を確認… QFX3500 とか書いてある…けど、本質ではないので無視。

{master:0}
root@vqfx-re> show chassis hardware
Hardware inventory:
Item             Version  Part number  Serial number     Description
Chassis                                84425636318       QFX3500


{master:0}
root@vqfx-re> show version
fpc0:
--------------------------------------------------------------------------
Hostname: vqfx-re
Model: vqfx-10000
Junos: 15.1X53-D60.4
JUNOS Base OS boot [15.1X53-D60.4]
JUNOS Base OS Software Suite [15.1X53-D60.4]
JUNOS Crypto Software Suite [15.1X53-D60.4]
JUNOS Online Documentation [15.1X53-D60.4]
JUNOS Kernel Software Suite [15.1X53-D60.4]
JUNOS Packet Forwarding Engine Support (qfx-10-f) [15.1X53-D60.4]
JUNOS Routing Software Suite [15.1X53-D60.4]
JUNOS Enterprise Software Suite [15.1X53-D60.4]
JUNOS Web Management [15.1X53-D60.4]
JUNOS py-base-i386 [15.1X53-D60.4]


{master:0}
root@vqfx-re> show system license
License usage: none

Licenses installed: none
root@vqfx-re:RE:0% uname -a
JUNOS vqfx-re 15.1X53-D60.4 JUNOS 15.1X53-D60.4 #0: 2016-08-26 23:07:01 UTC     builder@mayland.juniper.net:/volume/build/junos/15.1/service/15.1X53-D60.4/obj/i386/junos/bsd/kernels/JUNIPER-QFX/kernel  i386

root@vqfx-re:RE:0% python --version
Python 2.7.8

PFE とつながって、認識されたことを確認。

{master:0}
root@vqfx-re> show pfe terse
fpc0:
--------------------------------------------------------------------------
Slot Type Slot      State     Uptime
 0   FXPC Present   Online    01:23:47


{master:0}
root@vqfx-re> show chassis fpc
                     Temp  CPU Utilization (%)   CPU Utilization (%)  Memory    Utilization (%)
Slot State            (C)  Total  Interrupt      1min   5min   15min  DRAM (MB) Heap     Buffer
  0  Online           Testing  17        12        0      0      0    1024        0         66
  1  Empty
  2  Empty
  3  Empty
  4  Empty
  5  Empty
  6  Empty
  7  Empty
  8  Empty
  9  Empty


{master:0}
root@vqfx-re> show interfaces em1
Physical interface: em1    , Enabled, Physical link is Up
  Interface index: 9, SNMP ifIndex: 23
  Type: Ethernet, Link-level type: Ethernet, MTU: 1514, Speed: 1000mbps
  Device flags   : Present Running
  Interface flags: SNMP-Traps
  Link type      : Full-Duplex
  Current address: 00:86:2b:a1:f5:01, Hardware address: 00:86:2b:a1:f5:01
  Last flapped   : 2016-12-25 13:21:12 UTC (01:25:04 ago)
    Input packets : 614505
    Output packets: 957499

  Logical interface em1.0 (Index 6) (SNMP ifIndex 24)
    Flags: Up SNMP-Traps 0x4000000 Encapsulation: ENET2
    Input packets : 614547
    Output packets: 957499
    Protocol inet, MTU: 1500
      Flags: Sendbcast-pkt-to-re
      Addresses, Flags: Is-Preferred Is-Primary
        Destination: 169.254.0/24, Local: 169.254.0.2, Broadcast: 169.254.0.255


{master:0}
root@vqfx-re> show arp
MAC Address       Address         Name                      Interface               Flags
52:54:00:07:30:c0 10.0.0.65       10.0.0.65                 em0.0                   none
00:a0:de:c0:55:80 10.0.0.254      10.0.0.254                em0.0                   none
00:86:2b:38:da:01 169.254.0.1     169.254.0.1               em1.0                   none
Total entries: 3

当該 RE 仮想マシンに割り当てた Adapters は 6 個だけでしたが、固定で xe-0/0/0xe-0/0/11 まで出来てますねえ…しかも何故か全て Linkup 状態

{master:0}
root@vqfx-re> show interfaces terse
Interface               Admin Link Proto    Local                 Remote
gr-0/0/0                up    up
pfe-0/0/0               up    up
pfe-0/0/0.16383         up    up   inet
                                   inet6
pfh-0/0/0               up    up
pfh-0/0/0.16383         up    up   inet
pfh-0/0/0.16384         up    up   inet
xe-0/0/0                up    up
xe-0/0/0.0              up    up   inet
xe-0/0/1                up    up
xe-0/0/1.0              up    up   eth-switch
xe-0/0/2                up    up
xe-0/0/2.0              up    up   eth-switch
xe-0/0/3                up    up
xe-0/0/3.0              up    up   eth-switch
xe-0/0/4                up    up
xe-0/0/4.0              up    up   eth-switch
xe-0/0/5                up    up
xe-0/0/5.0              up    up   eth-switch
xe-0/0/6                up    up
xe-0/0/6.0              up    up   inet
xe-0/0/7                up    up
xe-0/0/7.0              up    up   inet
xe-0/0/8                up    up
xe-0/0/8.0              up    up   inet
xe-0/0/9                up    up
xe-0/0/9.0              up    up   inet
xe-0/0/10               up    up
xe-0/0/10.0             up    up   inet
xe-0/0/11               up    up
xe-0/0/11.0             up    up   inet
bme0                    up    up
bme0.0                  up    up   inet     128.0.0.1/2
                                            128.0.0.4/2
                                            128.0.0.16/2
                                            128.0.0.63/2
cbp0                    up    up
dsc                     up    up
em0                     up    up
em0.0                   up    up   inet     10.0.0.201/24
em1                     up    up
em1.0                   up    up   inet     169.254.0.2/24
em2                     up    up
em2.32768               up    up   inet     192.168.1.2/24
em3                     up    up
em4                     up    up
em5                     up    up
esi                     up    up
gre                     up    up
ipip                    up    up
irb                     up    up
lo0                     up    up
lo0.0                   up    up   inet
                                   inet6    fe80::286:2b0f:fca1:f500
lo0.16385               up    up   inet
lsi                     up    up
mtun                    up    up
pimd                    up    up
pime                    up    up
pip0                    up    up
tap                     up    up
vme                     up    down
vtep                    up    up

何も設定していない状況でのリソース状況とかを見ていく。

root@vqfx-re:RE:0% vmstat
 procs      memory      page                   disk   faults      cpu
 r b w     avm    fre  flt  re  pi  po  fr  sr ad0   in   sy  cs us sy id
 2 0 0 4940056 289632   79   1   6   0  84   0   0  853 2822 1917  0 29 70


root@vqfx-re:RE:0% df -h
Filesystem             Size    Used   Avail Capacity  Mounted on
/dev/ad0s1a            2.4G    405M    1.8G    18%    /
devfs                  1.0K    1.0K      0B   100%    /dev
/dev/md0                87M     87M      0B   100%    /packages/mnt/jbase
/dev/md1               527M    527M      0B   100%    /packages/mnt/jkernel-qfx-x86-32-15.1X53-D60.4
/dev/md2                31M     31M      0B   100%    /packages/mnt/jpfe-qfx-10-f-15.1X53-D60.4
/dev/md3                11M     11M      0B   100%    /packages/mnt/jdocs-dc-re-15.1X53-D60.4
/dev/md4               215M    215M      0B   100%    /packages/mnt/jroute-qfx-x86-32-15.1X53-D60.4
/dev/md5                32M     32M      0B   100%    /packages/mnt/jcrypto-dc-re-15.1X53-D60.4
/dev/md6                53M     53M      0B   100%    /packages/mnt/jswitch-qfx-x86-32-15.1X53-D60.4
/dev/md7                25M     25M      0B   100%    /packages/mnt/jweb-qfx-15.1X53-D60.4
/var/jail/etc          2.4G    405M    1.8G    18%    /packages/mnt/jweb-qfx-15.1X53-D60.4/jail/var/etc
/var/jail/run          2.4G    405M    1.8G    18%    /packages/mnt/jweb-qfx-15.1X53-D60.4/jail/var/run
/var/jail/tmp          2.4G    405M    1.8G    18%    /packages/mnt/jweb-qfx-15.1X53-D60.4/jail/var/tmp
/var/tmp               2.4G    405M    1.8G    18%    /packages/mnt/jweb-qfx-15.1X53-D60.4/jail/var/tmp/uploads
devfs                  1.0K    1.0K      0B   100%    /packages/mnt/jweb-qfx-15.1X53-D60.4/jail/dev
/var/jail/jweb-app     2.4G    405M    1.8G    18%    /packages/mnt/jweb-qfx-15.1X53-D60.4/jail/var/jweb-app
/dev/md8                12M     12M      0B   100%    /packages/mnt/py-base-i386-15.1X53-D60.4
/dev/md9               1.0G     10K    926M     0%    /tmp
procfs                 4.0K    4.0K      0B   100%    /proc
/dev/ad0s1e            604M    110K    555M     0%    /config
/var/jails/rest-api    2.4G    405M    1.8G    18%    /packages/mnt/jroute-qfx-x86-32-15.1X53-D60.4/web-api/var

start shell して top

last pid:  1882;  load averages:  0.20,  0.30,  0.31                                                                         up 0+01:17:00  14:36:02
73 processes:  1 running, 71 sleeping, 1 zombie
CPU states:  0.0% user,  0.0% nice,  4.5% system,  9.8% interrupt, 85.7% idle
Mem: 564M Active, 51M Inact, 66M Wired, 89M Cache, 69M Buf, 203M Free
Swap: 1024M Total, 1024M Free

  PID USERNAME  THR PRI NICE   SIZE    RES STATE    TIME   WCPU COMMAND
 1452 root        4  96    0   336M   231M select   7:28  3.76% olive-ultimat.elf

起動直後のところだけ dmesg を抜粋。

root@vqfx-re:RE:0% dmesg | more
Copyright (c) 1996-2016, Juniper Networks, Inc.
All rights reserved.
Copyright (c) 1992-2007 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
JUNOS 15.1X53-D60.4 #0: 2016-08-26 23:07:01 UTC
    builder@mayland.juniper.net:/volume/build/junos/15.1/service/15.1X53-D60.4/obj/i386/junos/bsd/kernels/JUNIPER-QFX/kernel
can't re-use a leaf (fe_storm_timeout)!
can't re-use a leaf (alt_break_to_debugger)!
can't re-use a leaf (break_to_debugger)!
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: QEMU Virtual CPU version 2.5+ (3096.49-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x663  Stepping = 3
  Features=0x783fbfd<FPU,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE,SSE2>
  Features2=0x80202021<SSE3,VMX,CX16,x2APIC,<b31>>
  AMD Features=0x20100800<SYSCALL,NX,LM>
  AMD Features2=0x1<LAHF>
real memory  = 1073741824 (1024 MB)
avail memory = 1017835520 (970 MB)
MPTable: <BOCHSCPU 0.1         >
Security policy loaded: Junos MAC/veriexec (mac_veriexec)
MAC/veriexec fingerprint module loaded: SHA256
MAC/veriexec fingerprint module loaded: SHA1
ioapic0: Assuming intbase of 0
ioapic0 <Version 1.1> irqs 0-23 on motherboard
ETHERNET SOCKET BRIDGE initialising
fpga driver loaded, 0 (null)
FXPCI warning: hw.pci.enable_static_config is not set.
Initializing Kernel PVIDB.
Initializing DCF X86 platform properties ..
Calling dcf_ng_hw_init for platform hw vecs initialization
    ACPI-0314: *** Error: Invalid signature where RSDP indicates RSDT/XSDT should be located
    ACPI-0325: *** Error: Looking for RSDT (RSDP->Rev < 2)
    ACPI-0181: *** Error: AcpiLoadTables: Could not load RSDT: AE_BAD_SIGNATURE
    ACPI-0213: *** Error: AcpiLoadTables: Could not load tables: AE_BAD_SIGNATURE
ACPI: table load failed: AE_BAD_SIGNATURE
cpu0 on motherboard
pcib0: <MPTable Host-PCI bridge> pcibus 0 on motherboard
pci0: <PCI bus> on pcib0
Correcting Natoma config for non-SMP
isab0: <PCI-ISA bridge> at device 1.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel PIIX3 WDMA2 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xc180-0xc18f at device 1.1 on pci0
ata0: <ATA channel 0> on atapci0
ata1: <ATA channel 1> on atapci0
smb0: <Intel 82371AB SMB controller> irq 9 at device 1.3 on pci0
pci0: <display, VGA> at device 2.0 (no driver attached)
pci0: <network, ethernet> at device 3.0 (no driver attached)
pci0: <network, ethernet> at device 4.0 (no driver attached)
pci0: <network, ethernet> at device 5.0 (no driver attached)

PFE 確認

Juniper 公式 gitbuh | Juniper/vqfx10k-vagrant にも書いてありますが、アカウント: root パスワード: no でログインできます。あまり入ることないですが。

root@localhost:~# uname -a
Linux localhost 3.10.62-ltsi-WR6.0.0.21_standard #1 SMP PREEMPT Mon Nov 30 07:26:43 PST 2015 x86_64 x86_64 x86_64 GNU/Linux


root@localhost:~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:86:2b:38:da:00 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::286:2bff:fe38:da00/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:86:2b:38:da:01 brd ff:ff:ff:ff:ff:ff
    inet 169.254.0.1/24 brd 169.254.0.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::286:2bff:fe38:da01/64 scope link
       valid_lft forever preferred_lft forever
4: sit0: <NOARP> mtu 1480 qdisc noop state DOWN
    link/sit 0.0.0.0 brd 0.0.0.0

root@localhost:~# ip route
169.254.0.0/24 dev eth1  proto kernel  scope link  src 169.254.0.1

root@localhost:~# cat /etc/network/interfaces
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)

# The loopback interface
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
address 169.254.0.1
netmask 255.255.255.0

デフォルト状態だとさほどメモリ持っていかれないようです。

root@localhost:~# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 2  0      0 367600  11748 498320    0    0    37    37 1188  445 76 24  1  0


root@localhost:~# free
             total       used       free     shared    buffers     cached
Mem:       1533320    1165648     367672          0      11708     498332
-/+ buffers/cache:     655608     877712
Swap:          972          0        972


root@localhost:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs          1.9G  837M  941M  48% /
udev            732M     0  732M   0% /dev
none            732M     0  732M   0% /dev
tmpfs           749M  240K  749M   1% /run
/dev/sda3       1.9G  837M  941M  48% /
/dev/sda5       597M   52M  502M  10% /var
tmpfs           749M  240K  749M   1% /run
tmpfs           749M     0  749M   0% /var/volatile
/dev/sda1       1.2G  210M 1004M  18% /boot
/dev/sda2       103M  1.6M   94M   2% /app_disk
tmpfs           749M  240K  749M   1% /run/named-chroot/var/run/named
tmpfs           749M  240K  749M   1% /run/named-chroot/var/run/bind
none            732M     0  732M   0% /run/named-chroot/dev/random
none            732M     0  732M   0% /run/named-chroot/dev/zero
none            732M     0  732M   0% /run/named-chroot/dev/null

簡易疎通確認

前の絵でノードを 2 個繋いでいるので、適当にその物理IFに access vlan 100 を割り当てて疎通確認しました。(雑)

{master:0}
root@vqfx-re> show ethernet-switching interface
Routing Instance Name : default-switch
Logical Interface flags (DL - disable learning, AD - packet action drop,
                         LH - MAC limit hit, DN - interface down,
                         MMAS - Mac-move action shutdown,
                         SCTL - shutdown by Storm-control )

Logical          Vlan          TAG     MAC         STP         Logical           Tagging
interface        members               limit       state       interface flags
xe-0/0/1.0                             8192                                       untagged
                 VLAN0100      100     1024        Forwarding                     untagged
Routing Instance Name : default-switch
Logical Interface flags (DL - disable learning, AD - packet action drop,
                         LH - MAC limit hit, DN - interface down,
                         MMAS - Mac-move action shutdown,
                         SCTL - shutdown by Storm-control )

Logical          Vlan          TAG     MAC         STP         Logical           Tagging
interface        members               limit       state       interface flags
xe-0/0/2.0                             8192                                       untagged
                 VLAN0100      100     1024        Forwarding                     untagged



{master:0}
root@vqfx-re> show ethernet-switching table

MAC flags (S - static MAC, D - dynamic MAC, L - locally learned, P - Persistent static, C - Control MAC
           SE - statistics enabled, NM - non configured MAC, R - remote PE MAC, O - ovsdb MAC)


Ethernet switching table : 2 entries, 2 learned
Routing instance : default-switch
    Vlan                MAC                 MAC         Age    Logical                NH        RTR
    name                address             flags              interface              Index     ID
    VLAN0100            00:86:2b:47:b6:01   D             -   xe-0/0/2.0             0         0
    VLAN0100            00:86:2b:8d:10:01   D             -   xe-0/0/1.0             0         0

おしまい

  • インストールしただけなので別に…
  • Juniper さんありがとうございます!感謝を込めて、vQFX で試した内容を追っていくつか纏めておきます。

参考書籍

Juniper QFX10000 の独自プロセッサ開発経緯や特徴・Architecture(HW/SW) の結構詳しい説明・MPLS/VXLAN+EVPNの設計ポイントなど、非常に良い本なので、こんなニッチな記事を読んでいる人におススメ!

Juniper QFX10000 Series: A Comprehensive Guide on Building Next-Generation Data Centers

Juniper QFX10000 Series: A Comprehensive Guide on Building Next-Generation Data Centers

Juniper QFX10000 Series: A Comprehensive Guide to Building Next-Generation Data Centers

Juniper QFX10000 Series: A Comprehensive Guide to Building Next-Generation Data Centers