OnWorks Linux ו-Windows Online WorkStations

לוגו

אירוח מקוון בחינם עבור תחנות עבודה

<הקודם | תוכן | הבא>

5.9. תמיכה ופתרון בעיות


DPDK הוא פרויקט שמתפתח במהירות. בכל מקרה של חיפוש תמיכה ומדריכים נוספים מומלץ מאוד לבדוק תחילה אם הם חלים על הגרסה הנוכחית.

• רשימות דיוור של DPDK38

• עבור OpenVswitch-DPDK OpenStack רשימות דיוור39

• בעיות ידועות באזור Launchpad של DPDK40

• הצטרף לערוצי ה-IRC #DPDK או #openvswitch ב-freenode.


בעיות נובעות לרוב מפרטים קטנים חסרים בהגדרה הכללית. מאוחר יותר, הפרטים החסרים הללו גורמים לבעיות שקשה לאתר אותן לשורש שלהן. נראה כי מקרה שכיח הוא בעיית "לא ניתן היה לפתוח את התקן הרשת dpdk0 (אין מכשיר כזה)". זה קורה מאוחר למדי בעת הגדרת יציאה ב- Open vSwitch עם DPDK. אבל הסיבה העיקרית לרוב היא מוקדם מאוד בהגדרה ובאתחול. הנה דוגמה איך נראה אתחול נכון של התקן - ניתן למצוא זאת ב-syslog/journal בעת הפעלת Open vSwitch עם DPDK מופעל.


ovs-ctl[3560]: EAL: התקן PCI 0000:04:00.1 על שקע NUMA 0 ovs-ctl[3560]: EAL: מנהל התקן בדיקה: 8086:1528 rte_ixgbe_pmd ovs-ctl[3560] P0 זיכרון: EAL:7 ממופה ב-P2140000000 ovs-ctl[3560]: EAL: זיכרון PCI ממופה ב-0x7f2140200000


תמונה

38 http://dpdk.org/ml

39 http://openvswitch.org/mlists

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


אם זה חסר, בין אם בגלל כרטיסים שהתעלמו מהם, אתחול כושל או סיבות אחרות, מאוחר יותר לא יהיה מכשיר DPDK להתייחס אליו. לרוע המזל, הרישום מפוזר על פני syslog/journal ויומן openvswitch. כדי לאפשר בדיקה צולבת כאן דוגמה מה ניתן למצוא ביומנים הללו, ביחס לפקודה שהוזנה.


#הערה: יומן זה צולם עם כתוביות dpdk 2.2 ו-openvswitch 2.5:

CMD: שאתה נכנס

SYSLOG: (כולל הודעות EAL ו-OVS) OVS-LOG: (הודעות Openvswitch)


#הכנה

קשר ממשק למנהלי התקנים של DPDK UIO, הפוך את Hugepages לזמין, הפעל את DPDK ב-OVS


CMD: שירות sudo openvswitch-switch הפעלה מחדש


SYSLOG:

2016-01-22T08:58:31.372Z|00003|daemon_unix(monitor)|INFO|pid 3329 מת, נהרג (מופסק), יוצא

2016-01-22T08:58:33.377Z|00002|vlog|INFO|קובץ יומן נפתח /var/log/openvswitch/ovs- vswitchd.log

2016-01-22T08:58:33.381Z|00003|ovs_numa|INFO|גילו 12 ליבות מעבד בצומת NUMA 0 2016-01-22T08:58:33.381Z|00004|1|INFO_num 12CPU ו-2016|OVS_NUM 01-22-08T58:33.381:00005Z|XNUMX|התחבר מחדש|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-LOG:

systemd[1]: עצירת Open vSwitch... systemd[1]: הפסקת Open vSwitch.

systemd[1]: עצירת יחידה פנימית של vSwitch פתוחה... ovs-ctl[3541]: * הרג ovs-vswitchd (3329)

