Workstation online OnWorks Linux e Windows

Logo

Hosting online gratuito per workstation

<Precedenti | Contenuti | Succ.>

5.9. Supporto e risoluzione dei problemi


DPDK è un progetto in rapida evoluzione. In ogni caso di ricerca di supporto e ulteriori guide si consiglia vivamente di verificare prima se si applicano alla versione corrente.

• Liste di distribuzione DPDK38

• Per le mailing list OpenVswitch-DPDK OpenStack39

• Problemi noti nell'area DPDK Launchpad40

• Unisciti ai canali IRC #DPDK o #openvswitch su freenode.


I problemi sono spesso dovuti alla mancanza di piccoli dettagli nella configurazione generale. In seguito, questi dettagli mancanti causano problemi che possono essere difficili da rintracciare alla loro causa principale. Un caso comune sembra essere il problema "impossibile aprire il dispositivo di rete dpdk0 (nessun dispositivo simile)". Ciò si verifica piuttosto tardi quando si configura una porta in Open vSwitch con DPDK. Ma la causa principale la maggior parte delle volte è molto presto nella configurazione e nell'inizializzazione. Ecco un esempio di come appare una corretta inizializzazione di un dispositivo - questo può essere trovato nel syslog/journal quando si avvia Open vSwitch con DPDK abilitato.


ovs-ctl[3560]: EAL: dispositivo PCI 0000:04:00.1 su socket NUMA 0 ovs-ctl[3560]: EAL: driver del probe: 8086:1528 rte_ixgbe_pmd ovs-ctl[3560]: EAL: memoria PCI mappata a 0x7f2140000000 ovs-ctl[3560]: EAL: memoria PCI mappata a 0x7f2140200000


Immagine

38 http://dpdk.org/ml

39 http://openvswitch.org/mlists

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


Se questo manca, a causa di tessere ignorate, inizializzazione fallita o altri motivi, in seguito non ci sarà alcun dispositivo DPDK a cui fare riferimento. Sfortunatamente il logging è distribuito su syslog/journal e sul log di openvswitch. Per consentire un controllo incrociato ecco un esempio di cosa si può trovare in questi log, relativo al comando inserito.


#Nota: questo registro è stato preso con dpdk 2.2 e openvswitch 2.5 Didascalie:

CMD: che tu entri

SYSLOG: (inclusi messaggi EAL e OVS) OVS-LOG: (messaggi Openvswitch)


#PREPARAZIONE

Associa un'interfaccia ai driver DPDK UIO, rendi disponibile Hugepages, abilita DPDK su OVS


CMD: riavvio sudo service openvswitch-switch


LOG DI SISTEMA:

2016-01-22T08:58:31.372Z|00003|daemon_unix(monitor)|INFO|pid 3329 morto, ucciso (terminato), in uscita

2016-01-22T08:58:33.377Z|00002|vlog|INFO|file di registro aperto /var/log/openvswitch/ovs-vswitchd.log

2016-01-22T08:58:33.381Z|00003|ovs_numa|INFO|Scoperti 12 core CPU sul nodo NUMA 0 2016-01-22T08:58:33.381Z|00004|ovs_numa|INFO|Scoperti 1 nodo NUMA e 12 core CPU 2016-01-22T08:58:33.381Z|00005|riconnetti|INFO|unix:/var/run/openvswitch/db.sock:

collegamento...

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


LOG OVS:

systemd[1]: Stop Open vSwitch... systemd[1]: Stop Open vSwitch.

systemd[1]: Arresto Open vSwitch Internal Unit... ovs-ctl[3541]: * Killing ovs-vswitchd (3329)

ovs-ctl[3541]: * Killing di ovsdb-server (3318) systemd[1]: Arrestato Open vSwitch Internal Unit. systemd[1]: Avvio di Open vSwitch Internal Unit... ovs-ctl[3560]: * Avvio di ovsdb-server

ovs-vsctl: ovs|00001|vsctl|INFO|Chiamato come ovs-vsctl --no-wait -- init -- set Open_vSwitch . db-versione=7.12.1

ovs-vsctl: ovs|00001|vsctl|INFO|Chiamato come 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- xenial\""

ovs-ctl[3560]: * Configurazione degli ID di sistema Open vSwitch

ovs-ctl[3560]: 2016-01-22T08:58:31Z|00001|dpdk|INFO|Nessuna -vhost_sock_dir fornita - impostazione predefinita su /var/run/openvswitch

ovs-vswitchd: ovs|00001|dpdk|INFO|Nessuna -vhost_sock_dir fornita - impostazione predefinita su /var/run/ openvswitch

ovs-ctl[3560]: EAL: lcore 0 rilevato come core 0 sul socket 0 ovs-ctl[3560]: EAL: lcore 1 rilevato come core 1 sul socket 0 ovs-ctl[3560]: EAL: lcore 2 rilevato come core 2 sul socket 0 ovs-ctl[3560]: EAL: rilevato lcore 3 come core 3 sul socket 0 ovs-ctl[3560]: EAL: rilevato lcore 4 come core 4 sul socket 0



ovs-ctl[3560]: EAL: lcore 5 rilevato come core 5 sul socket 0 ovs-ctl[3560]: EAL: lcore 6 rilevato come core 0 sul socket 0 ovs-ctl[3560]: EAL: lcore 7 rilevato come core 1 sul socket 0 ovs-ctl[3560]: EAL: rilevato lcore 8 come core 2 sul socket 0 ovs-ctl[3560]: EAL: rilevato lcore 9 come core 3 sul socket 0 ovs-ctl[3560]: EAL: rilevato lcore 10 come core 4 sul socket 0 ovs-ctl[3560]: EAL: rilevato lcore 11 come core 5 sul socket 0

ovs-ctl[3560]: EAL: supporta massimo 128 core logici per configurazione. ovs-ctl[3560]: EAL: 12 lcore rilevati

ovs-ctl[3560]: EAL: moduli VFIO non tutti caricati, salta il supporto VFIO... ovs-ctl[3560]: EAL: configurazione della memoria contigua fisicamente...

ovs-ctl[3560]: EAL: Chiedi un'area virtuale di 0x100000000 byte

ovs-ctl[3560]: EAL: Area virtuale trovata in 0x7f2040000000 (dimensione = 0x100000000) ovs-ctl[3560]: EAL: Richiesta di 4 pagine di dimensione 1024 MB dal socket 0

ovs-ctl[3560]: EAL: la frequenza TSC è ~2397202 KHz

ovs-vswitchd[3592]: EAL: la frequenza TSC è ~2397202 KHz

ovs-vswitchd[3592]: EAL: Master lcore 0 pronto (tid=fc6cbb00;cpuset=[0]) ovs-vswitchd[3592]: EAL: dispositivo PCI 0000:04:00.0 su socket NUMA 0

ovs-vswitchd[3592]: EAL: driver della sonda: 8086:1528 rte_ixgbe_pmd

ovs-vswitchd[3592]: EAL: non gestito da un driver del kernel supportato, ignorato ovs-vswitchd[3592]: EAL: dispositivo PCI 0000:04:00.1 su socket NUMA 0

ovs-vswitchd[3592]: EAL: driver del probe: 8086:1528 rte_ixgbe_pmd ovs-vswitchd[3592]: EAL: memoria PCI mappata a 0x7f2140000000 ovs-vswitchd[3592]: EAL: memoria PCI mappata a 0x7f2140200000

ovs-ctl[3560]: EAL: Master lcore 0 pronto (tid=fc6cbb00;cpuset=[0]) ovs-ctl[3560]: EAL: dispositivo PCI 0000:04:00.0 su socket NUMA 0

ovs-ctl[3560]: EAL: driver della sonda: 8086:1528 rte_ixgbe_pmd

ovs-ctl[3560]: EAL: non gestito da un driver del kernel supportato, ignorato ovs-ctl[3560]: EAL: dispositivo PCI 0000:04:00.1 su socket NUMA 0

ovs-ctl[3560]: EAL: driver del probe: 8086:1528 rte_ixgbe_pmd ovs-ctl[3560]: EAL: memoria PCI mappata a 0x7f2140000000 ovs-ctl[3560]: EAL: memoria PCI mappata a 0x7f2140200000

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

ovs-vswitchd[3592]: PMD: eth_ixgbe_dev_init(): porta 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]: Zona 0: nome: , fisico:0x83fffdec0, lunghezza: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]: Zona 2: nome: , phys:0x83fd43380, len:0x2f700, virt:0x7f213fd43380, socket_id:0, flags:0

ovs-ctl[3560]: * Avvio di ovs-vswitchd

ovs-ctl[3560]: * Abilitazione dei gestori OVSDB remoti systemd[1]: Avviato Open vSwitch Internal Unit. systemd[1]: Avvio Apri vSwitch... systemd[1]: Avviato Apri vSwitch.


CMD: sudo ovs-vsctl add-br ovsdpdkbr0 -- imposta il bridge ovsdpdkbr0 datapath_type=netdev


LOG DI SISTEMA:



2016-01-22T08:58:56.344Z|00008|memoria|INFO|37256 kB dimensione set residente di picco dopo 24.5 secondi

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: lunghezza dello stack di etichette MPLS rilevata come 3

2016-01-22T08:58:56.346Z|00011|ofproto_dpif|INFO|netdev@ovs-netdev: Datapath supporta ID di flusso univoci

2016-01-22T08:58:56.346Z|00012|ofproto_dpif|INFO|netdev@ovs-netdev: Datapath non supporta ct_state

2016-01-22T08:58:56.346Z|00013|ofproto_dpif|INFO|netdev@ovs-netdev: Datapath non supporta ct_zone

2016-01-22T08:58:56.346Z|00014|ofproto_dpif|INFO|netdev@ovs-netdev: Datapath non supporta ct_mark

2016-01-22T08:58:56.346Z|00015|ofproto_dpif|INFO|netdev@ovs-netdev: Datapath non supporta ct_label

2016-01-22T08:58:56.360Z|00016|bridge|INFO|bridge ovsdpdkbr0: aggiunta interfaccia ovsdpdkbr0 sulla porta 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: aggiunto il controller di servizio "punix:/var/run/openvswitch/ovsdpdkbr0.mgmt"


LOG OVS:

ovs-vsctl: ovs|00001|vsctl|INFO|Chiamato come ovs-vsctl add-br ovsdpdkbr0 -- imposta il bridge ovsdpdkbr0 datapath_type=netdev

systemd-udevd[3607]: impossibile generare un indirizzo MAC persistente per ovs-netdev: nessun file o directory di questo tipo

kernel: [50165.886554] il dispositivo ovs-netdev è entrato in modalità promiscua kernel: [50165.901261] il dispositivo ovsdpdkbr0 è entrato in modalità promiscua


CMD: sudo ovs-vsctl add-port ovsdpdkbr0 dpdk0 -- imposta Interface dpdk0 type=dpdk


LOG DI SISTEMA:

2016-01-22T08:59:06.369Z|00019|memoria|INFO|la dimensione del set residente di picco è cresciuta del 155% negli ultimi 10.0 secondi, da 37256 kB a 95008 kB

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|Creati 1 thread pmd sul nodo numa 0 2016-01-22T08:59:31.522Z|00001|dpif_netdev(pmd16)|INFO|Core 0 porta di elaborazione ' dpdk0'

2016-01-22T08:59:31.522Z|00024|bridge|INFO|bridge ovsdpdkbr0: aggiunta interfaccia dpdk0 sulla porta 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'


LOG OVS:

ovs-vsctl: ovs|00001|vsctl|INFO|Chiamato come ovs-vsctl add-port ovsdpdkbr0 dpdk0 -- set 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(): utilizzo del percorso del codice tx semplice ovs-vswitchd[3595]: PMD: ixgbe_set_tx_function(): Vector tx abilitato.

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 abilitato, assicurati che la dimensione del burst RX non sia inferiore a 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(): utilizzo del percorso del codice tx semplice ovs-vswitchd[3595]: PMD: ixgbe_set_tx_function(): Vector tx abilitato.

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(): utilizzo del percorso del codice tx semplice ovs-vswitchd[3595]: PMD: ixgbe_set_tx_function(): Vector tx abilitato.

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(): utilizzo del percorso del codice tx semplice ovs-vswitchd[3595]: PMD: ixgbe_set_tx_function(): Vector tx abilitato.

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(): utilizzo del percorso del codice tx semplice ovs-vswitchd[3595]: PMD: ixgbe_set_tx_function(): Vector tx abilitato.

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(): utilizzo del percorso del codice tx semplice ovs-vswitchd[3595]: PMD: ixgbe_set_tx_function(): Vector tx abilitato.

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(): utilizzo del percorso del codice tx semplice ovs-vswitchd[3595]: PMD: ixgbe_set_tx_function(): Vector tx abilitato.

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(): utilizzo del percorso del codice tx semplice ovs-vswitchd[3595]: PMD: ixgbe_set_tx_function(): Vector tx abilitato.

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(): utilizzo del percorso del codice tx semplice ovs-vswitchd[3595]: PMD: ixgbe_set_tx_function(): Vector tx abilitato.

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(): utilizzo del percorso del codice tx semplice ovs-vswitchd[3595]: PMD: ixgbe_set_tx_function(): Vector tx abilitato.

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(): utilizzo del percorso del codice tx semplice ovs-vswitchd[3595]: PMD: ixgbe_set_tx_function(): Vector tx abilitato.

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(): utilizzo del percorso del codice tx semplice ovs-vswitchd[3595]: PMD: ixgbe_set_tx_function(): Vector tx abilitato.



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(): utilizzo del percorso del codice tx semplice ovs-vswitchd[3595]: PMD: ixgbe_set_tx_function(): Vector tx abilitato.

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(): utilizzo del percorso del codice tx semplice ovs-vswitchd[3595]: PMD: ixgbe_set_tx_function(): Vector tx abilitato.

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 abilitato, assicurati che la dimensione del burst RX non sia inferiore a 4 (port=0).


CMD: sudo ovs-vsctl add-port ovsdpdkbr0 vhost-user-1 -- imposta Interface vhost-user-1 type=dpdkvhostuser


LOG OVS:

2016-01-22T09:00:35.145Z|00026|dpdk|INFO|Socket /var/run/openvswitch/vhost-user-1 creato per la porta 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

sulla porta 2


LOG DI SISTEMA:

ovs-vsctl: ovs|00001|vsctl|INFO|Chiamato come ovs-vsctl add-port ovsdpdkbr0 vhost-user-1 -- set Interface vhost-user-1 type=dpdkvhostuser

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

ovs-vswitchd[3595]: VHOST_CONFIG: associa a /var/run/openvswitch/vhost-user-1


Alla fine possiamo vedere il thread del sondaggio in alto

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

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


Il miglior sistema operativo cloud computing su OnWorks: