Estaciones de trabajo en línea OnWorks Linux y Windows

Logotipo

Alojamiento gratuito en línea para estaciones de trabajo

<Anterior | Contenido | Siguiente>

5.9. Soporte y solución de problemas


DPDK es un proyecto de rápida evolución. En cualquier caso de búsqueda de soporte y guías adicionales, se recomienda encarecidamente verificar primero si se aplican a la versión actual.

• Listas de correo DPDK38

• Para listas de distribución de OpenStack OpenVswitch-DPDK39

• Problemas conocidos en el área de Launchpad de DPDK40

• Únase a los canales de IRC #DPDK o #openvswitch en freenode.


Los problemas suelen deberse a que faltan pequeños detalles en la configuración general. Más adelante, estos detalles faltantes causan problemas que pueden ser difíciles de rastrear hasta su causa raíz. Un caso común parece ser el problema "No se pudo abrir el dispositivo de red dpdk0 (No existe tal dispositivo)". Esto ocurre bastante tarde cuando se configura un puerto en Open vSwitch con DPDK. Pero la causa principal la mayor parte del tiempo es muy temprano en la configuración e inicialización. Aquí un ejemplo de cómo se ve una inicialización adecuada de un dispositivo: esto se puede encontrar en el registro del sistema / diario al iniciar Open vSwitch con DPDK habilitado.


ovs-ctl [3560]: EAL: dispositivo PCI 0000: 04: 00.1 en el zócalo NUMA 0 ovs-ctl [3560]: EAL: controlador de sonda: 8086: 1528 rte_ixgbe_pmd ovs-ctl [3560]: EAL: memoria PCI asignada a 0x7f2140000000 ovs-ctl [3560]: EAL: memoria PCI asignada a 0x7f2140200000


imagen

38 http://dpdk.org/ml

39 http://openvswitch.org/mlists

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


Si esto falta, ya sea por tarjetas ignoradas, inicialización fallida u otras razones, más adelante no habrá ningún dispositivo DPDK al que referirse. Desafortunadamente, el registro se distribuye entre syslog / journal y el registro de openvswitch. Para permitir una verificación cruzada, aquí un ejemplo de lo que se puede encontrar en estos registros, en relación con el comando ingresado.


#Nota: Este registro se tomó con los subtítulos dpdk 2.2 y openvswitch 2.5:

CMD: que ingresas

SYSLOG: (incluye mensajes EAL y OVS) OVS-LOG: (mensajes Openvswitch)


#PREPARACIÓN

Vincular una interfaz a los controladores DPDK UIO, hacer que Hugepages esté disponible, habilitar DPDK en OVS


CMD: reinicio de sudo service openvswitch-switch


REGISTRO DEL SISTEMA:

2016-01-22T08: 58: 31.372Z | 00003 | daemon_unix (monitor) | INFO | pid 3329 murió, asesinado (Terminado), saliendo

2016-01-22T08: 58: 33.377Z | 00002 | vlog | INFORMACIÓN | archivo de registro abierto / var / log / openvswitch / ovs- vswitchd.log

2016-01-22T08: 58: 33.381Z | 00003 | ovs_numa | INFO | Descubierto 12 núcleos de CPU en el nodo NUMA 0 2016-01-22T08: 58: 33.381Z | 00004 | ovs_numa | INFO | Descubierto 1 nodos NUMA y 12 núcleos de CPU 2016-01-22T08: 58: 33.381Z | 00005 | volver a conectar | INFORMACIÓN | unix: /var/run/openvswitch/db.sock:

conectando ...

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


REGISTRO OVS:

systemd [1]: Deteniendo Open vSwitch ... systemd [1]: Detenido Open vSwitch.

systemd [1]: Deteniendo la unidad interna vSwitch abierta ... ovs-ctl [3541]: * Eliminando ovs-vswitchd (3329)

ovs-ctl [3541]: * Eliminando ovsdb-server (3318) systemd [1]: Unidad interna vSwitch abierta detenida. systemd [1]: Iniciando Open vSwitch Internal Unit ... ovs-ctl [3560]: * Iniciando ovsdb-server