ovs-ctl[3541]: * הרג ovsdb-server (3318) systemd[1]: הופסק פתח את vSwitch Internal Unit. systemd[1]: הפעלת יחידה פנימית של vSwitch פתוחה... ovs-ctl[3560]: * הפעלת ovsdb-server

ovs-vsctl: ovs|00001|vsctl|INFO|נקרא כ-ovs-vsctl --no-wait -- init -- set Open_vSwitch . db-version=7.12.1

ovs-vsctl: ovs|00001|vsctl|INFO|נקרא כ-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- קסניאל\""

ovs-ctl[3560]: * הגדרת מזהי מערכת Open vSwitch

ovs-ctl[3560]: 2016-01-22T08:58:31Z|00001|dpdk|INFO|לא מסופק -vhost_sock_dir - ברירת המחדל היא /var/run/openvswitch

ovs-vswitchd: ovs|00001|dpdk|INFO|לא מסופק -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 בשקע 0 ovs-ctl[3560]: EAL: זוהה את lcore 3 בתור ליבה 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 כליבה 2 בשקע 0 ovs-ctl[3560]: EAL: זוהה lcore 9 בתור ליבה 3 בשקע 0 ovs-ctl[3560]: EAL: זוהה lcore 10 בתור ליבה 4 בשקע 0 ovs-ctl[3560]: EAL: זוהה את lcore 11 בתור ליבה 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 דפים בגודל 1024MB משקע 0

ovs-ctl[3560]: EAL: תדר TSC הוא ~2397202 KHz

ovs-vswitchd[3592]: EAL: תדר TSC הוא ~2397202 KHz

ovs-vswitchd[3592]: EAL: Master lcore 0 מוכן (tid=fc6cbb00;cpuset=[0]) ovs-vswitchd[3592]: EAL: התקן PCI 0000:04:00.0 על שקע NUMA 0

ovs-vswitchd[3592]: EAL: מנהל בדיקה: 8086:1528 rte_ixgbe_pmd

ovs-vswitchd[3592]: EAL: לא מנוהל על ידי מנהל התקן ליבה נתמך, דילג על ovs-vswitchd[3592]: EAL: התקן PCI 0000:04:00.1 בשקע NUMA 0

ovs-vswitchd[3592]: EAL: מנהל הבדיקה של בדיקה: 8086:1528 rte_ixgbe_pmd ovs-vswitchd[3592]: EAL: זיכרון PCI ממופה ב-0x7f2140000000 ovs-vswitchd מופה ב-3592x0f7.

ovs-ctl[3560]: EAL: Master lcore 0 מוכן (tid=fc6cbb00;cpuset=[0]) ovs-ctl[3560]: EAL: התקן PCI 0000:04:00.0 בשקע NUMA 0

ovs-ctl[3560]: EAL: מנהל בדיקה: 8086:1528 rte_ixgbe_pmd

ovs-ctl[3560]: EAL: לא מנוהל על ידי מנהל התקן ליבה נתמך, דילג על ovs-ctl[3560]: EAL: התקן PCI 0000:04:00.1 בשקע NUMA 0

ovs-ctl[3560]: EAL: מנהל בדיקה: 8086:1528 rte_ixgbe_pmd ovs-ctl[3560]: EAL: זיכרון PCI ממופה ב-0x7f2140000000 ovs-ctl[3560]: EAL: זיכרון PCI ממופה ב-0x7f2140200000 ovs-ctl[XNUMX]: EAL: זיכרון PCI ממופה ב-XNUMXxXNUMXfXNUMX

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

ovs-vswitchd[3592]: PMD: eth_ixgbe_dev_init(): יציאה 0 vendorID=0x8086 deviceID=0x1528 ovs-ctl[3560]: PMD: eth_ixgbe_dev_init(): MAC: 4, PHY:

ovs-ctl[3560]: PMD: eth_ixgbe_dev_init(): יציאה 0 vendorID=0x8086 deviceID=0x1528 ovs-ctl[3560]: אזור 0: שם: , 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]: אזור 2: שם: , phys:0x83fd43380, len:0x2f700, virt:0x7f213fd43380, socket_id:0, flags:0

ovs-ctl[3560]: * הפעלת ovs-vswitchd

ovs-ctl[3560]: * הפעלת מנהלי OVSDB מרוחקים systemd[1]: הופעל פתח את vSwitch Internal Unit. systemd[1]: הפעלת Open vSwitch... systemd[1]: הופעל פתח vSwitch.


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


SYSLOG:



2016-01-22T08:58:56.344Z|00008|זיכרון|INFO|37256 kB שיא גודל תושב סט לאחר 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: נתיב נתונים תומך במזהי זרימה ייחודיים

2016-01-22T08:58:56.346Z|00012|ofproto_dpif|INFO|netdev@ovs-netdev: נתיב הנתונים אינו תומך ב-ct_state

2016-01-22T08:58:56.346Z|00013|ofproto_dpif|INFO|netdev@ovs-netdev: נתיב הנתונים אינו תומך ב-ct_zone

2016-01-22T08:58:56.346Z|00014|ofproto_dpif|INFO|netdev@ovs-netdev: נתיב הנתונים אינו תומך ב-ct_mark

2016-01-22T08:58:56.346Z|00015|ofproto_dpif|INFO|netdev@ovs-netdev: נתיב הנתונים אינו תומך ב-ct_label

2016-01-22T08:58:56.360Z|00016|גשר|INFO|גשר 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-LOG:

ovs-vsctl: ovs|00001|vsctl|INFO|נקרא כ-ovs-vsctl add-br ovsdpdkbr0 -- set bridge ovsdpdkbr0 datapath_type=netdev

systemd-udevd[3607]: לא ניתן ליצור כתובת MAC קבועה עבור ovs-netdev: אין קובץ או ספרייה כאלה

ליבה: [50165.886554] device ovs-netdev נכנס למצב מופקר ליבה: [50165.901261] device ovsdpdkbr0 נכנס למצב מופקר


CMD: sudo ovs-vsctl add-port ovsdpdkbr0 dpdk0 -- הגדר ממשק dpdk0 type=dpdk


SYSLOG:

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|INFO|יצר שרשורים של 1 pmd ב-numa node 0 2016-01-22T08:59:31.522Z|00001|dpif_16) יציאה '0|dpif_0)in process | dpdkXNUMX'

2016-01-22T08:59:31.522Z|00024|bridge|INFO|bridge 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-LOG:

ovs-vsctl: ovs|00001|vsctl|INFO|נקרא כ-ovs-vsctl add-port ovsdpdkbr0 dpdk0 -- הגדר ממשק 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(): שימוש בנתיב קוד tx פשוט ovs-vswitchd[3595]: PMD: ixgbe_set_tx_function(): וקטור 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(): וקטור 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(): וקטור 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(): וקטור 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(): וקטור 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(): וקטור 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(): וקטור 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(): וקטור 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(): וקטור 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(): וקטור 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(): וקטור 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(): וקטור 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(): וקטור 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(): וקטור 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(): וקטור 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(): וקטור rx מופעל, אנא ודא שגודל פרץ RX לא פחות מ-4 (יציאה=0).


CMD: sudo ovs-vsctl add-port ovsdpdkbr0 vhost-user-1 -- הגדר ממשק vhost-user-1 type=dpdkvhostuser


OVS-LOG:

2016-01-22T09:00:35.145Z|00026|dpdk|INFO|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


SYSLOG:

ovs-vsctl: ovs|00001|vsctl|INFO|נקרא כ-ovs-vsctl add-port ovsdpdkbr0 vhost-user-1 -- הגדר ממשק 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+ פקודה

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


מחשוב ענן מערכת ההפעלה המוביל ב-OnWorks: