5.9 الدعم واستكشاف الأخطاء وإصلاحها
DPDK هو مشروع سريع التطور. في أي حالة من حالات البحث عن الدعم والأدلة الأخرى ، يوصى بشدة بالتحقق أولاً مما إذا كانت تنطبق على الإصدار الحالي.
• القوائم البريدية DPDK38
• لقوائم OpenVswitch-DPDK البريدية39
• المشكلات المعروفة في منطقة إطلاق DPDK40
• انضم إلى قنوات IRC #DPDK أو #openvswitch على freenode.
غالبًا ما ترجع المشكلات إلى فقد التفاصيل الصغيرة في الإعداد العام. في وقت لاحق ، تتسبب هذه التفاصيل المفقودة في حدوث مشكلات يصعب تعقب سببها الجذري. يبدو أن إحدى الحالات الشائعة هي مشكلة "تعذر فتح جهاز الشبكة dpdk0 (لا يوجد مثل هذا الجهاز)". يحدث هذا في وقت متأخر إلى حد ما عند إعداد منفذ في Open vSwitch مع DPDK. لكن السبب الجذري في معظم الأوقات يكون مبكرًا جدًا في الإعداد والتهيئة. فيما يلي مثال على كيفية ظهور التهيئة المناسبة للجهاز - يمكن العثور على هذا في سجل النظام / دفتر اليومية عند بدء Open vSwitch مع تمكين DPDK.
ovs-ctl [3560]: EAL: جهاز PCI 0000: 04: 00.1 على NUMA socket 0 ovs-ctl [3560]: EAL: برنامج تشغيل التحقيق: 8086: 1528 rte_ixgbe_pmd ovs-ctl [3560]: EAL: تم تعيين ذاكرة PCI على 0x7f2140000000 ovs-ctl [3560]: EAL: تم تعيين ذاكرة PCI على 0x7f2140200000
39 http://openvswitch.org/mlists
40 https://bugs.launchpad.net/ubuntu/+source/dpdk
إذا كان هذا مفقودًا ، إما بسبب البطاقات التي تم تجاهلها أو فشل التهيئة أو لأسباب أخرى ، فلن يكون هناك جهاز DPDK للرجوع إليه لاحقًا. لسوء الحظ ، ينتشر التسجيل عبر syslog / journal و openvswitch log. للسماح ببعض التدقيق هنا ، مثال على ما يمكن العثور عليه في هذه السجلات ، بالنسبة للأمر الذي تم إدخاله.
# ملاحظة: تم التقاط هذا السجل باستخدام dpdk 2.2 و openvswitch 2.5 Captions:
CMD: أن تدخل
SYSLOG: (تضمين رسائل EAL و OVS) OVS-LOG: (رسائل Openvswitch)
#تحضير
اربط واجهة ببرامج تشغيل DPDK UIO ، واجعل Hugepages متاحة ، وقم بتمكين DPDK على OVS
CMD: إعادة تشغيل sudo service openvswitch-switch
سجل:
2016-01-22T08: 58: 31.372Z | 00003 | daemon_unix (الشاشة) | INFO | pid 3329 مات ، قُتل (تم الإنهاء) ، الخروج
2016-01-22T08: 58: 33.377Z | 00002 | مدونة فيديو | معلومات | فتح ملف السجل / var / log / openvswitch / ovs- vswitchd.log
2016-01-22T08: 58: 33.381Z | 00003 | ovs_numa | معلومات | اكتشف 12 نواة لوحدة المعالجة المركزية على عقدة NUMA 0 2016-01-22T08: 58: 33.381Z | 00004 | ovs_numa | INFO | اكتشف 1 عقدة NUMA و 12 نواة وحدة المعالجة المركزية 2016-01-22T08: 58: 33.381Z | 00005 | إعادة الاتصال | INFO | unix: /var/run/openvswitch/db.sock:
توصيل...
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:
systemd [1]: إيقاف فتح vSwitch ... systemd [1]: Stopped Open vSwitch.
systemd [1]: إيقاف الوحدة الداخلية المفتوحة vSwitch ... ovs-ctl [3541]: * Killing ovs-vswitchd (3329)
ovs-ctl [3541]: * Killing ovsdb-server (3318) systemd [1]: Stopped Open vSwitch Internal Unit. systemd [1]: بدء تشغيل الوحدة الداخلية لـ Open vSwitch ... ovs-ctl [3560]: * بدء تشغيل خادم ovsdb
ovs-vsctl: ovs | 00001 | vsctl | INFO | يسمى ovs-vsctl - no-wait - init - set Open_vSwitch. نسخة ديسيبل = 7.12.1
ovs-vsctl: ovs | 00001 | vsctl | INFO | يسمى ovs-vsctl - no-wait set Open_vSwitch. ovs- الإصدار = 2.5.0 "المعرفات الخارجية: معرف النظام = \" e7c5ba80-bb14-45c1-b8eb-628f3ad03903 \ "" "نوع النظام = \" Ubuntu \ "" "إصدار النظام = \" 16.04- زينال \ ""
ovs-ctl [3560]: * تكوين معرفات نظام Open vSwitch
ovs-ctl [3560]: 2016-01-22T08: 58: 31Z | 00001 | dpdk | INFO | No -vhost_sock_dir متوفر - التقصير إلى / var / run / openvswitch
ovs-vswitchd: ovs | 00001 | dpdk | INFO | No -vhost_sock_dir مقدم - الافتراضي إلى / var / run / openvswitch
ovs-ctl [3560]: EAL: تم اكتشاف lcore 0 كنواة 0 على المقبس 0 ovs-ctl [3560]: EAL: تم اكتشاف lcore 1 باعتباره النواة 1 في المقبس 0 ovs-ctl [3560]: EAL: تم اكتشاف lcore 2 باعتباره جوهرًا 2 on socket 0 ovs-ctl [3560]: EAL: تم اكتشاف lcore 3 مثل core 3 على المقبس 0 ovs-ctl [3560]: EAL: تم اكتشاف lcore 4 كنواة 4 في المقبس 0
ovs-ctl [3560]: EAL: تم اكتشاف lcore 5 مثل النواة 5 على المقبس 0 ovs-ctl [3560]: EAL: تم اكتشاف lcore 6 باعتباره النواة 0 في المقبس 0 ovs-ctl [3560]: EAL: تم اكتشاف lcore 7 كنواة 1 على المقبس 0 ovs-ctl [3560]: EAL: تم اكتشاف lcore 8 مثل core 2 على المقبس 0 ovs-ctl [3560]: EAL: تم اكتشاف lcore 9 كـ core 3 على المقبس 0 ovs-ctl [3560]: EAL: تم اكتشافه lcore 10 as core 4 on socket 0 ovs-ctl [3560]: EAL: تم اكتشاف lcore 11 مثل core 5 على المقبس 0
ovs-ctl [3560]: EAL: دعم بحد أقصى 128 نواة منطقية عن طريق التكوين. ovs-ctl [3560]: EAL: تم اكتشاف 12 lcore (s)
ovs-ctl [3560]: EAL: لم يتم تحميل جميع وحدات VFIO ، تخطي دعم VFIO ... ovs-ctl [3560]: EAL: إعداد ذاكرة متصلة فعليًا ...
ovs-ctl [3560]: EAL: اسأل منطقة افتراضية 0x100000000 بايت
ovs-ctl [3560]: EAL: تم العثور على المنطقة الافتراضية على 0x7f2040000000 (الحجم = 0x100000000) ovs-ctl [3560]: EAL: طلب 4 صفحات بحجم 1024 ميغا بايت من المقبس 0
ovs-ctl [3560]: EAL: تردد TSC ~ 2397202 كيلو هرتز
ovs-vswitchd [3592]: EAL: تردد TSC ~ 2397202 كيلو هرتز
ovs-vswitchd [3592]: EAL: Master lcore 0 جاهز (tid = fc6cbb00؛ cpuset = [0]) ovs-vswitchd [3592]: EAL: جهاز PCI 0000: 04: 00.0 على NUMA socket 0
ovs-vswitchd [3592]: EAL: برنامج تشغيل التحقيق: 8086: 1528 rte_ixgbe_pmd
ovs-vswitchd [3592]: EAL: غير مُدار بواسطة برنامج تشغيل kernel مدعوم ، تم تخطي ovs-vswitchd [3592]: EAL: جهاز PCI 0000: 04: 00.1 على NUMA socket 0
ovs-vswitchd [3592]: EAL: برنامج تشغيل التحقيق: 8086: 1528 rte_ixgbe_pmd ovs-vswitchd [3592]: EAL: ذاكرة PCI المعينة على 0x7f2140000000 ovs-vswitchd [3592]: EAL: تم تعيين ذاكرة PCI على 0x7f2140200000
ovs-ctl [3560]: EAL: Master lcore 0 جاهز (tid = fc6cbb00؛ cpuset = [0]) ovs-ctl [3560]: EAL: جهاز PCI 0000: 04: 00.0 على NUMA socket 0
ovs-ctl [3560]: EAL: برنامج تشغيل التحقيق: 8086: 1528 rte_ixgbe_pmd
ovs-ctl [3560]: EAL: لا تتم إدارته بواسطة برنامج تشغيل kernel مدعوم ، تم تخطي ovs-ctl [3560]: EAL: جهاز PCI 0000: 04: 00.1 على NUMA socket 0
ovs-ctl [3560]: EAL: برنامج تشغيل التحقيق: 8086: 1528 rte_ixgbe_pmd ovs-ctl [3560]: EAL: ذاكرة PCI المعينة على 0x7f2140000000 ovs-ctl [3560]: EAL: تم تعيين ذاكرة PCI على 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]: المنطقة 0: الاسم: ، فيز: 0x83fffdec0 ، لين: 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]: المنطقة 2: الاسم: ، فيز: 0x83fd43380 ، لين: 0x2f700 ، Virt: 0x7f213fd43380 ، socket_id: 0 ، الأعلام: 0
ovs-ctl [3560]: * بدء تشغيل ovs-vswitchd
ovs-ctl [3560]: * تمكين نظام مديري OVSDB عن بُعدd [1]: بدء الوحدة الداخلية المفتوحة vSwitch. systemd [1]: بدء فتح vSwitch ... systemd [1]: بدأ فتح vSwitch.
CMD: sudo ovs-vsctl add-br ovsdpdkbr0 - تعيين الجسر ovsdpdkbr0 datapath_type = netdev
سجل:
2016-01-22T08: 58: 56.344Z | 00008 | الذاكرة | معلومات | 37256 كيلو بايت ذروة حجم مجموعة المقيم بعد 24.5 ثانية
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: تم فحص طول مكدس تسمية MPLS كـ 3
2016-01-22T08: 58: 56.346Z | 00011 | ofproto_dpif | INFO | netdev @ ovs-netdev: Datapath يدعم معرفات التدفق الفريدة
2016-01-22T08: 58: 56.346Z | 00012 | ofproto_dpif | INFO | netdev @ ovs-netdev: Datapath لا يدعم ct_state
2016-01-22T08: 58: 56.346Z | 00013 | ofproto_dpif | INFO | netdev @ ovs-netdev: Datapath لا يدعم ct_zone
2016-01-22T08: 58: 56.346Z | 00014 | ofproto_dpif | INFO | netdev @ ovs-netdev: Datapath لا يدعم ct_mark
2016-01-22T08: 58: 56.346Z | 00015 | ofproto_dpif | INFO | netdev @ ovs-netdev: Datapath لا يدعم ct_label
2016-01-22T08: 58: 56.360Z | 00016 | جسر | معلومات | جسر ovsdpdkbr0: واجهة مضافة ovsdpdkbr0 على المنفذ 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: وحدة تحكم الخدمة المضافة "Punix: / var / run / openvswitch / ovsdpdkbr0.mgmt"
سجل OVS:
ovs-vsctl: ovs | 00001 | vsctl | INFO | يسمى ovs-vsctl add-br ovsdpdkbr0 - تعيين جسر ovsdpdkbr0 datapath_type = netdev
systemd-udevd [3607]: تعذر إنشاء عنوان MAC ثابت لـ ovs-netdev: لا يوجد مثل هذا الملف أو الدليل
kernel: [50165.886554] دخل جهاز ovs-netdev إلى نواة الوضع المختلط: [50165.901261] دخل الجهاز ovsdpdkbr0 إلى الوضع المختلط
CMD: sudo ovs-vsctl add-port ovsdpdkbr0 dpdk0 - ضبط الواجهة نوع dpdk0 = dpdk
سجل:
2016-01-22T08: 59: 06.369Z | 00019 | الذاكرة | INFO | نما حجم مجموعة المقيمين الذروة بنسبة 155 ٪ في آخر 10.0 ثانية ، من 37256 كيلو بايت إلى 95008 كيلو بايت
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 | معلومات | تم إنشاء سلاسل 1 pmd على العقدة الرقمية 0 2016-01-22T08: 59: 31.522Z | 00001 | dpif_netdev (pmd16) | INFO | Core 0 Processing port ' dpdk0 '
2016-01-22T08: 59: 31.522Z | 00024 | جسر | معلومات | جسر ovsdpdkbr0: واجهة مضافة dpdk0 على المنفذ 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:
ovs-vsctl: ovs | 00001 | vsctl | INFO | يسمى ovs-vsctl add-port ovsdpdkbr0 dpdk0 - تعيين واجهة نوع dpdk0 = 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 (): استخدام مسار كود tx بسيط ovs-vswitchd [3595]: PMD: ixgbe_set_tx_function (): تم تمكين Vector tx.
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 ، يرجى التأكد من أن حجم انفجار RX لا يقل عن 4 (المنفذ = 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 (): استخدام مسار كود tx بسيط ovs-vswitchd [3595]: PMD: ixgbe_set_tx_function (): تم تمكين Vector tx.
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 (): استخدام مسار كود tx بسيط ovs-vswitchd [3595]: PMD: ixgbe_set_tx_function (): تم تمكين Vector tx.
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 (): استخدام مسار كود tx بسيط ovs-vswitchd [3595]: PMD: ixgbe_set_tx_function (): تم تمكين Vector tx.
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 (): استخدام مسار كود tx بسيط ovs-vswitchd [3595]: PMD: ixgbe_set_tx_function (): تم تمكين Vector tx.
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 (): استخدام مسار كود tx بسيط ovs-vswitchd [3595]: PMD: ixgbe_set_tx_function (): تم تمكين Vector tx.
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 (): استخدام مسار كود tx بسيط ovs-vswitchd [3595]: PMD: ixgbe_set_tx_function (): تم تمكين Vector tx.
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 (): استخدام مسار كود tx بسيط ovs-vswitchd [3595]: PMD: ixgbe_set_tx_function (): تم تمكين Vector tx.
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 (): استخدام مسار كود tx بسيط ovs-vswitchd [3595]: PMD: ixgbe_set_tx_function (): تم تمكين Vector tx.
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 (): استخدام مسار كود tx بسيط ovs-vswitchd [3595]: PMD: ixgbe_set_tx_function (): تم تمكين Vector tx.
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 (): استخدام مسار كود tx بسيط ovs-vswitchd [3595]: PMD: ixgbe_set_tx_function (): تم تمكين Vector tx.
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 (): استخدام مسار كود tx بسيط ovs-vswitchd [3595]: PMD: ixgbe_set_tx_function (): تم تمكين Vector tx.
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 (): استخدام مسار كود tx بسيط ovs-vswitchd [3595]: PMD: ixgbe_set_tx_function (): تم تمكين Vector tx.
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 (): استخدام مسار كود tx بسيط ovs-vswitchd [3595]: PMD: ixgbe_set_tx_function (): تم تمكين Vector tx.
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 ، يرجى التأكد من أن حجم انفجار RX لا يقل عن 4 (المنفذ = 0).
CMD: sudo ovs-vsctl add-port ovsdpdkbr0 vhost-user-1 - Set Interface vhost-user-1 type = dpdkvhostuser
سجل OVS:
2016-01-22T09: 00: 35.145Z | 00026 | dpdk | معلومات | Socket / var / run / openvswitch / vhost-user-1 تم إنشاؤه لمنفذ 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
على المنفذ 2
سجل:
ovs-vsctl: ovs | 00001 | vsctl | INFO | يسمى ovs-vsctl add-port ovsdpdkbr0 vhost-user-1 - set Interface vhost-user-1 type = dpdkvhostuser
ovs-vswitchd [3595]: VHOST_CONFIG: تم إنشاء المقبس ، fd: 46
ovs-vswitchd [3595]: VHOST_CONFIG: ربط بـ / var / run / openvswitch / vhost-user-1
في النهاية يمكننا رؤية موضوع الاستطلاع في الأعلى
PID USER PR NI VIRT RES SHR S٪ CPU٪ MEM TIME + COMMAND
3595 جذر 10-10 4975344 103936 9916 S 100.0 0.3 33: 13.56 ovs-vswitchd