ovs-vsctl: ovs | 00001 | vsctl | INFO | Llamado como ovs-vsctl --no-wait - init - set Open_vSwitch. db-versión = 7.12.1

ovs-vsctl: ovs | 00001 | vsctl | INFO | Llamado como ovs-vsctl --no-wait set Open_vSwitch. ovs- versión = 2.5.0 "id-externos: id-del-sistema = \" e7c5ba80-bb14-45c1-b8eb-628f3ad03903 \ "" "tipo de sistema = \" Ubuntu \ "" "versión del sistema = \" 16.04- xenial \ ""

ovs-ctl [3560]: * Configuración de las ID del sistema Open vSwitch

ovs-ctl [3560]: 2016-01-22T08: 58: 31Z | 00001 | dpdk | INFO | No se proporciona -vhost_sock_dir - predeterminado en / var / run / openvswitch

ovs-vswitchd: ovs | 00001 | dpdk | INFO | No se proporciona -vhost_sock_dir - por defecto es / var / run / openvswitch

ovs-ctl [3560]: EAL: lcore 0 detectado como núcleo 0 en el zócalo 0 ovs-ctl [3560]: EAL: lcore 1 detectado como núcleo 1 en el zócalo 0 ovs-ctl [3560]: EAL: lcore 2 detectado como núcleo 2 en el zócalo 0 ovs-ctl [3560]: EAL: lcore 3 detectado como núcleo 3 en el zócalo 0 ovs-ctl [3560]: EAL: lcore 4 detectado como núcleo 4 en el zócalo 0



ovs-ctl [3560]: EAL: lcore 5 detectado como núcleo 5 en el zócalo 0 ovs-ctl [3560]: EAL: lcore 6 detectado como núcleo 0 en el zócalo 0 ovs-ctl [3560]: EAL: lcore 7 detectado como núcleo 1 en el zócalo 0 ovs-ctl [3560]: EAL: lcore 8 detectado como núcleo 2 en el zócalo 0 ovs-ctl [3560]: EAL: lcore 9 detectado como núcleo 3 en el zócalo 0 ovs-ctl [3560]: EAL: detectado lcore 10 como núcleo 4 en el zócalo 0 ovs-ctl [3560]: EAL: lcore 11 detectado como núcleo 5 en el zócalo 0

ovs-ctl [3560]: EAL: Admite un máximo de 128 núcleos lógicos por configuración. ovs-ctl [3560]: EAL: Detectado 12 lcore (s)

ovs-ctl [3560]: EAL: No todos los módulos VFIO están cargados, omita la compatibilidad con VFIO ... ovs-ctl [3560]: EAL: Configuración de memoria físicamente contigua ...

ovs-ctl [3560]: EAL: Pregunte a un área virtual de 0x100000000 bytes

ovs-ctl [3560]: EAL: Área virtual encontrada en 0x7f2040000000 (tamaño = 0x100000000) ovs-ctl [3560]: EAL: Solicitando 4 páginas de tamaño 1024 MB desde el zócalo 0

ovs-ctl [3560]: EAL: La frecuencia TSC es ~ 2397202 KHz

ovs-vswitchd [3592]: EAL: La frecuencia TSC es ~ 2397202 KHz

ovs-vswitchd [3592]: EAL: Master lcore 0 está listo (tid = fc6cbb00; cpuset = [0]) ovs-vswitchd [3592]: EAL: dispositivo PCI 0000: 04: 00.0 en el zócalo NUMA 0

ovs-vswitchd [3592]: EAL: controlador de sonda: 8086: 1528 rte_ixgbe_pmd

ovs-vswitchd [3592]: EAL: No administrado por un controlador de kernel compatible, se omitió ovs-vswitchd [3592]: EAL: dispositivo PCI 0000: 04: 00.1 en el socket 0 de NUMA

ovs-vswitchd [3592]: EAL: controlador de sonda: 8086: 1528 rte_ixgbe_pmd ovs-vswitchd [3592]: EAL: memoria PCI asignada a 0x7f2140000000 ovs-vswitchd [3592]: EAL: memoria PCI asignada a 0x7f2140200000

ovs-ctl [3560]: EAL: Master lcore 0 está listo (tid = fc6cbb00; cpuset = [0]) ovs-ctl [3560]: EAL: dispositivo PCI 0000: 04: 00.0 en el zócalo NUMA 0

ovs-ctl [3560]: EAL: controlador de sonda: 8086: 1528 rte_ixgbe_pmd

ovs-ctl [3560]: EAL: No administrado por un controlador de kernel compatible, se omitió ovs-ctl [3560]: EAL: Dispositivo PCI 0000: 04: 00.1 en el socket 0 de NUMA

ovs-ctl [3560]: EAL: controlador de sonda: 8086: 1528 rte_ixgbe_pmd ovs-ctl [3560]: EAL: memoria PCI asignada a 0x7f2140000000 ovs-ctl [3560]: EAL: memoria PCI asignada a 0x7f2140200000

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

ovs-vswitchd [3592]: PMD: eth_ixgbe_dev_init (): puerto 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 (): puerto 0 vendorID = 0x8086 deviceID = 0x1528 ovs-ctl [3560]: Zona 0: nombre: , 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]: Zona 2: nombre: , phys: 0x83fd43380, len: 0x2f700, virt: 0x7f213fd43380, socket_id: 0, banderas: 0

ovs-ctl [3560]: * Iniciando ovs-vswitchd

ovs-ctl [3560]: * Habilitación de administradores OVSDB remotos systemd [1]: Se inició Open vSwitch Internal Unit. systemd [1]: Iniciando Open vSwitch ... systemd [1]: Iniciando Open vSwitch.


CMD: sudo ovs-vsctl add-br ovsdpdkbr0 - establecer puente ovsdpdkbr0 datapath_type = netdev


REGISTRO DEL SISTEMA:



2016-01-22T08: 58: 56.344Z | 00008 | memoria | INFORMACIÓN | 37256 kB tamaño de conjunto residente máximo después de 24.5 segundos

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: Longitud de la pila de etiquetas MPLS probada como 3

2016-01-22T08: 58: 56.346Z | 00011 | ofproto_dpif | INFO | netdev @ ovs-netdev: Datapath admite ID de flujo únicos

2016-01-22T08: 58: 56.346Z | 00012 | ofproto_dpif | INFORMACIÓN | netdev @ ovs-netdev: Datapath no admite ct_state

2016-01-22T08: 58: 56.346Z | 00013 | ofproto_dpif | INFORMACIÓN | netdev @ ovs-netdev: Datapath no admite ct_zone

2016-01-22T08: 58: 56.346Z | 00014 | ofproto_dpif | INFORMACIÓN | netdev @ ovs-netdev: Datapath no admite ct_mark

2016-01-22T08: 58: 56.346Z | 00015 | ofproto_dpif | INFORMACIÓN | netdev @ ovs-netdev: Datapath no admite ct_label

2016-01-22T08: 58: 56.360Z | 00016 | puente | INFORMACIÓN | puente ovsdpdkbr0: interfaz agregada ovsdpdkbr0 en el puerto 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: controlador de servicio agregado "punix: / var / run / openvswitch / ovsdpdkbr0.mgmt"


REGISTRO OVS:

ovs-vsctl: ovs | 00001 | vsctl | INFORMACIÓN | Llamado como ovs-vsctl add-br ovsdpdkbr0 - establecer puente ovsdpdkbr0 datapath_type = netdev

systemd-udevd [3607]: no se pudo generar la dirección MAC persistente para ovs-netdev: no existe ese archivo o directorio

kernel: [50165.886554] dispositivo ovs-netdev entró en modo promiscuo kernel: [50165.901261] dispositivo ovsdpdkbr0 entró en modo promiscuo


CMD: sudo ovs-vsctl add-port ovsdpdkbr0 dpdk0 - establecer interfaz dpdk0 tipo = dpdk


REGISTRO DEL SISTEMA:

