SUR CETTE PAGE
Exemple : Comment configurer la haute disponibilité SR-IOV 10 GbE sur vSRX 3.0 avec Ubuntu sur un serveur KVM
Cet exemple montre comment configurer le déploiement haute disponibilité SR-IOV 10 GbE sur des instances vSRX 3.0.
Exigences
Cet exemple utilise le matériel, les composants logiciels et les systèmes d’exploitation suivants :
Appareil
vSRX 3.0
Logiciel
Junos OS version 20.4R1
Matériel
Carte réseau : contrôleur Ethernet Intel Corporation X710/X520/82599
Pilote : i40e version : 2.1.14-k ou ixgbe version : 5.1.0-k
Processeur : Processeur Intel (R) Xeon (R) Gold 5120 @ 2,20 GHz
56 processeurs
Liste des processeurs en ligne de 0 à 55
2 threads par cœur
14 cœurs par socket
2 douilles
2 noeuds NUMA (Non-Uniform Memory Access)
Pour plus d’informations sur les cartes réseau, les hyperviseurs et les ports pris en charge par le SR-IOV, reportez-vous à la section Spécifications matérielles.
Système d'exploitation
Cartes réseau et système d’exploitation KVM |
Soutien |
---|---|
Intel 82599/X520/X540 (basé sur le pilote 82599 ixgb) |
Oui |
Intel X710/XL710/XXV710/X722 (basé sur le pilote i40e) |
Oui |
Mellanox ConnectX-4/ConnectX-4 Lx |
Non |
Ubuntu 18.04 (kernel :4.15.0 + libvirt :4.0.0) et 20.04 (kernel :5.4.0 + libvirt :6.0.0) LTS |
Oui |
Redhat 8.2 (kernel :4.18.0 + libvirt :4.5.0) |
Oui |
Les systèmes d’exploitation utilisés dans cet exemple sont les suivants :
Ubuntu 18.04.3 LTS sur un serveur KVM
Noyau : 4.15.0-64-generic
Noyau : 4.18.0-193.1.2.el8_2.x86_64
Redhat Rhel 8.2
Aperçu
Cet exemple montre comment :
Configurer le déploiement de la haute disponibilité 10 Gigabit
Construire des informations de bus VF sur les interfaces NIC et modifier le modèle XML
Configurer les instances vSRX 3.0 de base
Dans un environnement de haute disponibilité, la liaison de contrôle et les liaisons de données de structure sont des canaux de communication clés pour la stabilité du cluster de châssis. Les deux liens font partie du même pont Linux. Le système d’exploitation hôte (Ubuntu) partage l’UC allouée au plan de contrôle vSRX 3.0 pour les tâches de routine et avec l’un des threads du plan de données PFE vSRX 3.0 pour le traitement des paquets. Cette pénurie de ressources, associée à l’absence d’un VLAN ou d’une carte réseau dédiée pour la liaison de contrôle, peut contribuer à des erreurs de pulsation.
Les liaisons de structure sur SR-IOV ne sont pas prises en charge lorsque la use-actual-mac-on-physical-interfaces
commande est en cours d’utilisation.
De plus, la gestion des interruptions sur l’hôte peut également avoir un impact sur les performances. Lorsque les paquets arrivent à la carte réseau, une indication d’interruption matérielle et le cur de processeur qui dessert le plan de contrôle vSRX 3.0 doivent s’arrêter et traiter l’interruption. Un grand nombre de paquets provenant de la carte réseau peut entraîner davantage d’interruptions matérielles et moins de ressources CPU pour gérer le plan de contrôle vSRX 3.0.
Pour surmonter les contraintes de conception et la contention des ressources CPU, nous recommandons les modifications suivantes :
Allouez un processeur dédié à chaque plan de contrôle vSRX 3.0, plan de données vSRX 3.0 et système d’exploitation hôte.
Allouez la mémoire requise sur l’hôte.
Utilisez le SR-IOV pour l’interface de structure dans un déploiement à haute disponibilité.
Supprimez GRE pour la communication de liaison de contrôle et utilisez multicast dans les déploiements à haute disponibilité.
Activez l’affinité IRQ pour éviter les interruptions gérées par les processeurs pour le plan de contrôle et le plan de données vSRX 3.0.
Élargissez le descripteur de la carte réseau physique de 512 à 4 096 octets.
Nous vous recommandons de configurer tous les ports payants de vSRX 3.0 en tant que SR-IOV. De plus, sur KVM, vous pouvez configurer la haute disponibilité SR-IOV sur le port de gestion -fxp0/ le port de contrôle- em0 / le port de structure-ge-0/0/*.
La fonction de couche 2 haute disponibilité SR-IOV n’est pas prise en charge. De plus, les cartes réseau VMware et Mellanox ne prennent pas en charge la fonctionnalité de haute disponibilité SR-IOV.
La figure 1 illustre la topologie utilisée dans cet exemple.

Configuration
- Déploiement de la haute disponibilité SR-IOV
- Construire des informations de bus de fonctions virtuelles sur des cartes réseau
- Configurer vSRX 3.0
Déploiement de la haute disponibilité SR-IOV
Procédure étape par étape
Pour configurer le déploiement de haute disponibilité SR-IOV :
Activez le port SR-IOV.
#modprobe i40en max_vfs=8,8 or echo 8 > /sys/class/net/ETH-X/device/sriov_numvfs echo 8 > /sys/class/net/ETH-Y/device/sriov_numvfs
Entrez les entrées requises pour profiter des ports.
8 = means set sriov_numvfs as 8 vfs 0 = For disable SRIOV port
Effectuez les modifications suivantes dans le fichier grub par défaut disponibles à l’emplacement suivant :
GRUB_CMDLINE_LINUX_DEFAULT="default_hugepagesz=1G hugepagesz=1G hugepages=18 iommu=pt intel_iommu=on isolcpus=4-55 transparent_hugepage=never"
Exécutez la mise à niveau grub.
update-grub
Redémarrez l’hôte pour que les modifications soient prises en compte.
reboot
(Facultatif) Les cœurs 0 à 3 basculent vers le contexte d’interruption - Routine de service d’interruption (ISR) pour gérer l’interruption à venir. Les cœurs 4 à 13 du NUMA 0 sont utilisés pour les vSRX. Exécutez le script suivant :
cat irq.sh #!/bin/bash # Disable IRQ and set IRQ SMP affinity to core 0 disable_irq_balance_and_set_irq_affinity_core_0() { echo f > /proc/irq/default_smp_affinity #Disable_IRQ_Balance if [ -f /etc/init.d/irqbalance ]; then /etc/init.d/irqbalance stop fi #set_irq_affinity_core_0 #for IRQ in `seq 0 512`; for IRQDIR in `ls -d /proc/irq/*`; do if [ -d $IRQDIR ]; then echo f > $IRQDIR/smp_affinity 2>/dev/null cat $IRQDIR/smp_affinity fi done }
Augmentez la taille des tampons tx et rx à 4096 sur toutes les cartes réseau.
ethtool -G <ethx> rx 4096 ethtool -G <ethx> tx 4096
Désactivez le contrôle de flux.
ethtool -A <ethx> autoneg off rx off tx off
Vérifiez si le serveur persiste après le redémarrage.
cat /etc/rc.local #!/bin/bash echo 7 > /sys/class/net/eth0/device/sriov_numvfs echo 7 > /sys/class/net/eth1/device/sriov_numvfs echo 7 > /sys/class/net/eth2/device/sriov_numvfs echo 7 > /sys/class/net/eth3/device/sriov_numvfs /bin/irq.sh
Activez le mode d’approbation VF SR-IOV et désactivez la case d’usurpation d’identité.
# The Linux setting for SR-IOV VF Trust Mode: --ip link set dev [PF] vf [VF_index] trust off/on # The setting for SR-IOV VF spoof checking: --ip link set dev [PF] vf [VF_index] spoof checking on/off
Ou, vous pouvez également ajouter la commande ci-dessous au script rc.local :
nic=eth0;for i in $(seq 0 15);do ip link set $nic vf $i spoofchk off trust on promisc on mtu 9000;done nic=eth1;for i in $(seq 0 15);do ip link set $nic vf $i spoofchk off trust on promisc on mtu 9000;done nic=eth2;for i in $(seq 0 15);do ip link set $nic vf $i spoofchk off trust on promisc on mtu 9000;done nic=eth3;for i in $(seq 0 15);do ip link set $nic vf $i spoofchk off trust on promisc on mtu 9000;done
Construire des informations de bus de fonctions virtuelles sur des cartes réseau
Procédure étape par étape
Pour générer des informations de bus sur les VF sur les cartes réseau :
Maintenant que nous connaissons les interfaces de sauvegarde, nous devons identifier les informations de bus de tous les VF sur chaque carte réseau.
Pour les interfaces de sauvegarde dans le réseau de confiance, nous avons besoin d’informations de bus sur les trois premiers VF.
# ls -l /sys/class/net/eth0/device/virtfn* /sys/class/net/eth0/device/virtfn0 ->../0000:18:02.0 /sys/class/net/eth0/device/virtfn1 -> ../0000:18:02.1 /sys/class/net/eth0/device/virtfn2 -> ../0000:18:02.2 # ls -l /sys/class/net/eth2/device/virtfn* /sys/class/net/eth2/device/virtfn0 ->../0000:18:0a.0 /sys/class/net/eth2/device/virtfn1 -> ../0000:18:0a.1 /sys/class/net/eth2/device/virtfn2 -> ../0000:18:0a.2
Pour les interfaces de secours dans le réseau non fiable, nous avons besoin d’informations de bus sur les deux premiers VF.
# ls -l /sys/class/net/eth1/device/virtfn* /sys/class/net/eth1/device/virtfn0 ->../0000:18:06.0 /sys/class/net/eth1/device/virtfn1 -> ../0000:18:06.1 # ls -l /sys/class/net/eth1/device/virtfn* /sys/class/net/eth3/device/virtfn0 ->../0000:18:0e.0 /sys/class/net/eth3/device/virtfn1 -> ../0000:18:0e.1
Le Tableau 2 explique le mappage d’interface XML vers Junos nécessaire à la création du modèle.
Tableau 2 : mappage des interfaces XML vers Junos NIC
VF
Informations sur l’autobus
Interface
XML Position
fxp0
fxp0
1
em0
em0
2
eth0
0
0000:18:02.0
GE-0/0/0 Fab0
GE-7/0/0 Fab1
3
1
0000:18:02.1
GE-0/0/1
GE-7/0/1
4
2
0000:18:02.2
GE-0/0/5
GE-7/0/5
8
eth1
0
0000:18:06.0
GE-0/0/3
GE-7/0/3
6
eth2
0
0000 :18 :0a.0
GE-0/0/2
GE-7/0/2
5
eth3
0
0000 :18 :0e.0
GE-0/0/4
GE-7/0/4
7
La configuration XML vers Junos est séquentielle. La première interface est affectée à fxp0, la deuxième interface est affectée à em0 et la dernière interface est affectée à ge-0/0/9 comme indiqué dans le Tableau 3.
-
Élaborez le tableau 3 suivant à partir du tableau 2.
Tableau 3 : informations sur les interfaces et le bus Junos XML Position
Informations sur le BUS
Interfaces Junos
1
BR0
fxp0
2
BR1
em0
3
0000:18:02.0
GE-0/0/0
4
0000:18:02.1
GE-0/0/1
5
0000 :18 :0a.0
GE-0/0/2
6
0000:18:06.0
GE-0/0/3
7
0000 :18 :0e.0
GE-0/0/4
8
0000:18:02.2
GE-0/0/5
-
Modifiez les strophes d’interface 2,3,4,8 et 12 dans le modèle XML ci-dessous comme indiqué dans le tableau 3.
<domain type='kvm'> <name>vm-name</name> <uuid>f5679184-a066-446b-a812-4fda2e9278dd</uuid> <memory unit='KiB'>8388608</memory> <currentMemory unit='KiB'>8388608</currentMemory> <memoryBacking> <hugepages/> <locked/> </memoryBacking> <vcpu placement='static' cpuset='4-9'>6</vcpu> <cputune> <vcpupin vcpu='0' cpuset='4'/> <vcpupin vcpu='1' cpuset='5'/> <vcpupin vcpu='2' cpuset='6'/> <vcpupin vcpu='3' cpuset='7'/> <vcpupin vcpu='4' cpuset='8'/> <vcpupin vcpu='5' cpuset='9'/> </cputune> <numatune> <memory mode='strict' nodeset='0'/> </numatune> <resource> <partition>/machine</partition> </resource> <os> <type arch='x86_64' machine='pc-i440fx-xenial'>hvm</type> <boot dev='hd'/> </os> <features> <acpi/> <apic/> </features> <cpu mode='host-passthrough' check='none'> <feature policy='require' name='pbe'/> <feature policy='require' name='tm2'/> <feature policy='require' name='est'/> <feature policy='require' name='vmx'/> <feature policy='require' name='aes'/> <feature policy='require' name='osxsave'/> <feature policy='require' name='smx'/> <feature policy='require' name='ss'/> <feature policy='require' name='ds'/> <feature policy='require' name='vme'/> <feature policy='require' name='dtes64'/> <feature policy='require' name='monitor'/> <feature policy='require' name='ht'/> <feature policy='force' name='dca'/> <feature policy='require' name='pcid'/> <feature policy='require' name='tm'/> <feature policy='require' name='pdcm'/> <feature policy='require' name='pdpe1gb'/> <feature policy='require' name='ds_cpl'/> <feature policy='require' name='xtpr'/> <feature policy='require' name='acpi'/> <feature policy='disable' name='invtsc'/> </cpu> <clock offset='utc'> <timer name='rtc' tickpolicy='catchup'/> <timer name='pit' tickpolicy='delay'/> <timer name='hpet' present='no'/> </clock> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <pm> <suspend-to-mem enabled='no'/> <suspend-to-disk enabled='no'/> </pm> <devices> <emulator>/usr/bin/kvm-spice</emulator> <disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/var/lib/libvirt/images/sriovvsrx/vSRX_Image.qcow2'/> <target dev='hda' bus='ide'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> <controller type='usb' index='0' model='ich9-ehci1'> <address type='pci' domain='0x0000' bus='0x00' slot='0x0c' function='0x7'/> </controller> <controller type='usb' index='0' model='ich9-uhci1'> <master startport='0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x0c' function='0x0' multifunction='on'/> </controller> <controller type='usb' index='0' model='ich9-uhci2'> <master startport='2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x0c' function='0x1'/> </controller> <controller type='usb' index='0' model='ich9-uhci3'> <master startport='4'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x0c' function='0x2'/> </controller> <controller type='pci' index='0' model='pci-root'/> <controller type='ide' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <controller type='virtio-serial' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x0b' function='0x0'/> </controller> <interface type='bridge'> <mac address='2001:db8:00:46:05:b6'/> <source bridge='br0'/> <model type='virtio'/> <mtu size='9100'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> <driver queues='8'/> # delete from existing templates </interface> <interface type='bridge'> <mac address='2001:db8:00:5e:c9:06'/> <source bridge='br1'/> <model type='virtio'/> <mtu size='9100'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </interface> <interface type='hostdev' managed='yes'> <mac address='2001:db8:00:4e:f6:89'/> <driver name='vfio'/> <source> <address type='pci' domain='0x0000' bus='0x18' slot='0x02' function='0x0'/> </source> <vlan> <tag id='3681'/> </vlan> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> </interface> <interface type='hostdev' managed='yes'> <mac address='2001:db8:00:4e:f5:f9'/> <driver name='vfio'/> <source> <address type='pci' domain='0x0000' bus='0x18' slot='0x02' function='0x1'/> </source> <address type='pci' domain='0x0000' bus='0x18' slot='0x06' function='0x0'/> </interface> <interface type='hostdev' managed='yes'> <mac address='2001:db8:00:fa:b0:04'/> <driver name='vfio'/> <source> <address type='pci' domain='0x0000' bus='0x18' slot='0x0a' function='0x0'/> </source> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/> </interface> <interface type='hostdev' managed='yes'> <mac address='2001:db8:00:da:87:b6'/> <driver name='vfio'/> <source> <address type='pci' domain='0x0000' bus='0x18' slot='0x06' function='0x0'/> </source> <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/> </interface> <interface type='hostdev' managed='yes'> <mac address='2001:db8:00:2e:e8:88'/> <driver name='vfio'/> <source> <address type='pci' domain='0x0000' bus='0x18' slot='0x0e' function='0x0'/> </source> <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/> </interface> <interface type='hostdev' managed='yes'> <mac address='2001:db8:00:6a:3c:f2'/> <driver name='vfio'/> <source> <address type='pci' domain='0x0000' bus='0x18' slot='0x02' function='0x2'/> </source> <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/> <serial type='tcp'> <source mode='bind' host='192.0.2.1' service='8636' tls='no'/> <protocol type='telnet'/> <target type='isa-serial' port='0'> <model name='isa-serial'/> </target> </serial> <console type='tcp'> <source mode='bind' host='192.0.2.1' service='8636' tls='no'/> <protocol type='telnet'/> <target type='serial' port='0'/> </console> <channel type='spicevmc'> <target type='virtio' name='com.redhat.spice.0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> <input type='mouse' bus='ps2'/> <input type='keyboard' bus='ps2'/> <graphics type='spice' autoport='yes' listen='192.0.2.1'> <listen type='address' address='192.0.2.1'/> <image compression='off'/> </graphics> <sound model='ich6'> <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/> </sound> <video> <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </video> <redirdev bus='usb' type='spicevmc'> <address type='usb' bus='0' port='1'/> </redirdev> <redirdev bus='usb' type='spicevmc'> <address type='usb' bus='0' port='2'/> </redirdev> <memballoon model='virtio'> <address type='pci' domain='0x0000' bus='0x00' slot='0x0d' function='0x0'/> </memballoon> </devices> <seclabel type='dynamic' model='apparmor' relabel='yes'/> <seclabel type='dynamic' model='dac' relabel='yes'/> </domain>
Configurer vSRX 3.0
Configuration rapide de l’interface de ligne de commande
Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez tous les détails nécessaires pour qu’ils correspondent à la configuration de votre réseau, copiez et collez les commandes dans l’interface de ligne de commande au niveau de la [edit]
hiérarchie, puis passez commit
en mode de configuration.
GE-0/0/3, GE-0/0/4, GE-7/0/3, GE-7/0/4 ne sont pas utilisés dans cette configuration.
set groups node0 system host-name host-name-node0
set groups node0 system backup-router 198.51.100.254
set groups node0 system backup-router destination 0.0.0.0/0
set groups node0 interfaces fxp0 unit 0 family inet address 198.51.100.248/20
set groups node1 system host-name host-name-node1
set groups node1 system backup-router 198.51.100.254
set groups node1 system backup-router destination 0.0.0.0/0
set groups node1 interfaces fxp0 unit 0 family inet address 198.51.100.249/20
set apply-groups "${node}"
set chassis cluster reth-count 2
set chassis cluster redundancy-group 0 node 0 priority 100
set chassis cluster redundancy-group 0 node 1 priority 1
set chassis cluster redundancy-group 1 node 0 priority 100
set chassis cluster redundancy-group 1 node 1 priority 1
set chassis cluster redundancy-group 2 node 0 priority 100
set chassis cluster redundancy-group 2 node 1 priority 1
set interfaces ge-0/0/1 gigether-options redundant-parent reth0
set interfaces ge-0/0/2 gigether-options redundant-parent reth1
set interfaces ge-7/0/1 gigether-options redundant-parent reth0
set interfaces ge-7/0/2 gigether-options redundant-parent reth1
set interfaces fab0 fabric-options member-interfaces ge-0/0/0
set interfaces fab1 fabric-options member-interfaces ge-7/0/0
set interfaces fab0 fabric-options member-interfaces ge-0/0/5
set interfaces fab1 fabric-options member-interfaces ge-7/0/5
set interfaces reth0 redundant-ether-options redundancy-group 1
set interfaces reth0 unit 0 family inet address 192.168.10.1/24
set interfaces reth1 redundant-ether-options redundancy-group 2
set interfaces reth1 unit 0 family inet address 192.168.11.1/24
set interfaces reth0 vlan-tagging
set interfaces reth0 unit 0 vlan-id 3601
set interfaces reth1 vlan-tagging
set interfaces reth1 unit 0 vlan-id 3602
set security zones security-zone TRUST host-inbound-traffic system-services all
set security zones security-zone TRUST host-inbound-traffic protocols all
set security zones security-zone TRUST interfaces reth0.0
set security zones security-zone UNTRUST host-inbound-traffic system-services all
set security zones security-zone UNTRUST host-inbound-traffic protocols all
set security zones security-zone UNTRUST interfaces reth1.0
Vérification
Vérifiez que la configuration fonctionne correctement.
Vérification de l’état du cluster de châssis
But
Vérifiez l’état, les statistiques et les informations du groupe de redondance du cluster de châssis.
Action
À partir du mode opérationnel, entrez les commandes suivantes.
{primary:node0} user@host> show chassis cluster interfaces Control link status: Up Control interfaces: Index Interface Monitored-Status Internal-SA Security 0 em0 Up Disabled Disabled Fabric link status: Up Fabric interfaces: Name Child-interface Status Security (Physical/Monitored) fab0 ge-0/0/0 Up / Up Disabled fab0 ge-0/0/5 Up / Up Disabled fab1 ge-7/0/0 Up / Up Disabled fab1 ge-7/0/5 Up / Up Disabled Redundant-ethernet Information: Name Status Redundancy-group reth0 Down Not configured reth1 Up 1 reth2 Up 2 Redundant-pseudo-interface Information: Name Status Redundancy-group lo0 Up 0
{primary:node0} user@host> show chassis cluster statistics Control link statistics: Control link 0: Heartbeat packets sent: 1797825 Heartbeat packets received: 1797280 Heartbeat packet errors: 0 Fabric link statistics: Child link 0 Probes sent: 1329328 Probes received: 1328840 Child link 1 Probes sent: 0 Probes received: 0 Services Synchronized: Service name RTOs sent RTOs received Translation context 0 0 Incoming NAT 0 0 Resource manager 0 0 DS-LITE create 0 0 Session create 0 0 IPv6 session create 0 0 Session close 0 0 IPv6 session close 0 0 Session change 0 0 IPv6 session change 0 0 ALG Support Library 0 0 Gate create 0 0 Session ageout refresh requests 0 0 IPv6 session ageout refresh requests 0 0 Session ageout refresh replies 0 0 IPv6 session ageout refresh replies 0 0 IPSec VPN 0 0 Firewall user authentication 0 0 MGCP ALG 0 0 H323 ALG 0 0 SIP ALG 0 0 SCCP ALG 0 0 PPTP ALG 0 0 JSF PPTP ALG 0 0 RPC ALG 0 0 RTSP ALG 0 0 RAS ALG 0 0 MAC address learning 0 0 GPRS GTP 0 0 GPRS SCTP 0 0 GPRS FRAMEWORK 0 0 JSF RTSP ALG 0 0 JSF SUNRPC MAP 0 0 JSF MSRPC MAP 0 0 DS-LITE delete 0 0 JSF SLB 0 0 APPID 0 0 JSF MGCP MAP 0 0 JSF H323 ALG 0 0 JSF RAS ALG 0 0 JSF SCCP MAP 0 0 JSF SIP MAP 0 0 PST_NAT_CREATE 0 0 PST_NAT_CLOSE 0 0 PST_NAT_UPDATE 0 0 JSF TCP STACK 0 0 JSF IKE ALG 0 0
{primary:node0} user@host> show chassis cluster control-plane statistics Control link statistics: Control link 0: Heartbeat packets sent: 1797861 Heartbeat packets received: 1797316 Heartbeat packet errors: 0 Fabric link statistics: Child link 0 Probes sent: 1329400 Probes received: 1328912 Child link 1 Probes sent: 0 Probes received: 0
{primary:node0} user@host> show chassis cluster data-plane statistics Services Synchronized: Service name RTOs sent RTOs received Translation context 0 0 Incoming NAT 0 0 Resource manager 0 0 DS-LITE create 0 0 Session create 0 0 IPv6 session create 0 0 Session close 0 0 IPv6 session close 0 0 Session change 0 0 IPv6 session change 0 0 ALG Support Library 0 0 Gate create 0 0 Session ageout refresh requests 0 0 IPv6 session ageout refresh requests 0 0 Session ageout refresh replies 0 0 IPv6 session ageout refresh replies 0 0 IPSec VPN 0 0 Firewall user authentication 0 0 MGCP ALG 0 0 H323 ALG 0 0 SIP ALG 0 0 SCCP ALG 0 0 PPTP ALG 0 0 JSF PPTP ALG 0 0 RPC ALG 0 0 RTSP ALG 0 0 RAS ALG 0 0 MAC address learning 0 0 GPRS GTP 0 0 GPRS SCTP 0 0 GPRS FRAMEWORK 0 0 JSF RTSP ALG 0 0 JSF SUNRPC MAP 0 0 JSF MSRPC MAP 0 0 DS-LITE delete 0 0 JSF SLB 0 0 APPID 0 0 JSF MGCP MAP 0 0 JSF H323 ALG 0 0 JSF RAS ALG 0 0 JSF SCCP MAP 0 0 JSF SIP MAP 0 0 PST_NAT_CREATE 0 0 PST_NAT_CLOSE 0 0 PST_NAT_UPDATE 0 0 JSF TCP STACK 0 0 JSF IKE ALG 0 0
{primary:node0} user@host> show chassis cluster status redundancy-group 1 Monitor Failure codes: CS Cold Sync monitoring FL Fabric Connection monitoring GR GRES monitoring HW Hardware monitoring IF Interface monitoring IP IP monitoring LB Loopback monitoring MB Mbuf monitoring NH Nexthop monitoring NP NPC monitoring SP SPU monitoring SM Schedule monitoring CF Config Sync monitoring RE Relinquish monitoring IS IRQ storm Cluster ID: 1 Node Priority Status Preempt Manual Monitor-failures Redundancy group: 1 , Failover count: 1 node0 200 primary no no None node1 1 secondary no no None
Vérification des résultats du déploiement
[user@host-kvm126 libvirt]# virsh domiflist vm-name Interface Type Source Model MAC ------------------------------------------------------- vnet0 bridge bro virtio 52:54:00:a5:6a:59 vnet1 bridge br1 virtio 52:54:00:34:03:53 - hostdev - - 52:54:00:ef:43:b6 - hostdev - - 52:54:00:83:5f:e2 - hostdev - - 52:54:00:99:85:ac - hostdev - - 52:54:00:f5:6b:30 - hostdev - - 52:54:00:67:83:5f - hostdev - - 52:54:00:78:db:79 [user@host-kvm126 libvirt]# ip -d link show dev p2p2 |grep "vf 1 " vf 1 link/ether 52:54:00:ef:43:b6 brd ff:ff:ff:ff:ff:ff, vlan 3681, spoof checking off, link-state auto, trust on [root@cnrd-kvm126 libvirt]# ip -d link show dev p2p3 |grep "vf 2 " vf 2 link/ether 52:54:00:83:5f:e2 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state auto, trust on [root@cnrd-kvm126 libvirt]# ip -d link show dev p2p3 |grep "vf 3 " vf 3 link/ether 52:54:00:99:85:ac brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state auto, trust on [root@cnrd-kvm126 libvirt]#
Sens
L’exemple de sortie montre qu’il n’y a pas de basculement manuel dans l’état du cluster de châssis et vous fournit l’état de vérification de l’usurpation d’identité et l’état du mode d’approbation VF SR-IOV.
Résultats
À partir du mode configurationnel, confirmez votre configuration en entrant les show security zones
commandes , et show chassis
. Si la sortie n’affiche pas la configuration prévue, répétez les instructions de cet exemple pour corriger la configuration.
[edit]
user@host# show security zones
security-zone TRUST {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
reth0.0;
}
}
security-zone UNTRUST {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
reth1.0;
}
}
[edit]
user@host# show chassis
cluster {
reth-count 3;
redundancy-group 0 {
node 0 priority 200;
node 1 priority 1;
}
redundancy-group 1 {
node 0 priority 200;
node 1 priority 1;
}
redundancy-group 2 {
node 0 priority 200;
node 1 priority 1;
}
}