Stations de travail en ligne OnWorks Linux et Windows

Logo

Hébergement gratuit en ligne pour les postes de travail

<Précédent | Table des matières | Suivant>

5.9. Assistance et dépannage


DPDK est un projet en évolution rapide. Dans tous les cas de recherche de support et de guides supplémentaires, il est fortement recommandé de vérifier d'abord s'ils s'appliquent à la version actuelle.

• Listes de diffusion DPDK38

• Pour les listes de diffusion OpenVswitch-DPDK OpenStack39

• Problèmes connus dans la zone de lancement DPDK40

• Rejoignez les canaux IRC #DPDK ou #openvswitch sur freenode.


Les problèmes sont souvent dus à de petits détails manquants dans la configuration générale. Plus tard, ces détails manquants causent des problèmes qui peuvent être difficiles à localiser à l'origine. Un cas courant semble être le problème "Impossible d'ouvrir le périphérique réseau dpdk0 (Aucun périphérique de ce type)". Cela se produit assez tard lors de la configuration d'un port dans Open vSwitch avec DPDK. Mais la cause première se situe la plupart du temps très tôt dans la configuration et l'initialisation. Voici un exemple à quoi ressemble une initialisation correcte d'un appareil - cela peut être trouvé dans le syslog/journal lors du démarrage d'Open vSwitch avec DPDK activé.


ovs-ctl[3560] : EAL : périphérique PCI 0000:04:00.1 sur le socket NUMA 0 ovs-ctl[3560] : EAL : pilote de sonde : 8086 :1528 rte_ixgbe_pmd ovs-ctl[3560] : EAL : mémoire PCI mappée à 0x7f2140000000 ovs-ctl[3560] : EAL : mémoire PCI mappée à 0x7f2140200000


image

38 http://dpdk.org/ml

39 http://openvswitch.org/mlists

40 https://bugs.launchpad.net/ubuntu/+source/dpdk


Si cela manque, que ce soit à cause de cartes ignorées, d'un échec d'initialisation ou d'autres raisons, plus tard il n'y aura plus de périphérique DPDK auquel se référer. Malheureusement, la journalisation est répartie entre syslog/journal et le journal openvswitch. Pour permettre une vérification croisée, voici un exemple de ce que l'on peut trouver dans ces journaux, par rapport à la commande entrée.


#Remarque : Ce journal a été pris avec dpdk 2.2 et openvswitch 2.5 Légendes :

CMD : que vous saisissez

SYSLOG : (y compris les messages EAL et OVS) OVS-LOG : (messages Openvswitch)


#PRÉPARATION

Lier une interface aux pilotes DPDK UIO, rendre Hugepages disponible, activer DPDK sur OVS


CMD : redémarrage du service sudo openvswitch-switch


SYSLOG :

2016-01-22T08:58:31.372Z|00003|daemon_unix(monitor)|INFO|pid 3329 est mort, tué (terminé), sortie

2016-01-22T08:58:33.377Z|00002|vlog|INFO|fichier journal ouvert /var/log/openvswitch/ovs- vswitchd.log

2016-01-22T08:58:33.381Z|00003|ovs_numa|INFO|Découvert 12 cœurs de processeur sur le nœud NUMA 0 2016-01-22T08:58:33.381Z|00004|ovs_numa|INFO|Découvert 1 nœud NUMA et 12 cœurs de processeur 2016-01-22T08:58:33.381Z|00005|reconnecter|INFO|unix:/var/run/openvswitch/db.sock :

de liaison...

2016-01-22T08:58:33.383Z|00006|reconnect|INFO|unix:/var/run/openvswitch/db.sock: connected 2016-01-22T08:58:33.386Z|00007|bridge|INFO|ovs-vswitchd (Open vSwitch) 2.5.0


OVS-LOG :

systemd[1] : Arrêt d'Open vSwitch... systemd[1] : Arrêt d'Open vSwitch.

systemd[1]: Arrêt de l'unité interne Open vSwitch... ovs-ctl[3541]: * Tuer ovs-vswitchd (3329)

ovs-ctl[3541] : * Tuer ovsdb-server (3318) systemd[1] : Ouvrir l'unité interne vSwitch arrêté. systemd[1] : Démarrage de l'unité interne Open vSwitch... ovs-ctl[3560] : * Démarrage de ovsdb-server

ovs-vsctl: ovs|00001|vsctl|INFO|Appelé comme ovs-vsctl --no-wait -- init -- set Open_vSwitch . db-version=7.12.1

ovs-vsctl: ovs|00001|vsctl|INFO|Appelé comme ovs-vsctl --no-wait set Open_vSwitch . ovs- version=2.5.0 "external-ids:system-id=\"e7c5ba80-bb14-45c1-b8eb-628f3ad03903\"" "system-type=\"Ubuntu\"" "system-version=\"16.04- xénial\""

ovs-ctl[3560] : * Configuration des ID système Open vSwitch

ovs-ctl[3560] : 2016-01-22T08:58:31Z|00001|dpdk|INFO|Pas de -vhost_sock_dir fourni - par défaut /var/run/openvswitch

ovs-vswitchd : ovs|00001|dpdk|INFO|Pas de -vhost_sock_dir fourni - par défaut sur /var/run/openvswitch

ovs-ctl[3560] : EAL : détecté lcore 0 en tant que core 0 sur le socket 0 ovs-ctl[3560] : EAL : détecté lcore 1 en tant que core 1 sur le socket 0 ovs-ctl[3560] : EAL : détecté lcore 2 en tant que core 2 sur le socket 0 ovs-ctl[3560] : EAL : détecté lcore 3 en tant que core 3 sur le socket 0 ovs-ctl[3560] : EAL : détecté lcore 4 en tant que core 4 sur le socket 0



ovs-ctl[3560] : EAL : détection de lcore 5 en tant que core 5 sur le socket 0 ovs-ctl[3560] : EAL : détection de lcore 6 en tant que core 0 sur le socket 0 ovs-ctl[3560] : EAL : détection de lcore 7 en tant que core 1 sur le socket 0 ovs-ctl[3560] : EAL : détecté lcore 8 comme core 2 sur le socket 0 ovs-ctl[3560] : EAL : détecté lcore 9 comme core 3 sur le socket 0 ovs-ctl[3560] : EAL : détecté lcore 10 en tant que core 4 sur le socket 0 ovs-ctl[3560] : EAL : a détecté lcore 11 en tant que core 5 sur le socket 0

ovs-ctl[3560] : EAL : prend en charge un maximum de 128 cœurs logiques par configuration. ovs-ctl[3560] : EAL : 12 lcore(s) détecté(s)

ovs-ctl[3560] : EAL : les modules VFIO ne sont pas tous chargés, ignorez le support VFIO... ovs-ctl[3560] : EAL : Configuration de la mémoire physiquement contiguë...

ovs-ctl[3560] : EAL : demande une zone virtuelle de 0x100000000 octets

ovs-ctl[3560] : EAL : zone virtuelle trouvée à 0x7f2040000000 (taille = 0x100000000) ovs-ctl[3560] : EAL : demande de 4 pages de taille 1024 Mo à partir du socket 0

ovs-ctl[3560] : EAL : la fréquence TSC est d'environ 2397202 KHz

ovs-vswitchd[3592] : EAL : la fréquence TSC est d'environ 2397202 KHz

ovs-vswitchd[3592] : EAL : le maître lcore 0 est prêt (tid=fc6cbb00;cpuset=[0]) ovs-vswitchd[3592] : EAL : périphérique PCI 0000:04:00.0 sur le socket NUMA 0

ovs-vswitchd[3592] : EAL : pilote de sonde : 8086:1528 rte_ixgbe_pmd