2016-01-22T08: 59: 06.369Z | 00019 | memoria | INFORMACIÓN | el tamaño máximo del conjunto residente creció un 155% en los últimos 10.0 segundos, de 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 | INFORMACIÓN | Creó 1 hilo pmd en el nodo numa 0 2016-01-22T08: 59: 31.522Z | 00001 | dpif_netdev (pmd16) | INFORMACIÓN | Puerto de procesamiento del núcleo 0 ' dpdk0 '

2016-01-22T08: 59: 31.522Z | 00024 | puente | INFORMACIÓN | puente ovsdpdkbr0: interfaz agregada dpdk0 en el puerto 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'


REGISTRO OVS:

ovs-vsctl: ovs | 00001 | vsctl | INFORMACIÓN | Llamado como ovs-vsctl add-port ovsdpdkbr0 dpdk0 - establecer interfaz 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 (): Usando una ruta de código tx simple ovs-vswitchd [3595]: PMD: ixgbe_set_tx_function (): Vector tx habilitado.

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 habilitado, asegúrese de que el tamaño de ráfaga de RX no sea inferior a 4 (puerto = 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 (): Usando una ruta de código tx simple ovs-vswitchd [3595]: PMD: ixgbe_set_tx_function (): Vector tx habilitado.

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 (): Usando una ruta de código tx simple ovs-vswitchd [3595]: PMD: ixgbe_set_tx_function (): Vector tx habilitado.

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 (): Usando una ruta de código tx simple ovs-vswitchd [3595]: PMD: ixgbe_set_tx_function (): Vector tx habilitado.

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 (): Usando una ruta de código tx simple ovs-vswitchd [3595]: PMD: ixgbe_set_tx_function (): Vector tx habilitado.

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 (): Usando una ruta de código tx simple ovs-vswitchd [3595]: PMD: ixgbe_set_tx_function (): Vector tx habilitado.

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 (): Usando una ruta de código tx simple ovs-vswitchd [3595]: PMD: ixgbe_set_tx_function (): Vector tx habilitado.

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 (): Usando una ruta de código tx simple ovs-vswitchd [3595]: PMD: ixgbe_set_tx_function (): Vector tx habilitado.

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 (): Usando una ruta de código tx simple ovs-vswitchd [3595]: PMD: ixgbe_set_tx_function (): Vector tx habilitado.

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 (): Usando una ruta de código tx simple ovs-vswitchd [3595]: PMD: ixgbe_set_tx_function (): Vector tx habilitado.

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 (): Usando una ruta de código tx simple ovs-vswitchd [3595]: PMD: ixgbe_set_tx_function (): Vector tx habilitado.

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 (): Usando una ruta de código tx simple ovs-vswitchd [3595]: PMD: ixgbe_set_tx_function (): Vector tx habilitado.



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 (): Usando una ruta de código tx simple ovs-vswitchd [3595]: PMD: ixgbe_set_tx_function (): Vector tx habilitado.

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 (): Usando una ruta de código tx simple ovs-vswitchd [3595]: PMD: ixgbe_set_tx_function (): Vector tx habilitado.

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 habilitado, asegúrese de que el tamaño de ráfaga de RX no sea inferior a 4 (puerto = 0).


CMD: sudo ovs-vsctl add-port ovsdpdkbr0 vhost-user-1 - establecer interfaz vhost-user-1 type = dpdkvhostuser


REGISTRO OVS:

2016-01-22T09: 00: 35.145Z | 00026 | dpdk | INFORMACIÓN | Socket / var / run / openvswitch / vhost-user-1 creado para el puerto 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

en el puerto 2


REGISTRO DEL SISTEMA:

ovs-vsctl: ovs | 00001 | vsctl | INFO | Llamado como ovs-vsctl add-port ovsdpdkbr0 vhost-user-1 - establecer interfaz vhost-user-1 type = dpdkvhostuser

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

ovs-vswitchd [3595]: VHOST_CONFIG: enlazar con / var / run / openvswitch / vhost-user-1


Eventualmente podemos ver el hilo de la encuesta en la parte superior.

PID USUARIO PR NI VIRT RES SHR S% CPU% TIEMPO MEM + COMANDO

3595 raíz 10-10 4975344 103936 9916 S 100.0 0.3 33: 13.56 ovs-vswitchd


Top OS Cloud Computing en OnWorks: