Jump To Close Expand all Collapse all Table of contents OVS-DPDK 最终用户故障排除指南 前言 1. 初步检查 2. 验证 OVS-DPDK 部署 Expand section "2. 验证 OVS-DPDK 部署" Collapse section "2. 验证 OVS-DPDK 部署" 2.1. 确认 OpenStack Expand section "2.1. 确认 OpenStack" Collapse section "2.1. 确认 OpenStack" 2.1.1. 显示网络代理 2.1.2. 显示 Compute Service 中的主机 2.2. 确认计算节点 OVS 配置 2.3. 确认用于实例配置的 OVS 2.4. 其他帮助命令 2.5. 简单 Compute 节点 CPU 分区和文件系统检查 Expand section "2.5. 简单 Compute 节点 CPU 分区和文件系统检查" Collapse section "2.5. 简单 Compute 节点 CPU 分区和文件系统检查" 2.5.1. 检测 CPU 2.5.2. 检测 PMD 线程 2.5.3. 检测 NUMA 节点 2.5.4. Detectng Isolated CPU 2.5.5. Detectng CPU Dedicated 到 Nova 实例 2.5.6. 确认 Huge Pages 配置 2.6. Packet Drops 原因 Expand section "2.6. Packet Drops 原因" Collapse section "2.6. Packet Drops 原因" 2.6.1. OVS-DPDK Too Slow to Drain physical NIC 2.6.2. VM Too Slow to Drain vhost-user 2.6.3. OVS-DPDK Too Slow to Drain vhost-user 2.6.4. Egress 物理接口上的数据包丢失 3. NFV 命令备忘单 Expand section "3. NFV 命令备忘单" Collapse section "3. NFV 命令备忘单" 3.1. UNIX 套接字 3.2. IP 3.3. OVS 3.4. IRQ 3.5. Process 3.6. KVM 3.7. CPU 3.8. NUMA 3.9. 内存 3.10. PCI 3.11. tuned 3.12. 分析过程 3.13. 块 I/O 3.14. Real Time 3.15. 安全性 3.16. Juniper Contrail vRouter 3.17. OpenStack 4. 实例 Tap 接口的 TX 队列中的高数据包丢失 Expand section "4. 实例 Tap 接口的 TX 队列中的高数据包丢失" Collapse section "4. 实例 Tap 接口的 TX 队列中的高数据包丢失" 4.1. 症状 4.2. 诊断 Expand section "4.2. 诊断" Collapse section "4.2. 诊断" 4.2.1. 临时解决方案 4.2.2. 诊断步骤 4.3. 解决方案 5. 使用 Open vSwitch DPDK 的 Instance VHU 接口上 TX Drops Expand section "5. 使用 Open vSwitch DPDK 的 Instance VHU 接口上 TX Drops" Collapse section "5. 使用 Open vSwitch DPDK 的 Instance VHU 接口上 TX Drops" 5.1. 症状 Expand section "5.1. 症状" Collapse section "5.1. 症状" 5.1.1. Packet Drops 的说明 5.1.2. 其他丢弃的说明 5.1.3. 为 DPDK 增加 TX 和 RX 队列长度 5.2. 诊断 5.3. 解决方案 6. 使用 DPDK 在 Open vSwitch 中解释 pmd-stats-show 命令的输出 Expand section "6. 使用 DPDK 在 Open vSwitch 中解释 pmd-stats-show 命令的输出" Collapse section "6. 使用 DPDK 在 Open vSwitch 中解释 pmd-stats-show 命令的输出" 6.1. 症状 6.2. 诊断 6.3. 解决方案 Expand section "6.3. 解决方案" Collapse section "6.3. 解决方案" 6.3.1. idle PMD 6.3.2. 带有数据包丢弃的 load 测试中的 PMD 6.3.3. pmD 在 loadtest 下具有 50% 的 mpps 容量 6.3.4. hit vs miss vs lost 7. 在 nova 中附加和分离 SR-IOV 端口 Expand section "7. 在 nova 中附加和分离 SR-IOV 端口" Collapse section "7. 在 nova 中附加和分离 SR-IOV 端口" 7.1. 症状 7.2. 诊断 7.3. 解决方案 8. 使用 Open vSwitch DPDK 配置和测试 LACP 绑定 Expand section "8. 使用 Open vSwitch DPDK 配置和测试 LACP 绑定" Collapse section "8. 使用 Open vSwitch DPDK 配置和测试 LACP 绑定" 8.1. 为 LACP 配置交换端口 8.2. 为 LACP 配置 Linux 内核绑定作为基线 8.3. 为 LACP 配置 OVS DPDK 绑定 Expand section "8.3. 为 LACP 配置 OVS DPDK 绑定" Collapse section "8.3. 为 LACP 配置 OVS DPDK 绑定" 8.3.1. 准备 Open vSwitch 8.3.2. 配置 LACP Bond 8.3.3. 从 OVS 启用/禁用端口 9. 使用 OVS DPDK 部署不同的绑定模式 Expand section "9. 使用 OVS DPDK 部署不同的绑定模式" Collapse section "9. 使用 OVS DPDK 部署不同的绑定模式" 9.1. 解决方案 10. 在 ovs-vsctl 显示消息中接收 Could not open network device dpdk0(不包括这样的设备) Expand section "10. 在 ovs-vsctl 显示消息中接收 Could not open network device dpdk0(不包括这样的设备)" Collapse section "10. 在 ovs-vsctl 显示消息中接收 Could not open network device dpdk0(不包括这样的设备)" 10.1. 症状 10.2. 诊断 10.3. 解决方案 11. 可用主机内存页面不足,可使用 Open vSwitch DPDK 分配客户机 RAM Expand section "11. 可用主机内存页面不足,可使用 Open vSwitch DPDK 分配客户机 RAM" Collapse section "11. 可用主机内存页面不足,可使用 Open vSwitch DPDK 分配客户机 RAM" 11.1. 症状 11.2. 诊断 Expand section "11.2. 诊断" Collapse section "11.2. 诊断" 11.2.1. 诊断步骤 11.3. 解决方案 12. 使用 perf 和 Collect 对 OVS DPDK PMD CPU 使用情况进行故障排除并发送故障排除数据 Expand section "12. 使用 perf 和 Collect 对 OVS DPDK PMD CPU 使用情况进行故障排除并发送故障排除数据" Collapse section "12. 使用 perf 和 Collect 对 OVS DPDK PMD CPU 使用情况进行故障排除并发送故障排除数据" 12.1. 诊断 Expand section "12.1. 诊断" Collapse section "12.1. 诊断" 12.1.1. pmD Threads 12.1.2. 附加数据 12.1.3. Open vSwitch 日志 13. 在带有 NFV 的虚拟环境中使用 virsh 模拟器 Expand section "13. 在带有 NFV 的虚拟环境中使用 virsh 模拟器" Collapse section "13. 在带有 NFV 的虚拟环境中使用 virsh 模拟器" 13.1. 症状 13.2. 解决方案 Expand section "13.2. 解决方案" Collapse section "13.2. 解决方案" 13.2.1. qemu-kvm Emulator Threads 13.2.2. 默认行为线程线程处理 13.2.3. OpenStack nova 中模拟线程的当前实施(OpenStack Platform 10) 13.2.4. 关于在 Emulator Thread scheduling 上 isolcpus 的影响 13.2.5. 模拟线程的最佳位置 Expand section "13.2.5. 模拟线程的最佳位置" Collapse section "13.2.5. 模拟线程的最佳位置" 13.2.5.1. 使用 DPDK 网络使用 DPDK 网络的最佳部署线程的放置于 Open vSwitch 中的实例和 netdev 数据路径 13.2.5.2. 使用 DPDK 网络在 Open vSwitch 中的实例和系统数据路径中优化调度线程的放置 13.2.5.3. 在实例内使用 Kernel Networking 和 Open vSwitch 中的 netdev 数据路径的最佳放置(Mulator Threads) 13.3. 诊断 Expand section "13.3. 诊断" Collapse section "13.3. 诊断" 13.3.1. 演示环境 13.3.2. Emulatorpin 的工作原理 Settings Close Language: 한국어 日本語 简体中文 English Language: 한국어 日本語 简体中文 English Format: Multi-page Single-page Format: Multi-page Single-page Language and Page Formatting Options Language: 한국어 日本語 简体中文 English Language: 한국어 日本語 简体中文 English Format: Multi-page Single-page Format: Multi-page Single-page Red Hat Training A Red Hat training course is available for Red Hat OpenStack Platform OVS-DPDK 最终用户故障排除指南 Red Hat OpenStack Platform 10包含 OVS-DPDK 端到端故障排除步骤的指南摘要 OVS-DPDK 系统管理员的流程来识别和解决与 Red Hat OpenStack Platform 10 中数据包丢失相关的问题。 Next