ovs-vswitchd[3592] : EAL : non géré par un pilote de noyau pris en charge, ignoré ovs-vswitchd[3592] : EAL : périphérique PCI 0000:04:00.1 sur le socket NUMA 0

ovs-vswitchd[3592] : EAL : pilote de sonde : 8086:1528 rte_ixgbe_pmd ovs-vswitchd[3592] : EAL : mémoire PCI mappée à 0x7f2140000000 ovs-vswitchd[3592] : EAL : mémoire PCI mappée à 0x7f2140200000

ovs-ctl[3560] : EAL : le maître lcore 0 est prêt (tid=fc6cbb00;cpuset=[0]) ovs-ctl[3560] : EAL : périphérique PCI 0000:04:00.0 sur le socket NUMA 0

ovs-ctl[3560] : EAL : pilote de sonde : 8086:1528 rte_ixgbe_pmd

ovs-ctl[3560] : EAL : non géré par un pilote de noyau pris en charge, ignoré ovs-ctl[3560] : EAL : périphérique PCI 0000:04:00.1 sur le socket NUMA 0

ovs-ctl[3560] : EAL : pilote de sonde : 8086:1528 rte_ixgbe_pmd ovs-ctl[3560] : EAL : mémoire PCI mappée à 0x7f2140000000 ovs-ctl[3560] : EAL : mémoire PCI mappée à 0x7f2140200000

ovs-vswitchd[3592] : PMD : eth_ixgbe_dev_init() : MAC : 4, PHY : 3

ovs-vswitchd[3592] : PMD : eth_ixgbe_dev_init() : port 0 vendorID=0x8086 deviceID=0x1528 ovs-ctl[3560] : PMD : eth_ixgbe_dev_init() : MAC : 4, PHY : 3

ovs-ctl[3560] : PMD : eth_ixgbe_dev_init() : port 0 vendorID=0x8086 deviceID=0x1528 ovs-ctl[3560] : Zone 0 : nom : , phys:0x83fffdec0, len:0x2080,

virt:0x7f213fffdec0, socket_id:0, flags:0

ovs-ctl[3560]: Zone 1: name:<MP_log_history>, phys:0x83fd73d40, len:0x28a0c0, virt:0x7f213fd73d40, socket_id:0, flags:0

ovs-ctl[3560] : Zone 2 : nom : , phys:0x83fd43380, len:0x2f700, virt:0x7f213fd43380, socket_id:0, drapeaux:0

ovs-ctl[3560] : * Démarrage de ovs-vswitchd

ovs-ctl[3560] : * Activation des gestionnaires OVSDB distants systemd[1] : Démarrage de l'unité interne vSwitch ouverte. systemd[1] : Démarrage d'Open vSwitch... systemd[1] : Démarrage d'Open vSwitch.


CMD : sudo ovs-vsctl add-br ovsdpdkbr0 -- définir le pont ovsdpdkbr0 datapath_type=netdev


SYSLOG :



2016-01-22T08:58:56.344Z|00008|memory|INFO|Taille de l'ensemble résident de pointe de 37256 Ko après 24.5 secondes

2016-01-22T08:58:56.346Z|00009|ofproto_dpif|INFO|netdev@ovs-netdev: Datapath supports recirculation

2016-01-22T08:58:56.346Z|00010|ofproto_dpif|INFO|netdev@ovs-netdev : longueur de la pile d'étiquettes MPLS sondée comme 3

2016-01-22T08:58:56.346Z|00011|ofproto_dpif|INFO|netdev@ovs-netdev : Datapath prend en charge les identifiants de flux uniques

2016-01-22T08:58:56.346Z|00012|ofproto_dpif|INFO|netdev@ovs-netdev : Datapath ne prend pas en charge ct_state

2016-01-22T08:58:56.346Z|00013|ofproto_dpif|INFO|netdev@ovs-netdev : Datapath ne prend pas en charge ct_zone

2016-01-22T08:58:56.346Z|00014|ofproto_dpif|INFO|netdev@ovs-netdev : Datapath ne prend pas en charge ct_mark

2016-01-22T08:58:56.346Z|00015|ofproto_dpif|INFO|netdev@ovs-netdev : Datapath ne prend pas en charge ct_label

2016-01-22T08:58:56.360Z|00016|bridge|INFO|bridge ovsdpdkbr0 : ajout de l'interface ovsdpdkbr0 sur le port 65534

2016-01-22T08:58:56.361Z|00017|bridge|INFO|bridge ovsdpdkbr0: using datapath ID 00005a4a1ed0a14d

2016-01-22T08:58:56.361Z|00018|connmgr|INFO|ovsdpdkbr0 : contrôleur de service ajouté "punix:/var/run/openvswitch/ovsdpdkbr0.mgmt"


OVS-LOG :

ovs-vsctl : ovs|00001|vsctl|INFO|Appelé comme ovs-vsctl add-br ovsdpdkbr0 -- définir le pont ovsdpdkbr0 datapath_type=netdev

systemd-udevd[3607] : impossible de générer une adresse MAC persistante pour ovs-netdev : aucun fichier ou répertoire de ce type

noyau : [50165.886554] le périphérique ovs-netdev est entré en mode de proximité noyau : [50165.901261] le périphérique ovsdpdkbr0 est entré en mode de proximité


CMD : sudo ovs-vsctl add-port ovsdpdkbr0 dpdk0 -- définir l'interface dpdk0 type=dpdk


SYSLOG :

2016-01-22T08:59:06.369Z|00019|memory|INFO|la taille maximale de l'ensemble résident a augmenté de 155% au cours des 10.0 dernières secondes, passant de 37256 Ko à 95008 Ko

2016-01-22T08:59:06.369Z|00020|memory|INFO|handlers:4 ports:1 revalidators:2 rules:5 2016-01-22T08:59:30.989Z|00021|dpdk|INFO|Port 0: 8c:dc:d4:b3:6d:e9

2016-01-22T08:59:31.520Z|00022|dpdk|INFO|Port 0: 8c:dc:d4:b3:6d:e9

2016-01-22T08:59:31.521Z|00023|dpif_netdev|INFO|Création de threads 1 pmd sur le nœud numa 0 2016-01-22T08:59:31.522Z|00001|dpif_netdev(pmd16)|INFO|Port de traitement Core 0 ' dpdk0'

2016-01-22T08:59:31.522Z|00024|bridge|INFO|bridge ovsdpdkbr0 : interface ajoutée dpdk0 sur le port 1

2016-01-22T08:59:31.522Z|00025|bridge|INFO|bridge ovsdpdkbr0: using datapath ID 00008cdcd4b36de9

2016-01-22T08:59:31.523Z|00002|dpif_netdev(pmd16)|INFO|Core 0 processing port 'dpdk0'


OVS-LOG :

ovs-vsctl : ovs|00001|vsctl|INFO|Appelé comme ovs-vsctl add-port ovsdpdkbr0 dpdk0 -- définir l'interface dpdk0 type=dpdk



ovs-vswitchd[3595]: PMD: ixgbe_dev_tx_queue_setup(): sw_ring=0x7f211a79ebc0 hw_ring=0x7f211a7a6c00 dma_addr=0x81a7a6c00

ovs-vswitchd[3595] : PMD : ixgbe_set_tx_function() : Utilisation d'un chemin de code tx simple ovs-vswitchd[3595] : PMD : ixgbe_set_tx_function() : Vector tx activé.

ovs-vswitchd[3595]: PMD: ixgbe_dev_rx_queue_setup(): sw_ring=0x7f211a78a6c0 sw_sc_ring=0x7f211a786580 hw_ring=0x7f211a78e800 dma_addr=0x81a78e800

ovs-vswitchd[3595] : PMD : ixgbe_set_rx_function() : Vector rx activé, veuillez vous assurer que la taille de rafale RX n'est pas inférieure à 4 (port=0).

ovs-vswitchd[3595]: PMD: ixgbe_dev_tx_queue_setup(): sw_ring=0x7f211a79ebc0 hw_ring=0x7f211a7a6c00 dma_addr=0x81a7a6c00

ovs-vswitchd[3595] : PMD : ixgbe_set_tx_function() : Utilisation d'un chemin de code tx simple ovs-vswitchd[3595] : PMD : ixgbe_set_tx_function() : Vector tx activé.

ovs-vswitchd[3595]: PMD: ixgbe_dev_tx_queue_setup(): sw_ring=0x7f211a76e4c0 hw_ring=0x7f211a776500 dma_addr=0x81a776500

ovs-vswitchd[3595] : PMD : ixgbe_set_tx_function() : Utilisation d'un chemin de code tx simple ovs-vswitchd[3595] : PMD : ixgbe_set_tx_function() : Vector tx activé.

ovs-vswitchd[3595]: PMD: ixgbe_dev_tx_queue_setup(): sw_ring=0x7f211a756440 hw_ring=0x7f211a75e480 dma_addr=0x81a75e480

ovs-vswitchd[3595] : PMD : ixgbe_set_tx_function() : Utilisation d'un chemin de code tx simple ovs-vswitchd[3595] : PMD : ixgbe_set_tx_function() : Vector tx activé.

ovs-vswitchd[3595]: PMD: ixgbe_dev_tx_queue_setup(): sw_ring=0x7f211a73e3c0 hw_ring=0x7f211a746400 dma_addr=0x81a746400

ovs-vswitchd[3595] : PMD : ixgbe_set_tx_function() : Utilisation d'un chemin de code tx simple ovs-vswitchd[3595] : PMD : ixgbe_set_tx_function() : Vector tx activé.

ovs-vswitchd[3595]: PMD: ixgbe_dev_tx_queue_setup(): sw_ring=0x7f211a726340 hw_ring=0x7f211a72e380 dma_addr=0x81a72e380

ovs-vswitchd[3595] : PMD : ixgbe_set_tx_function() : Utilisation d'un chemin de code tx simple ovs-vswitchd[3595] : PMD : ixgbe_set_tx_function() : Vector tx activé.

ovs-vswitchd[3595]: PMD: ixgbe_dev_tx_queue_setup(): sw_ring=0x7f211a70e2c0 hw_ring=0x7f211a716300 dma_addr=0x81a716300

ovs-vswitchd[3595] : PMD : ixgbe_set_tx_function() : Utilisation d'un chemin de code tx simple ovs-vswitchd[3595] : PMD : ixgbe_set_tx_function() : Vector tx activé.

ovs-vswitchd[3595]: PMD: ixgbe_dev_tx_queue_setup(): sw_ring=0x7f211a6f6240 hw_ring=0x7f211a6fe280 dma_addr=0x81a6fe280

ovs-vswitchd[3595] : PMD : ixgbe_set_tx_function() : Utilisation d'un chemin de code tx simple ovs-vswitchd[3595] : PMD : ixgbe_set_tx_function() : Vector tx activé.

ovs-vswitchd[3595]: PMD: ixgbe_dev_tx_queue_setup(): sw_ring=0x7f211a6de1c0 hw_ring=0x7f211a6e6200 dma_addr=0x81a6e6200

ovs-vswitchd[3595] : PMD : ixgbe_set_tx_function() : Utilisation d'un chemin de code tx simple ovs-vswitchd[3595] : PMD : ixgbe_set_tx_function() : Vector tx activé.

ovs-vswitchd[3595]: PMD: ixgbe_dev_tx_queue_setup(): sw_ring=0x7f211a6c6140 hw_ring=0x7f211a6ce180 dma_addr=0x81a6ce180

