NFX350デバイスでのVNFの設定
NFX350デバイスでは、Junosコントロールプレーン(JCP)から仮想ネットワーク機能(VNF)をインスタンス化して管理できます。JCPは、サードパーティーVNFの作成と管理をサポートします。
VNFイメージの読み込み
VNFを設定するには、JCPにログインする必要があります。
user@host:~ # cli
user@host>
遠隔地からデバイスにVNFイメージをロードするには、 コマンドを使用するか file-copy
、 コマンドを使用してUSB usb-pass-through
からイメージをコピーします。
最大2つのVNFを使用している場合は、VNFイメージを/ var/public ディレクトリに保存できます。2つ以上のVNFを使用している場合は、ファイルを外部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
または、NETCONFコマンド file-put
を使用してVNFイメージをロードすることもできます。
USBからVNFイメージをコピーするには、 NFXシリーズデバイスでのUSBからのファイル転送のサポートを参照してください。
ブートストラップ設定の準備
VNF をブートストラップするには、CD-ROM、USB ストレージ デバイス、またはブートストラップ設定 ISO ファイルを含むコンフィグ ドライブを接続します。
ISOファイルの作成例については、 vSRXブートストラップISOイメージの作成の手順を参照してください。手順は、ISO ファイルの作成に使用するオペレーティング システム (Linux、Ubuntu など) によって異なる場合があります。
ブートストラップ設定ファイルには、外部コントローラからVNFにアクセスできるようにし、さらなるランタイム設定のために外部コントローラからのSSH、HTTP、またはHTTPS接続を受け入れる初期設定が含まれている必要があります。
システムはブートストラップ設定 ISO ファイルを / var/public フォルダに保存します。ファイルは、フォルダー内の使用可能な領域がファイル内のコンテンツの合計サイズの 2 倍を超える場合にのみ保存されます。フォルダ内の使用可能な領域が十分でない場合、設定をコミットするとエラー メッセージが表示されます。
システムを再起動すると、システムは新しいブートストラップ設定 ISO ファイルを生成し、VNF 上の既存の ISO ファイルを新しい 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使用のための膨大な可用性 |
カスタムモードでのVNF使用のための膨大なページの可用性 |
|
---|---|---|---|---|
フレックスモード |
パフォーマンスモード |
|||
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インターフェイスが非アクティブであっても、マッピングされた物理インターフェイスは非アクティブになりません。
-
trustモードをサポートしないソフトウェアイメージをtrustモードをサポートするイメージにアップグレードする前に、設定からすべてのVNFインターフェイスから仮想機能へのマッピングを削除することをお勧めします。
-
trustモードをサポートするソフトウェアイメージをtrustモードをサポートしないイメージにダウングレードする前に、設定からすべてのVNFインターフェイスから仮想機能へのマッピングを削除する必要があります。それ以外の場合、デバイスはダウングレード後に 健忘 状態になります。
VNF へのインターフェイスは OVS ポートであり、このマッピングは設定で定義されます。アクションをトリガーする前にマッピング ルールで複数の物理ポートを表示できる場合は、VPP 機能を構成すると、複数の冗長物理リンクを管理できます。
VNF 仮想インターフェイスと JCP 物理インターフェイス(ge-0/0/ および xe-0/0/xx)間のマッピングを設定できます。1 つの仮想インターフェイスは、1 つ以上の物理インターフェイスにマップできます。VNF 仮想インターフェイスをマッピングできる物理インターフェイスの数に制限はありません。VNF 仮想インターフェイスをすべて物理インターフェイスにマッピングすることも、複数の VNF インターフェイスを 1 つの物理インターフェイスにマッピングすることもできます。
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インターフェイスのマッピングを変更することはできません。
CLI オプションを使用して deny-forwarding
、VNF インターフェイスがトラフィックを送受信しないようにすることができます。
deny-forwarding
クロスコネクトの一部であるインターフェイスでこのオプションが有効になっている場合、クロスコネクト ステータスがダウンし、すべてのトラフィックがドロップされます。
set virtual-network-options vnf-name interface interface-name forwarding-options deny-forwarding
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
これは、ドメイン:バス:スロット:関数の値です。slot の値は、VNF インターフェイスごとに異なる必要があります。定義域、バス、および関数の値は 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の Livenesss フィールドの出力は、VNFのIPアドレスが内部管理ネットワーク上で到達可能かどうかを示します。ライブ性ブリッジのデフォルト IP アドレスは 192.0.2.1/24 です。この IP アドレスはデバイス内部にあり、VNF 管理に使用されることに注意してください。