NFX350デバイスでのVNFの設定
NFX350デバイスを使用すると、Junosコントロールプレーン(JCP)から仮想ネットワーク機能(VNF)をインスタンス化して管理できます。JCPは、サードパーティーVNFの作成と管理をサポートします。
VNF イメージの読み込み
VNFを設定するには、JCPにログインする必要があります。
user@host:~ # cliuser@host>
遠隔地からデバイスにVNFイメージを読み込むには、 file-copy コマンドを使用するか、 usb-pass-through コマンドを使用してUSBからイメージをコピーします。
最大 2 つの VNF を使用している場合は、VNF イメージを /var/public ディレクトリに保存できます。VNF を 2 つ以上使用している場合は、外部 SSD にファイルを保存します。VNFに外部SSDを使用している場合は、必ずSSDを初期化してデバイスに追加してください。詳細については、 NFX350 デバイスでのソリッド ステート ディスクの設定を参照してください。
user@host> file copy source-address /var/public
例えば:
user@host> file copy scp://192.0.2.0//tftpboot/centos.img /var/public
または、 file-put NETCONF コマンドを使用して VNF イメージをロードできます。
USBからVNFイメージをコピーするには、 NFXシリーズデバイスでのUSBからのファイル転送のサポートを参照してください。
ブートストラップ設定の準備
CD-ROM、USBストレージデバイス、またはbootstrap-config ISOファイルを含むコンフィグドライブを接続することで、VNFをブートストラップできます。
ISO ファイルの作成例については、 vSRX ブートストラップ ISO イメージの作成の手順を参照してください。手順は、ISO ファイルの作成に使用するオペレーティング システム (Linux、Ubuntu など) によって異なる場合があります。
ブートストラップ構成ファイルには、外部コントローラからVNFにアクセスできるようにし、外部コントローラからのSSH、HTTP、またはHTTPS接続を受け入れて以降のランタイム設定を行うための初期設定が含まれている必要があります。
システムは、bootstrap-config ISO ファイルを /var/public フォルダに保存します。ファイルが保存されるのは、フォルダ内の使用可能な領域が、ファイル内のコンテンツの合計サイズの 2 倍を超える場合のみです。フォルダ内の使用可能な領域が十分でない場合、設定をコミットしたときにエラーメッセージが表示されます。
システムを再起動すると、システムは新しい bootstrap-config ISO ファイルを生成し、既存の ISO ファイルを VNF 上の新しい ISO ファイルに置き換えます。
VNF への CPU の割り当て
表 1 は、NFX350 モデルの VNF に使用できる CPU を示しています。
| モデル |
VNF で使用可能な CPU |
||||
|---|---|---|---|---|---|
| スループットモード |
ハイブリッドモード |
コンピューティングモード |
カスタムモード |
||
| フレックスモード |
パフォーマンスモード |
||||
| NFX350-S1 |
0 |
8 |
10 |
11 | 6 |
| NFX350-S2 |
0 |
10 |
14 |
19 | 10 |
| NFX350-S3 |
0 |
14 |
20 |
27 | 12 |
flexおよびperfカスタムモードのリソース割り当ては、Junosのデフォルト設定で提供されるテンプレートに基づきます。
デバイスのパフォーマンス モードを変更する場合は、VNF の CPU の可用性を確認することをお勧めします。
CPU の可用性とそのステータスを確認するには、次の手順を実行します。
user@host> show system visibility cpu CPU Statistics (Time in sec) ------------------------------------------------------------------------------- CPU Id User Time System Time Idle Time Nice Time IOWait Time Intr. Service Time ------ --------- ----------- --------- --------- ----------- ------------------ 0 7762 1475 60539 0 84 0 1 191 511 70218 0 10 0 2 102 32 70841 0 12 0 3 0 0 70999 0 0 0 4 0 0 70999 0 0 0 5 0 0 70999 0 0 0 6 70949 0 50 0 0 0 7 9005 532 59602 0 0 0 8 23 7 70966 0 0 0 9 21 7 70969 0 0 0 10 20 6 70969 0 0 0 11 18 6 70970 0 0 0 CPU Usages ---------------- CPU Id CPU Usage ------ --------- 0 17.899999999999999 1 0.0 2 0.0 3 0.0 4 0.0 5 0.0 6 100.0 7 15.199999999999999 8 0.0 9 0.0 10 0.0 11 0.0 CPU Pinning Information ------------------------------------ Virtual Machine vCPU CPU --------------------------- ---- --- vjunos0 0 0 System Component CPUs ------------------------------- -------- ovs-vswitchd 0, 6
user@host> show vmhost mode Starting network management services: snmpd libvirtMib_subagent. Synchronizing UEFI key-store: Failed to get revocation list: 2 Juniper Dev keys are not revoked. Doing nothing cp: cannot stat '/var/platform/lte_vm_xml_params': No such file or directory rm: cannot remove '/lib/udev/rules.d/lte_usb.rules': No such file or directory Mode: -------- Current Mode: compute CPU Allocations: Name Configured Used ---------------------------------------------------------------------------------------------------------------------- Junos Control Plane 8 3,8 Juniper Device Manager 8 8 LTE 8 - NFV Backplane Control Path 8 8 NFV Backplane Data Path 1 1 Layer 2 Control Path - - Layer 2 Data Path - - Layer 3 Control Path 0 0 Layer 3 Data Path 2 2 CPUs available for VNFs 3,4,5,6,7,11,12,13,14,15 - CPUs turned off 9,10 - Memory Allocations: Name Configured Used ---------------------------------------------------------------------------------------------------------------------- Junos Control Plane (mB) 2048 2011 NFV Backplane 1G hugepages 4 8 NFV Backplane 2M hugepages - 0 Layer 2 1G hugepages - - Layer 2 2M hugepages - - Layer 3 1G hugepages 4 4 Layer 3 2M hugepages 5633 5377
出力メッセージの CPUs available for VNFs セクションには、VNF のオンボーディングに使用できる CPU が表示されます。
vjunos0 はシステム VNF であるため、vjunos0 の CPU 割り当てを変更することはできません。
VNF に必要な仮想 CPU の数を指定するには、次の手順を実行します。
物理 CPU 番号は、数値または数値範囲のいずれかです。デフォルトでは、VNF には物理 CPU に接続されていない仮想 CPU が 1 つ割り当てられます。
VNF の実行中に VNF の CPU 構成を変更することはできません。変更を有効にするには、VNF を再起動する必要があります。
Junos OS リリース 22.1 R1 以降では、次のコマンドを使用して、エミュレーターを特定の物理 CPU に固定できます。
user@host# set virtual-network-functions vnf-name emulator physical-cpu cpu-range
エミュレーターのピン留めに CPU 0 またはオフラインの CPU を使用することはできません。エミュレーターを特定の物理 CPU に固定しない場合、QEMU は自動的に仮想 CPU に固定します。エミュレータの固定に対する変更は、実行中のVNFでただちに反映されます。
VNF CPU のハードウェア仮想化またはハードウェア アクセラレーションを有効にするには、次の手順を実行します。
user@host# set virtual-network-functions vnf-name virtual-cpu features hardware-virtualization
VNF のメモリ割り当て
デフォルトでは、VNFには一定量のメモリが割り当てられます。 表 2 は、NFX350 モデルの VNF 使用で使用可能なメモリを示しています。
| モデル |
使用可能な合計メモリ |
コンピューティングモード、ハイブリッドモード、スループットモードでのVNF利用に関するHugepagesの可用性 |
カスタムモードでのVNF使用のためのHugepagesの可用性 |
|
|---|---|---|---|---|
| フレックスモード |
パフォーマンスモード |
|||
| NFX350-S1 |
32GB |
7 1Gの巨大ページ |
24 1Gの巨大なページ |
22 1Gの巨大ページ |
| NFX350-S2 |
64GB |
23 1Gの巨大なページ |
50 1Gの巨大なページ |
49 1Gの巨大なページ |
| NFX350-S3 |
128GB |
62 1Gの巨大なページ |
110 1Gの巨大なページ |
108 1Gの巨大なページ |
flexおよびperfカスタムモードのリソース割り当ては、Junosのデフォルト設定で提供されるテンプレートに基づきます。
使用可能なメモリを確認するには、次の手順を実行します。
user@host> show system visibility memory
Memory Information
------------------
Virtual Memory:
---------------
Total (KiB): 15914364
Used (KiB): 13179424
Available (KiB): 3087076
Free (KiB): 2734940
Percent Used : 80.6
Huge Pages:
------------
Total 1GiB Huge Pages: 7
Free 1GiB Huge Pages: 5
Configured 1GiB Huge Pages: 5
Total 2MiB Huge Pages: 1376
Free 2MiB Huge Pages: 1
Configured 2MiB Huge Pages: 0
Hugepages Usage:
----------------------------------------------------------------------------------------------------------
Name Type Used 1G Hugepages Used 2M Hugepages
--------------------------------- ---------------------------------- ------------------ ------------------
srxpfe other process 1 1375
ovs-vswitchd other process 2 0
vjunos0 はシステム VNF であるため、vjunos0 のメモリ割り当てを変更することはできません。
VNF が使用できる最大プライマリ メモリを指定するには、次の手順を実行します。
user@host# set virtual-network-functions vnf-name memory size size
VNF の実行中に VNF のメモリ構成を変更することはできません。変更を有効にするには、VNF を再起動する必要があります。
VNFのインターフェイスとVLANの設定
VNFインターフェイスを設定し、VNFインターフェイスを仮想機能にマッピングし、インターフェイスを物理NICポート、管理インターフェイス、またはVLANに接続して、VLAN IDを割り当て、トラストモードを有効にすることができます。
Junos OSリリース21.3R1、21.2R2、21.2R1、21.1R2、20.4R3より前は、SR-IOV VNFインターフェイスを設定し、VLAN IDを割り当てる手順は次のとおりです。
user@host# set virtual-network-functions vnf-name interfaces vnf-interface-name mapping interface physical-interface-name virtual-function vlan-id vlan-id
Junos OSリリース21.3R1、21.2R2、21.2R1、21.1R2、20.4R3以降、SR-IOV VNFインターフェイスの設定、VLAN IDの割り当て、トラストモードの有効化の手順は次のとおりです。
VNF インターフェイスを仮想関数にマッピングするには:
user@host# set virtual-network-functions vnf-name interfaces vnf-interface-name mapping interface physical-interface-name
SR-IOV 仮想機能を使用して VNF インターフェイスを物理 NIC ポートに接続し、VLAN ID を割り当てるには、以下を行います。
user@host# set virtual-network-functions vnf-name interfaces vnf-interface-name mapping interface virtual-function vlan-id vlan-id
vlan-id はポートの VLAN ID で、オプションの値です。
信頼モードを有効にするには:
user@host# set virtual-network-functions vnf-name interfaces vnf-interface-name mapping interface virtual-function trust
-
信頼モードは、Junos OSリリース21.3R1、21.2R2、21.2R1、21.1R2、20.4R3のNFXシリーズデバイスでサポートされています。
-
VNF SR-IOV インターフェイスで信頼モードを有効にすると、VNF インターフェイスは無作為検出モードになります。
スプーフィング チェックを無効にするには
user@host# set virtual-network-functions vnf-name interfaces interface-name mapping interface virtual-function disable-spoof-check
VNF インターフェイスを VLAN に接続するには:
-
VLANを作成します。
user@host# set vmhost vlan vlan-name
-
VNF インターフェイスを VLAN に接続します。
user@host# set virtual-network-functions vnf-name interfaces interface-name mapping vlan members list-of-vlans [mode trunk|access]
VNFインターフェイスは、1つ以上の物理インターフェイスにマッピングできます。仮想ポートピア(VPP)機能を設定することで、この機能を有効にできます。VNF の OVS インターフェイスと 1 つ以上のフロントパネルインターフェイスの間にマッピングを設定できます。マッピングされたすべての物理インターフェイスが非アクティブの場合、VNFインターフェイスは非アクティブになります。マッピングされた物理インターフェイスの少なくとも1つがアクティブであっても、VNFインターフェイスはアクティブになります。
-
VNFインターフェイスが非アクティブでも、マッピングされた物理インターフェイスは非アクティブになりません。
-
トラストモードをサポートしていないソフトウェアイメージを、トラストモードをサポートするイメージにアップグレードする前に、設定からすべてのVNFインターフェイスから仮想機能へのマッピングを削除することをお勧めします。
-
トラストモードをサポートするソフトウェアイメージを、トラストモードをサポートしないイメージにダウングレードする前に、設定からすべてのVNFインターフェイスから仮想機能へのマッピングを削除する必要があります。それ以外の場合、デバイスはダウングレード後に 記憶喪失 状態になります。
VNF へのインターフェイスは OVS ポートであり、このマッピングは構成で定義されます。アクションをトリガーする前にマッピング ルールで複数の物理ポートを表示できる場合、VPP 機能を構成することで、複数の冗長物理リンクを管理できます。
VNF仮想インターフェイスとJCP物理インターフェイス(ge-0/0/x およびxe-0/0/x)間のマッピングを設定できます。1 つの仮想インターフェイスを 1 つ以上の物理インターフェイスにマッピングできます。VNF仮想インターフェイスをマッピングできる物理インターフェイスの数に制限はありません。VNF 仮想インターフェイスをすべての物理インターフェイスにマッピングすることも、複数の VNF インターフェイスを単一の物理インターフェイスにマッピングすることもできます。
VPP を設定するには、次の手順に従います。
root@host# set virtual-network-functions vnf-name interfaces interface-name mapping peer-interfaces physical-interface-name
例えば:
root@host# set virtual-network-functions centos1 interfaces eth2 mapping peer-interfaces ge-0/0/6
ピア インターフェイスのマッピングを表示するには、 show system visibility vnf vnf-name コマンドを実行します。
-
VNF に接続されているインターフェイスは、VNF が再起動されても維持されます。
-
VNFがホットプラグをサポートしている場合は、VNFの実行中にインターフェイスを接続できます。それ以外の場合は、インターフェイスを追加してから VNF を再起動する必要があります。
-
VNF の実行中に VNF インターフェイスのマッピングを変更することはできません。
deny-forwarding CLI オプションを使用すると、VNF インターフェイスによるトラフィックの送受信を防止できます。
クロスコネクトの一部であるインターフェイスで deny-forwarding オプションが有効になっている場合、クロスコネクトステータスがダウンし、すべてのトラフィックがドロップされます。
set virtual-network-options vnf-name interface interface-name forwarding-options deny-forwarding
Junos OS リリース 24.2R1以降、[edit vmhost]階層でvirtualization-options interfaces L3-interface-name mapping peer-interfaces physical-interfaceを設定することで、レイヤー2インターフェイス(xe-0/0/xまたはge-0/0/xポート)とレイヤー3インターフェイス(ge-1/0/0からge-1/0/9)の間でマッピングまたはピアリングを設定できます。
レイヤー3インターフェイスが複数の物理インターフェイスにルーティングされている場合、 fail-on-any-peer option オプションを設定できます。マッピングされたピア物理インターフェイスに障害が発生した場合、 fail-on-any-peer option オプションを使用してレイヤー3インターフェイスをシャットダウンできます。
VPP を設定するには、次の手順に従います。
root@host# set vmhost virtualization-options interfaces L3-interface-name mapping peer-interfaces ge-0/0/5
root@host# set vmhost virtualization-options interfaces L3-interface-name mapping fail-on-any-peer
例えば:
root@host# set vmhost virtualization-options interfaces ge-1/0/3 mapping peer-interfaces physical-interface
root@host# set vmhost virtualization-options interfaces ge-1/0/3 mapping fail-on-any-peer
Junos OS リリース 24.2R1 以降では、VPP 機能の使用中に VNF インターフェイスに静的 MAC アドレスを設定できます。
VPP を使用する VNF インターフェイスで静的 MAC アドレスを設定するには、次の手順を実行します。
root@host# set virtual-network-functions vnf-name interfaces interface-name mac-address mac-address
VNFインターフェイスでMACアドレスを追加または削除するたびに、変更を有効にするためにVNFを再起動する必要があります。
VNFインターフェイスのターゲットPCIアドレスを指定するには:
user@host# set virtual-network-functions vnf-name interfaces interface-name pci-address target-pci-address
ターゲットPCIアドレスを使用して、VNF内のインターフェイスの名前を変更したり、再編成したりできます。
たとえば、LinuxベースのVNFでは、VNF内でudevルールを使用して、PCIアドレスに基づいてインターフェイスに名前を付けることができます。
-
ターゲット PCI アドレス文字列は、次の形式にする必要があります。
0000:00:<slot:>:0これは domain:bus:slot:function の値です。slot の値は、VNF インターフェイスごとに異なる必要があります。domain、bus、および function の値は 0 でなければなりません。 -
VNFの実行中に、VNFインターフェイスのターゲットPCIアドレスを変更することはできません。
VNF インターフェイスを削除するには、次の手順を実行します。
user@host# delete virtual-network-functions vnf-name interfaces interface-name user@host# commit
-
VNFインターフェイスを削除するには、VNFを停止し、インターフェイスを削除してから、VNFを再起動する必要があります。
-
仮想機能をアタッチまたはデタッチした後、変更を有効にするには、VNF を再起動する必要があります。
-
eth0 と eth1 は、内部ネットワークとアウトオブバンド管理ネットワークに接続されたデフォルトの VNF インターフェイス用に予約されています。そのため、設定可能なVNFインターフェイス名はeth2から始まります。
-
VNF内では、ゲストOSの命名規則に基づき、インターフェイス名が異なる場合があります。JCPで設定されたVNFインターフェイスは、VNF内で同じ順序で表示されない場合があります。
-
ターゲットPCIアドレスを使用して、JCPで構成されているVNFインターフェイスにマッピングする必要があり、それに応じて名前を付ける必要があります。
VNFのストレージデバイスの設定
NFX350デバイスは、VNFの次のストレージオプションをサポートします。
CD-ROM
ディスク
USB
仮想 CD を追加したり、仮想 CD のソースファイルを更新するには、次の手順に従います。
user@host# set virtual-network-functions vnf-name storage device-name type cdrom source file file-name
hdx、sdx、または vdx の形式で有効なデバイス名を指定できます(例:hdb、sdc、vdb など)。
仮想USBストレージデバイスを追加するには:
user@host# set virtual-network-functions vnf-name storage device-name type usb source file file-name
追加のハード ディスクを接続するには、次の操作を行います。
user@host# set virtual-network-functions vnf-name storage device-name type disk [bus-type virtio | ide] [file-type raw | qcow2] source file file-name
VNF から仮想 CD、USB ストレージ デバイス、ハード ディスクを削除するには、次の手順を実行します。
user@host# delete virtual-network-functions vnf-name storage device-name
VNF から CD をアタッチまたはデタッチした後、変更を有効にするには、デバイスを再起動する必要があります。デバイスがVNF内で使用中の場合、CDのデタッチ操作は失敗します。
VNFは、1つの仮想CD、1つの仮想USBストレージデバイス、複数の仮想ハードディスクをサポートします。
VNFの実行中に、CDまたはUSBストレージデバイス内のソースファイルをアップデートできます。
ソースファイルは /var/public ディレクトリに保存する必要があり、ファイルにはすべてのユーザーに対する読み取りおよび書き込み権限が必要です。
VNF のインスタンス化
VNF名を設定し、イメージのパスを指定することで、VNFをインスタンス化できます。
イメージでVNFをインスタンス化すると、デフォルトで2つのVNFインターフェイスが追加されます。これらのインターフェイスは、管理と内部ネットワークに必要です。
QCOW2、IMG、および RAW 画像タイプのみがサポートされています。
イメージを使用して VNF をインスタンス化するには、次の手順を実行します。
user@host# set virtual-network-functions vnf-name image file-path user@host# set virtual-network-functions vnf-name image image-type image-type user@host# commit
VNFを設定する際、vnf1、vnf2など、vnfn形式のVNF名を使用しないでください。このような名前を含む設定はコミットに失敗します。
(オプション)VNF の UUID を指定するには、次の手順を実行します。
user@host# set virtual-network-functions vnf-name [uuid vnf-uuid]
uuid はオプションのパラメーターです。システムによる VNF への UUID 割り当てを許可することをお勧めします。
設定を保存してコミットした後は、VNF のイメージ設定を変更することはできません。VNF のイメージを変更するには、VNF を削除してから再度 VNF を作成する必要があります。
VNFのインスタンス化を検証する
VNF が正常にインスタンス化されていることを確認するには、次の手順を実行します。
user@host> show virtual-network-functions ID Name State Liveliness -------------------------------------------------------------------------------- 1 vjunos0 Running alive 2 centos1 Running alive 3 centos2 Running alive
VNF の [Liveliness] フィールドの出力は、VNF の IP アドレスが内部管理ネットワーク経由で到達可能かどうかを示します。ライブ性ブリッジのデフォルト IP アドレスは 192.0.2.1/24 です。この IP アドレスはデバイス内部であり、VNF 管理に使用されることに注意してください。