ovs-vswitchd[3595] : PMD : ixgbe_set_tx_function() : Utilisation d'un chemin de code tx simple ovs-vswitchd[3595] : PMD : ixgbe_set_tx_function() : Vector tx activé.

ovs-vswitchd[3595]: PMD: ixgbe_dev_tx_queue_setup(): sw_ring=0x7f211a6ae0c0 hw_ring=0x7f211a6b6100 dma_addr=0x81a6b6100

ovs-vswitchd[3595] : PMD : ixgbe_set_tx_function() : Utilisation d'un chemin de code tx simple ovs-vswitchd[3595] : PMD : ixgbe_set_tx_function() : Vector tx activé.

ovs-vswitchd[3595]: PMD: ixgbe_dev_tx_queue_setup(): sw_ring=0x7f211a696040 hw_ring=0x7f211a69e080 dma_addr=0x81a69e080

ovs-vswitchd[3595] : PMD : ixgbe_set_tx_function() : Utilisation d'un chemin de code tx simple ovs-vswitchd[3595] : PMD : ixgbe_set_tx_function() : Vector tx activé.



ovs-vswitchd[3595]: PMD: ixgbe_dev_tx_queue_setup(): sw_ring=0x7f211a67dfc0 hw_ring=0x7f211a686000 dma_addr=0x81a686000

ovs-vswitchd[3595] : PMD : ixgbe_set_tx_function() : Utilisation d'un chemin de code tx simple ovs-vswitchd[3595] : PMD : ixgbe_set_tx_function() : Vector tx activé.

ovs-vswitchd[3595]: PMD: ixgbe_dev_tx_queue_setup(): sw_ring=0x7f211a665e40 hw_ring=0x7f211a66de80 dma_addr=0x81a66de80

ovs-vswitchd[3595] : PMD : ixgbe_set_tx_function() : Utilisation d'un chemin de code tx simple ovs-vswitchd[3595] : PMD : ixgbe_set_tx_function() : Vector tx activé.

ovs-vswitchd[3595]: PMD: ixgbe_dev_rx_queue_setup(): sw_ring=0x7f211a78a6c0 sw_sc_ring=0x7f211a786580 hw_ring=0x7f211a78e800 dma_addr=0x81a78e800

ovs-vswitchd[3595] : PMD : ixgbe_set_rx_function() : Vector rx activé, veuillez vous assurer que la taille de rafale RX n'est pas inférieure à 4 (port=0).


CMD : sudo ovs-vsctl add-port ovsdpdkbr0 vhost-user-1 -- définir l'interface vhost-user-1 type=dpdkvhostuser


OVS-LOG :

2016-01-22T09:00:35.145Z|00026|dpdk|INFO|Socket /var/run/openvswitch/vhost-user-1 créé pour le port vhost-user vhost-user-1

2016-01-22T09:00:35.145Z|00003|dpif_netdev(pmd16)|INFO|Core 0 processing port 'dpdk0'

2016-01-22T09:00:35.145Z|00004|dpif_netdev(pmd16)|INFO|Core 0 processing port 'vhost-user-1' 2016-01-22T09:00:35.145Z|00027|bridge|INFO|bridge ovsdpdkbr0: added interface vhost-user-1

sur le port 2


SYSLOG :

ovs-vsctl : ovs|00001|vsctl|INFO|Appelé comme ovs-vsctl add-port ovsdpdkbr0 vhost-user-1 -- définir l'interface vhost-user-1 type=dpdkvhostuser

ovs-vswitchd[3595] : VHOST_CONFIG : socket créé, fd:46

ovs-vswitchd[3595] : VHOST_CONFIG : se lier à /var/run/openvswitch/vhost-user-1


Finalement, nous pouvons voir le fil du sondage en haut

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMANDE

3595 racine 10 -10 4975344 103936 9916 S 100.0 0.3 33:13.56 ovs-vswitchd


Meilleur système d'exploitation Cloud Computing chez OnWorks :